解决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日历[测试通过]
Mar 27 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
解析如何用php screw加密php源代码
Jun 20 PHP
php跨域cookie共享使用方法
Feb 20 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
详解PHP队列的实现
Mar 14 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 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
Look And Say 序列php实现代码
2011/05/22 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python中的sort()方法使用基础教程
2017/01/08 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python实现弹窗祝福效果
2019/04/07 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
美国最大网上鞋店:Zappos
2016/07/25 全球购物
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
摄影实习自我鉴定
2013/09/20 职场文书
理工科学生的自我评价
2013/12/15 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
Pytest中conftest.py的用法
2021/06/27 Python
Python集合的基础操作
2021/11/01 Python