当前位置: 首页 > news >正文

yii2邮件配置教程,报Expected response code 250 but got code 553原因

 

main.php(或main-local.php)或者web.php中的邮件配置如下:

'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' => false,//false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件

    'transport' => [
        'class' => 'Swift_SmtpTransport',
        'host' => 'smtp.163.com',  //每种邮箱的host配置不一样
        'username' => 'zhong_mail_test',
        'password' => '**********',//163邮箱的授权码
        'port' => '25',
        'encryption' => 'tls',

    ],
    'messageConfig'=>[
        'charset'=>'UTF-8',
        'from'=>['zhong_mail_test@163.com'=>'zhong-mail']
    ],

],

发送邮件的代码如下:

return Yii::$app
    ->mailer
    ->compose(
        ['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'],
        ['user' => $user]
    )
    ->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])
    ->setTo($this->email)
    ->setSubject('Password reset for ' . Yii::$app->name)
    ->send();

 

如就按照上述配置会报:

Expected response code 250 but got code "553", with message "553 Mail from must equal authorized user
"

这是因为有些邮件服务器要求from和username必须一致,163邮箱就是这样。

为避免这个问题,我们可以将发件代码中的setFrom设置去掉,或者在param.php(或param-local.php)中配置supportEmail参数:

'supportEmail' => 'zhong_mail_test@163.com'

这样就能成功发送邮件了。

 

转载于:https://www.cnblogs.com/jerrypro/p/6835963.html

相关文章:

  • ICON 收集
  • hibernate3 和hibernate4的一点小变动
  • 荣获MVP感想
  • 错误简单记录
  • js读取本地txt文件中的json数据
  • HDU 2141 Can you find it?(二分)
  • 201521123083《Java程序设计》第12周学习总结
  • 【DP】:CF #319 (Div. 2) B. Modulo Sum
  • Druid连接池及监控在spring中的配置
  • 文本强制一行显示,多余的显示省略号
  • 设计模式之适配器模式(Adapter)
  • Linux tomcat
  • 我所认识的javascript正则表达式
  • eclipes 下 mavenweb项目 启动 jar包冲突问题
  • Open-DrainPush-Pull
  • Git同步原始仓库到Fork仓库中
  • Java编程基础24——递归练习
  • java概述
  • js 实现textarea输入字数提示
  • magento 货币换算
  • mongodb--安装和初步使用教程
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • python3 使用 asyncio 代替线程
  • Python学习之路13-记分
  • webpack+react项目初体验——记录我的webpack环境配置
  • 阿里云前端周刊 - 第 26 期
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 实现简单的正则表达式引擎
  • 我看到的前端
  • 携程小程序初体验
  • HanLP分词命名实体提取详解
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • ()、[]、{}、(())、[[]]命令替换
  • (9)目标检测_SSD的原理
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (篇九)MySQL常用内置函数
  • (三)uboot源码分析
  • (十一)手动添加用户和文件的特殊权限
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)http协议
  • (转)socket Aio demo
  • (转)我也是一只IT小小鸟
  • (转载)Linux 多线程条件变量同步
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net 怎么循环得到数组里的值_关于js数组
  • .net 中viewstate的原理和使用
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • :O)修改linux硬件时间
  • @GetMapping和@RequestMapping的区别