yii2.0发送qq邮件详情配置
首先要想使用qq发送邮件必须打开使用的qq邮箱里的一个配置,
在页面里往下拉会看到
这两项就是配置是否允许网页代码发送接受邮件,
接下来就该配置项目里的配置文件了,在 common\config\main.local.php 更改,
在文件里的components里添加配置:
//发邮件配置 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'useFileTransport' =>false, //这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'smtp.qq.com', //每种邮箱的host配置不一样 'username' => '自己的qq号码@qq.com',//邮箱账号 'password' => '*******',//邮箱密码(填授权码!!!) 'port' => '465', //端口号 'encryption' => 'ssl', //加密方式 ], 'messageConfig'=>[ 'charset'=>'UTF-8', 'from'=>['admin@*****.com'=>'admin'] ], ],
添加好配置后就可以写控制器方法了:
public function actionMail() { $mail=Yii::$app->mailer->compose() ->setFrom([1111111@qq.com'=>'王晓明']) //和上面的from字段相对应 可以只写一个 ->setTo('2222222@qq.com') //发送给谁 ->setSubject('标题测试邮件') //邮件标题 ->setTextBody('明天考试'); //发布纯文字文本 // ->setHtmlBody("<br>问我我我我我"); //发布可以带html标签的文本 if ($mail->send()) { echo "发送成功"; }else{ echo "失败"; } }
上面是测试的demo,真正应用时方法写成活值,
不用额外单独去继承什么东西或者model,
ok,这样就可以发送邮件了
如需加载模板 把$mail= Yii::$app->mailer->compose();
修改成 $mail= Yii::$app->mailer->compose('xiaoma',['aa'=>222]);
注:aa是想xiaoma.php里面传递的参数。
邮件模板 xiaoma.php里面的代码 :
<?php use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $user common\models\User */ $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $aa]); ?> < a href="#" ><?php echo $resetLink ?></a>
加载模板的邮件代码:
$mail= Yii::$app->mailer->compose('xiaoma',['aa'=>222]); $mail->setTo('1401619705@qq.com'); $mail->setSubject("邮件测试"); $mail->setTextBody('zheshisha '); if($mail->send()) echo "success"; else echo "failse"; die();
以上就是整理的发送邮件的内容,希望对学习yii2.0的伙伴们能有所帮助。
注:本文由王智磊(王大宝儿)整理编写,也参考借鉴了很多大神的笔记,分享代码,分享成功,欢迎各位交流和转载,转载请注明出处(博客园:王大宝儿)http://www.cnblogs.com/wangzhilei/