通过yii2自带的mailer来发送邮件。
具体步骤如下:
1.配置文件(主要关注mail那部分的配置,需要配置在组件里面):
return [
'components' => [
'mail' => [
'class' => 'extensions\mailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.163.com', //smtp服务器
'username' => '邮件名',//发送邮件的邮箱名
'password' => '密码',//账号对应的密码
'port' => '25',
'encryption' => 'tls',//表示用tls加密
],
],
],
];
使用发送邮件部分: 加载的模板是放到compose这个方法里面,然后里面模板的路径是用相对路径的,如你发送邮件的脚本是放到console目录下的,你的layouts和模板都会加载到console里面。
$result = \Yii::$app->mailer->compose($tmpList[$data['type']], $params)
->setSubject($title)
->setFrom('noreply@hithink.com')
->setTo($data['email'])
->send();
上面的compose方法主要 yii /vender/yiisoft/yii2/mail/BaseMailer.php