解决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 class类的用法详细总结
Oct 17 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
PHP实现简单汉字验证码
Jul 28 PHP
php无序树实现方法
Jul 28 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
PHP身份证校验码计算方法
Aug 10 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
php 人员权限管理(RBAC)实例(推荐)
May 24 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
php之可变变量的实例详解
Sep 12 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
Dec 13 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边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP中使用BigMap实例
2015/03/30 PHP
php实现倒计时效果
2015/12/19 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
asp批量修改记录的代码
2008/06/25 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python修改字典键(key)的方法
2019/08/05 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
为什么要使用servlet
2016/01/17 面试题
迟到检讨书5000字
2014/01/31 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
公司出纳岗位职责
2015/03/31 职场文书
活动新闻稿范文
2015/07/17 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python