解决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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
PHP开启gzip页面压缩实例代码
Mar 11 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
一些php技巧与注意事项分析
Feb 03 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
学习php开源项目的源码指南
Dec 21 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
laravel 解决强制跳转 https的问题
Oct 22 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
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
PHP7变量处理机制修改
2021/03/09 PHP
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
js实现返回顶部效果
2017/03/10 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
python实现ftp客户端示例分享
2014/02/17 Python
Python Property属性的2种用法
2015/06/21 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
python reverse反转部分数组的实例
2018/12/13 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
Python数据可视化之画图
2019/01/15 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
python 用 xlwings 库 生成图表的操作方法
2019/12/22 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
存储过程和函数的区别
2013/05/28 面试题
三个Unix的命令面试题
2015/04/12 面试题
控制工程专业个人求职信
2013/09/25 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
大学生自荐材料范文
2014/12/30 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书