解决Yii2邮件发送结果返回成功,但接收不到邮件
网络编程 2021-07-05 08:23www.168986.cn编程入门
最近在使用Yii2发送邮件的时候遇到了一个问题,发送返回提示成功但并没有收到邮件,所以通过查找相关的资料,狼蚁网站SEO优化这篇文章就来给大家介绍了关于如何解决Yii2邮件发送结果返回成功,但接收不到邮件的问题,需要的朋友可以参考下。
前言
本文主要介绍的是关于解决Yii2邮件发送返回成功但接收不到邮件问题的相关内容,分享出来供大家参考学习,狼蚁网站SEO优化来看看详细的介绍
刚刚用了一下yii邮件发送功能,虽然结果返回成功,但接收不到邮件。
配置文件代码如下
'ponents' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yiidemo', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', ], 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@mon/mail', // send all mails to a file by default. You have to set // 'useFileTransport' to false and configure a transport // for the mailer to send real emails. 'useFileTransport' => true, 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'smtp.qq.', 'username' => '@qq.', 'password' => '', 'port' => '465', 'encryption' => 'ssl', ], ], ],
控制器代码
public $modelClass = 'mon\models\User'; public function actions() { $actions = parent::actions(); // 禁用"create" 操作后可用自己在控制器中写的方法 unset($actions['update'],$actions['create'],$actions['delete']); //$actions['index']['prepareDataProvider'] = [$this, 'prepareDataProvider']; return $actions; } public function actionCreate(){ $request = Yii::$app->request; $params = $request->post(); if($params){ $fromName = $request->getBodyParam('fromName'); $fromBady = $request->getBodyParam('fromBady'); $toName = $request->getBodyParam('toName'); $body = $request->getBodyParam('body'); return $this->send($fromName,$fromBady,$toName,$body); } return false; } / Email Send function @param1 $fromName @param1 $toName @param1 $body $return boo1ean / public function send($fromName,$fromBady,$toName,$body = ''){ $mail = \Yii::$app->mailer->pose() ->setFrom([$fromName=>$fromBady]) ->setTo($toName) ->setSubject('邮件发送配置') ->setTextBody($body) //发布纯文字文本 ->send(); if($mail){ return [ 'name' => [ 'fromName' => $fromName, 'fromBady' => $fromBady, 'toName' => $toName, 'body' => $body, ], 'message' => '发生到['.$toName.']的邮件成功!', 'code' => 0, 'status' => 200, ]; }else{ return [ 'name' => 'Error', 'message' => '发生到'.$toName.'的邮件失败!', 'code' => 0, 'status' => 402, ]; } }
你会发现数据返回是成功的你却没收到邮件
解决方法
这是你应该把
'useFileTransport' => true
改成 'useFileTransport' => false
,
并且你的邮箱密码是qq授权码(到你邮箱中的设置->账户 查看)
通过以上努力你会成功接收邮件!
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对狼蚁SEO的支持。
上一篇:PHP创建单例后台进程的方法示例
下一篇:yii 2.0中表单小部件的使用方法示例
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指