打开配置文件将下面代码添加到 components => [...]中(例:高级版默认配置在/common/config/main-local.php)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'mailer'
=> [
'class'
=>
'yii\swiftmailer\Mailer'
,
'viewPath'
=>
'@common/mail'
,
'useFileTransport'
=> false,
//这里一定要改成false,不然邮件不会发送
'transport'
=> [
'class'
=>
'Swift_SmtpTransport'
,
'host'
=>
'smtp.163.com'
,
'username'
=>
'xianan_huang@163.com'
,
'password'
=>
'*********'
,
//如果是163邮箱,此处要填授权码
'port'
=>
'25'
,
'encryption'
=>
'tls'
,
],
],
|
在控制器中调用:
1
2
3
4
5
6
7
8
9
10
11
|
$mail
= \Yii::
$app
->mailer->compose()
->setFrom([
'xianan_huang@163.com'
=>
'Yii 中文网'
])
->setTo(
'391430388@qq.com'
)
->setSubject(
'邮件发送配置'
)
//->setTextBody('Yii中文网教程真好 www.yii-china.com') //发布纯文字文本
->setHtmlBody(
"<br>Yii中文网教程真好!www.yii-china.com"
)
//发布可以带html标签的文本
->send();
if
(
$mail
)
echo
'success'
;
else
echo
'fail'
;
|
注意:很多报错原因都是因为163邮箱的smtp没有开,进入邮箱设置一下
默认不开启smtp要绑定手机之后才能开启
开启之后会给你一个授权密码,只会发送一次,要保存好,然后在上面密码出写上授权密码,并非邮箱密码。