我正在使用Yii 2
并使用base mailer class中的邮件程序,并且大多数情况下它工作正常,但有时它无法发送.....所以我的代码就像:
// Let's start composing the message
$mail = Yii::$app->mailer->compose($view_data, $view_params);
//.........
// Send the message
$send = $mail->send();
有时$send
是false
,但我不知道你怎么知道为什么它是假的?有没有办法让错误导致错误?
答案 0 :(得分:3)
如果您要发送多个收件人邮件,则应检查是否有失败:http://swiftmailer.org/docs/sending.html#getting-failures-by-reference,例如: :
if (Yii::$app->mailer->getSwiftMailer()->send($message->getSwiftMessage(), $failures))
{
// do what you want with $failures var
}
如果你真的想在你的yii应用程序中处理smtp错误,你应该使用swiftmailer logger插件:http://swiftmailer.org/docs/plugins.html#logger-plugin
PS:首先我会检查yii和smtp日志,看看发生了什么样的错误......