解决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授权码(到你邮箱中的设置->账户 查看)
通过以上努力你会成功接收邮件!
解决Yii2邮件发送问题(结果返回成功,但接收不到邮件)的更多相关文章
- System.Net邮件发送功能踩过的坑
System.Net邮件发送功能踩过的坑 目录 System.Net邮件发送功能踩过的坑 1.EazyEmail邮件发送类库 2.邮件发送授权码与邮件密码 3.通过邮件密码来发送邮件 4.Wiresh ...
- php邮件发送 phpmailer
首先要安装phpmailer开源项目. 将class.phpmailer.php转移到php文件夹下, 编写代码: <?php require("class.phpmailer.php ...
- 构建自己的PHP框架(邮件发送)
完整项目地址:https://github.com/Evai/Aier 我们采用 'nette/mail' 包作为我们的邮件发送基础模块,在它的基础上封装一个 'Mail' 类,暴露出简洁的 API ...
- java 邮件发送工具类
首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...
- Spring Boot整合邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...
- IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 (一)
邮件发送功能总结 第一部分 背景 一.使用场景 (1)注册验证 注册各大网站,通常需要输入邮件地址,在注册成功后,会发送一封邮箱验证的邮件,点击确认,证明这个邮箱是用户自己的 ...
- javaMail 邮件发送和接收示例,支持正文图片、html、附件(转)
转自:https://blog.csdn.net/star_fly4/article/details/52037587 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文 ...
- Python写自己主动化之邮件发送(匿名)
为了可以实现邮件发送功能.首先.我们须要了解一下邮件的发送过程是什么样子的,此处不再具体说明,请大家自行搜索或查看p=438">http://www.sogouqa.com/?p=43 ...
- ASP.NET 邮件发送
ASP.NET 邮件发送用NET的MAIL类即可实现. 邮件发时,为不影响进程,所以采用多线程实现比较好. /// <summary> /// 多线程邮件发送 多线程需注意不要引用到外部方 ...
- Java实现邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <depende ...
随机推荐
- IE报vuex requires a Promise polyfill in this browser问题解决
使用Vuex, IE浏览器报错 因为使用了 ES6 中用来传递异步消息的的Promise,而IE低版本的浏览器不支持. ##解决方法 第一步: 安装 babel-polyfill . babel-po ...
- highcharts的多级下钻以及图形形态转换
<script src="https://img.hcharts.cn/jquery/jquery-1.8.3.min.js"></script> < ...
- 设计一个神经网络记住Or运算(日志一)
由于公式书写太过麻烦,所以上传设计的手稿过程,为如下:
- sublime设置 快捷键(自动换行)
一.菜单view > word wrap选上就好了 二.如果让编辑器默认是自动换行的话把它保存到配置中 Preference > Settings-User插入以下一行配置 "w ...
- jQuery css操作
jQuery操作css的元素样式 1.访问匹配元素的样式属性 来个小案例: <div id="div" style="width:200px;height:200p ...
- NSA永恒之蓝病毒,如何通过360工具修复?
简介: NSA武器库的公开被称为是网络世界"核弹危机",其中有十款影响Windows个人用户的黑客工具,包括永恒之蓝.永恒王者.永恒浪漫.永恒协作.翡翠纤维.古怪地鼠.爱斯基摩卷. ...
- 使用Browserify来实现CommonJS的浏览器加载
前面的话 Nodejs的模块是基于CommonJS规范实现的,可不可以应用在浏览器环境中呢? var math = require('math'); math.add(2, 3); 第二行math.a ...
- KafKa+Zookeeper+Flume部署脚本
喜欢学习的朋友可以收藏 愿意了解框架技术或者源码的朋友直接加求求(企鹅):2042849237
- three.js粒子效果(分别基于CPU&GPU实现)
前段时间做了一个基于CPU和GPU对比的粒子效果丢在学习WebGL的群里,技术上没有多作讲解,有同学反馈看不太懂GPU版本,干脆开一篇文章,重点讲解基于GPU开发的版本. 一.概况 废话不多说,先丢上 ...
- 关于c#邮件发送的简单例子
这里所说的发送邮件,以发送qq邮件为例. 首先我们先要在自己的邮箱配置好如下选项: