被这个错误坑了两次,感觉一定要总结出来了TAT
错误情况
Expected response code 250 but got code "553", with message "553 Mail from must equal authorized user "
这里以163网易邮件为例
ps.当然出现这个问题的原因不一定是我所说的注意事项,请对号入座
错误原因
因为Laravel的.env
中的默认配置项只有以下几项
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_authorization_code
MAIL_ENCRYPTION=ssl
这里要注意的是在MAIL_PASSWORD这一栏中我写的是授权码而不是密码,这里的授权码需要去163中设置,不详述。
但是我们注意一下config/mail.php
中有两项
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
这里的MAIL_FROM_ADDRESS
,MAIL_FROM_NAME
在配置文件中是没有的。所以我们应该加到.env
中
MAIL_FROM_ADDRESS填写你的邮件,MAIL_FROM_ADDRESS填写你的名字(可任取)
然后重启一下服务器即可。