解决Yii2邮件发送结果返回成功,但接收不到邮件的问题


Posted in PHP onMay 23, 2017

前言

本文主要介绍的是关于解决Yii2邮件发送返回成功但接收不到邮件问题的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

刚刚用了一下yii邮件发送功能,虽然结果返回成功,但接收不到邮件。

配置文件代码如下:

'components' => [
 'db' => [
  'class' => 'yii\db\Connection',
  'dsn' => 'mysql:host=localhost;dbname=yiidemo',
  'username' => 'root',
  'password' => 'root',
  'charset' => 'utf8',
 ],
 'mailer' => [
  'class' => 'yii\swiftmailer\Mailer',
  'viewPath' => '@common/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.com', 
   'username' => '********@qq.com', 
   'password' => '********',
   'port' => '465', 
   'encryption' => 'ssl', 
  ], 
 ],
],

控制器代码:

public $modelClass = 'common\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->compose()
  ->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授权码(到你邮箱中的设置->账户 查看)

通过以上努力你会成功接收邮件!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
用php过滤危险html代码的函数
Jul 22 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
PHP多态代码实例
Jun 26 PHP
浅析PHP数据导出知识点
Feb 17 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
PHP7 字符串处理机制修改
Mar 09 PHP
yii 2.0中表单小部件的使用方法示例
May 23 #PHP
php实现留言板功能(会话控制)
May 23 #PHP
php实现文件预览功能
May 23 #PHP
PHP写的简单数字验证码实例
May 23 #PHP
php实现评论回复删除功能
May 23 #PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 #PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 #PHP
You might like
如何给phpadmin一个保护
2006/10/09 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
jquery判断密码强度的验证代码
2020/04/22 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
Python中unittest用法实例
2014/09/25 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
小学生演讲稿大全
2014/04/25 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
Python利用capstone实现反汇编
2022/04/06 Python
Go语言 详解net的tcp服务
2022/04/14 Golang