解决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部分常见问题总结
Oct 09 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
Nov 10 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
php简单操作mysql数据库的类
Apr 16 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
PHP ADODB实现分页功能简单示例
May 25 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
PHP递归算法的简单实例
Feb 28 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
php操作redis数据库常见方法实例总结
Feb 20 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
php foreach 参数强制类型转换的问题
2010/12/10 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python算法应用实战之栈详解
2017/02/04 Python
Apache如何部署django项目
2017/05/21 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Django的Modelforms用法简介
2019/07/27 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
海量信息软件测试笔试题
2015/08/08 面试题
爱国主义教育演讲稿
2014/08/26 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
Python Socket编程详解
2021/04/25 Python
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫