解决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 相关文章推荐
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
用php解析html的实现代码
Aug 08 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
php之curl设置超时实例
Nov 03 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
如何在PHP中读写文件
Sep 07 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
如何开发一个虚拟域名系统
2006/10/09 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
Python实现多并发访问网站功能示例
2017/06/19 Python
python操作列表的函数使用代码详解
2017/12/28 Python
Python贪心算法实例小结
2018/04/22 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
社区志愿者活动方案
2014/08/18 职场文书
法定代表人身份证明书
2014/09/10 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
股份转让协议书范本
2015/01/27 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android