Yii:在没有连接的情况下调用了 Mail()
Yii: Called Mail() without being connected
我正在尝试使用 PHPMailer
在 Yii
中发送电子邮件。我正在使用实时服务器。这是我在 Yii's
main.php
:
中的电子邮件配置
'Smtpmail' => array(
'class' => 'application.extensions.smtpmail.PHPMailer',
'Mailer' => 'smtp',
'SMTPAuth' => true,
),
这是我得到的错误:
The following From address failed: noreply@mywebsite.com : Called
Mail() without being connected
这是我的控制器代码:
$mail->IsHTML(true);
$mail->From = Yii::app()->params['adminEmail'];
$mail->FromName = empty($_POST['EmailForm']["from_name"])
Yii::app()->params['emailFrom'] : $_POST['EmailForm']["from_name"];
$mail->Subject = $subject;
$mail->Body = nl2br($message) . $mail->Body;
$mail->AddAddress($to);
$mail->AddCC($cc);
if (!$mail->Send()) {
Yii::app()->user->setFlash('error', $mail->ErrorInfo);
$this->redirect(array('update', 'id' => $id));
}
else {
Yii::app()->user->setFlash('success', "Email sent successfully!");
$this->redirect(array('update', 'id' => $id));
}
有什么帮助吗?
您启用了身份验证但未提供 ID 或密码,这似乎不太可能起作用。您还将提交者的地址设置为发件人地址,这也可能会失败,因为它是伪造的,不会通过 SPF 检查。将您自己的地址设置为发件人地址,并将提交者放在回复中。
除此之外,启用调试输出(SMTPDebug = 2
在 PHPMailer 中 - 我不确定你是如何在 Yii 中设置它的)这样你就可以看到 SMTP 对话。
我正在尝试使用 PHPMailer
在 Yii
中发送电子邮件。我正在使用实时服务器。这是我在 Yii's
main.php
:
'Smtpmail' => array(
'class' => 'application.extensions.smtpmail.PHPMailer',
'Mailer' => 'smtp',
'SMTPAuth' => true,
),
这是我得到的错误:
The following From address failed: noreply@mywebsite.com : Called Mail() without being connected
这是我的控制器代码:
$mail->IsHTML(true);
$mail->From = Yii::app()->params['adminEmail'];
$mail->FromName = empty($_POST['EmailForm']["from_name"])
Yii::app()->params['emailFrom'] : $_POST['EmailForm']["from_name"];
$mail->Subject = $subject;
$mail->Body = nl2br($message) . $mail->Body;
$mail->AddAddress($to);
$mail->AddCC($cc);
if (!$mail->Send()) {
Yii::app()->user->setFlash('error', $mail->ErrorInfo);
$this->redirect(array('update', 'id' => $id));
}
else {
Yii::app()->user->setFlash('success', "Email sent successfully!");
$this->redirect(array('update', 'id' => $id));
}
有什么帮助吗?
您启用了身份验证但未提供 ID 或密码,这似乎不太可能起作用。您还将提交者的地址设置为发件人地址,这也可能会失败,因为它是伪造的,不会通过 SPF 检查。将您自己的地址设置为发件人地址,并将提交者放在回复中。
除此之外,启用调试输出(SMTPDebug = 2
在 PHPMailer 中 - 我不确定你是如何在 Yii 中设置它的)这样你就可以看到 SMTP 对话。