【发布时间】:2017-07-15 01:51:50
【问题描述】:
我在尝试使用 smtp 从本地主机发送邮件时遇到以下错误:
预期的响应代码为 250,但得到代码“503”,消息为“503 5.5.4” 错误:先发送 AUTH 命令。 "
.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.com
MAIL_PORT=465
MAIL_USERNAME=robot@domain.com
MAIL_PASSWORD=11111111
MAIL_ENCRYPTION=ssl
MAIL_FROM=robot@domain.com
MAIL_NAME=MY.NAME
config/mail.php
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.yandex.com'),
'port' => env('MAIL_PORT', 465),
'from' => [
'address' => 'robot@domain.com',
'name' => 'MY.NAME',
],
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('robot@domain.com'),
'password' => env('11111111'),
'sendmail' => '/usr/sbin/sendmail -bs',
];
尝试过:更改端口、加密、清除缓存、重新启动服务器以所有可能的组合。 :) 正如我所看到的,我还需要将一个参数传递给邮件程序库。有点像
auth_mode=login_first
这可以通过 laravel 设置来完成吗?
【问题讨论】:
-
您可以更改为
MAIL_ENCRYPTION=null。但后来我得到了Expected response code 250 but got code "", with message ""也可以考虑使用nice and free mail catcher 进行开发。并且不要忘记清除配置缓存php artisan config:cache -
我尝试完全不设置加密,但没有帮助。另外,我认为这个特定的 smtp 服务器需要 ssl。在过去的几个小时里,我尝试了 mailgun、mandrill、sparkpost 并且得到了更多的错误。这不应该那么困难,对吧? :)
标签: php laravel email smtp laravel-5.4