解决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 相关文章推荐
自己前几天写的无限分类类
Feb 14 PHP
php网页后退不再出现过期
Mar 08 PHP
PHP的几个常用数字判断函数代码
Apr 24 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
php语法检查的方法总结
Jan 21 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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基础学习笔记
2007/03/18 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
jquery JSON的解析方式
2009/07/25 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
jquery图片切换插件
2015/03/16 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
Python with语句和过程抽取思想
2019/12/23 Python
利用python实现逐步回归
2020/02/24 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
什么是索引指示器
2012/08/20 面试题
活动总结的格式
2014/05/07 职场文书
监察建议书格式
2014/05/19 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
nginx之内存池的实现
2022/06/28 Servers