解决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 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
浅析Yii2集成富文本编辑器redactor实例教程
Apr 25 PHP
PHP中的表达式简述
May 29 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
详解Laravel服务容器的优势
May 29 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流量统计功能的实现代码
2012/09/29 PHP
php中session使用示例
2014/03/29 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
分享给Python新手们的几道简单练习题
2017/09/21 Python
Python中装饰器学习总结
2018/02/10 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
文员求职信
2014/07/15 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android