发件人地址失败:调用Mail()而未连接

时间:2015-12-31 06:20:30

标签: email yii smtp

我想在Yii Framework中使用SMTP邮件从localhost发送电子邮件。我已经将PhpMailer复制到扩展文件夹中了。我按照教程设置main.php如下

'components'=>array(

    'Smtpmail'=>array(
        'class'=>'application.extensions.smtpmail.PHPMailer',
        'Host'=>"smtp.gmail.com",
        'Username'=>'myGmail@gmail.com',
        'Password'=>'myPassword',
        'Mailer'=>'smtp',
        'Port'=>465,
        'SMTPAuth'=>true, 
        'SMTPSecure' => 'ssl'
    ),

然后,在我的控制器中:

            $mail=Yii::app()->Smtpmail;
            $mail->SetFrom('myGmail@gmail.com', 'My Name');
            $mail->Subject= $subject;
            $mail->MsgHTML($email);
            $mail->AddAddress($to, "");

浏览器给我一个错误: 以下发件人地址失败:myGmail@gmail.com:调用Mail()而未连接。 这有什么问题?

1 个答案:

答案 0 :(得分:1)

for smtp.gmail.com尝试使用587作为端口,使用tls作为SMTPsecure

'Smtpmail'=>array(
    'class'=>'application.extensions.smtpmail.PHPMailer',
    'Host'=>"smtp.gmail.com",
    'Username'=>'myGmail@gmail.com',
    'Password'=>'myPassword',
    'Mailer'=>'smtp',
    'Port'=>'587',    // or 587
    //'SMTPAuth'=>true, 
    'SMTPAuth'=>false, 
    'SMTPSecure' => 'tls'
),