Yii2-发送邮件
发送邮件
在配置文件 config/web.php $config的components中修改以下代码:
'mailer' => [
'class' => \yii\symfonymailer\Mailer::class,
'transport' => [
'dsn' => 'smtp://用户名:密码@smtp.qq.com:465',
],
'viewPath' => '@app/mail',
// send all mails to a file by default.
'useFileTransport' => false,
]
controller控制器中发邮件代码:
public function actionSendmail() {
$mail = Yii::$app->mailer->compose('layouts/html');
$mail->setFrom('****@qq.com');
$mail->setTo("****@qq.com");
$mail->setSubject("邮件测试");
$mail->setHtmlBody("<p style='color: red'>测试邮件,内容</p>"); //TODO 当为setTextBody时纯文本时,body内容为空,目前没找到原因
if($mail->send()){
echo Json::encode(['status'=>'ok','msg'=>'邮件发送成功']);
}else{
echo Json::encode(['status'=>'error','msg'=>'邮件发送失败']);
}
}