今天有个需求需要发送邮件使用了下YII2的发送邮件。配置好之后,测试代码运行报服务器内部错误。
配置文件:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.qq.com',
'username' => '***',
'password' => '**',
'port' => '25',
'encryption' => 'tls',
],
'messageConfig'=>[
'charset'=>'UTF-8',
'from'=>['***'=>'admin']
],
]
使用qq发送。。
控制器代码:
$mail = Yii::$app->mailer->compose();
$mail->setTo('****@qq.com');
$mail->setSubject("test");
$mail->setHtmlBody("测试测试");
if ($mail->send())
echo "成功";
else
echo "失败";
die();
运行报错,send()
方法不能正确执行,这是什么原因。
我使用正常,骚年你的配置也是OK的,你确定你QQ邮箱smtp打开了??还有要注意你的端口啊。
用ActionMailer
啊,可参考 http://guides.rubyonrails.org/action_mailer_basics.html 这里。
我也是用的163发的,之前是可以,到后来不知道为什么,报了服务器内部错误,纠结了好半天,后来改用了系统内置的sendmail发送了
根据这篇东西,我试着简化了一下,是可以的。
为什么我的怎么也不行啊要不就是内部错误要不就是超时
感觉你的SMTP不对;
我之前用163,qq,sohu,都在报错,后来索性用live,前面的问题好多都没了,就是挺慢的,有时候注册了过个十几分钟才收的到验证邮箱