发送邮件
来源:互联网 发布:代徐敬业知乎 编辑:程序博客网 时间:2024/05/19 02:30
原来看到很多发送邮件的教程,但由于自己是新手,总找不到对应的文件位置,最终搞出来了邮件发送。
1、了解事件
事件跟JavaScript中的时间相同,用户的某种行为触发后,反馈给某种动作。
2、邮件发送(通过事件)
(1)建立回调函数,就是用户触发后的行为
//对应文件位置,不懂的话,自己去参考PHP命名空间 namespace backend\components; use Yii; class Mail { public static function sendMail($event){ $mail=Yii::$app->mailer->compose(); $mail->setTo($event->email); $mail->setSubject($event->email); $mail->setTextBody($event->content); return $mail->send(); } }
(2)定义事件并触发
namespace backend\controllers; use Yii; use yii\web\Controller; use backend\components\event\MailEvent; class SendMailController extends Controller{ const SEND_MAIL='send_mail'; public function init(){ parent::init(); $this->on(self::SEND_MAIL,['backend\components\Mail','sendMail']); } public function actionSend(){ //触发邮件事件 $event=new MailEvent(); $event->email='1280371035@qq.com'; $event->subject='事件邮件测试'; $event->content='邮件测试内容'; $this->trigger(self::SEND_MAIL,$event); } }
(3)在(1)步骤中的回调函数接受了一下参数,需要创建一个类来传递这些参数,参数必须是yii\base\Event或者其子类
namespace backend\components\event; use yii\base\Event; class MailEvent extends Event{ public $subject; public $email; public $content; }
(4)配置后可以实现发送邮件\common\config\main-local.php
'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@common/mail', 'useFileTransport' => false, 'transport'=>[ 'class'=>'Swift_SmtpTransport', 'host'=>'smtp.qq.com', 'username'=>'128*******@qq.com', 'password'=>'qq邮箱授权码,百度去', 'port'=>'25', 'encryption'=>'tls', ], 'messageConfig'=>[ 'charset'=>'UTF-8', 'from'=>['128******@qq.com'=>'自己想的名字'], ], ],
阅读全文
0 0
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 发送邮件
- 邮件发送
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 邮件发送
- 邮件发送
- 发送邮件
- 邮件发送
- 邮件发送
- 发送邮件
- 发送邮件
- 发送邮件
- Linux下搭建集群环境(4)-----------linux下安装nginx
- [PPPOE]PPPD分析
- 深入了解Delphi 7中的四种消息框
- QGroundControl地面站二次开发环境搭建(win+linux+android)
- MongoDB--操作符
- 发送邮件
- [PPPOE]PPPD的选项
- Unity 相机跟随人物移动而移动,利用插值实现
- .net core 基于 dapper 扩展的操作 mysql
- 接入层、汇聚层和核心层交换机
- GibbsLDA++使用记录
- Caffe学习系列(2):数据层及参数
- windows上的软件安装清单
- 121. Best Time to Buy and Sell Stock