AbstractSmtpTransport.php第383行中的Swift_TransportException:预期响应代码250,但代码为“535”,

时间:2016-01-07 04:06:09

标签: gmail laravel-5.1 sendmail

这是引发我的错误:

AbstractSmtpTransport.php第383行中的Swift_TransportException: 预期的响应代码250,但代码为“535”,消息“535-5.7.8用户名和密码不被接受。了解更多信息 535 5.7.8 https://support.google.com/mail/answer/14257 px4sm26723732oec.7 - gsmtp “

我在帐户中启用了“允许安全性较低的应用”,但我没有启用两步验证功能。 是的,我已经做了“显示解锁Captcha”配置,没有任何改变。 请有人帮助我。

这是我的.env代码:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME="my mail"
MAIL_PASSWORD="my password"
MAIL_ENCRYPTION=tls

这是我的mail.php代码:

return [
    'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    'port' => env('MAIL_PORT', 587),
    'from' => ['address' => "my mail", 'name' => null],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('my password'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
];

3 个答案:

答案 0 :(得分:0)

您是在使用Homestead还是在Live Server上工作。对于他们两个,您可以跟进我的步骤。 您可以使用Guzzle和MailGun来测试是否在服务器中发送了外发电子邮件。 您必须设置如何集成Guzzle和MailGun的几个步骤来自此链接:https://laravel.com/docs/5.1/mail。我也有相同的错误第一,我已经测试过这个,现在它对我很好。 对于邮件部分,我的.env文件将如下所示。

MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=2525
MAIL_USERNAME="YOUR MAIL GUN USER NAME"
MAIL_PASSWORD="YOUR MAIL GUN PASSWORD"
MAIL_ENCRYPTION="YOUR NEEDED ENCRYPTION TYPE" (Eg. tls/ssl)
MAIL_FROM="FROM MAIL ID"
MAIL_NAME="YOUR NAME AS IN THE FROM MAIL ID"
MAILGUN_DOMAIN="YOUR MAIL GUN DOMAIN FOR THAT PROJECT"
MAILGUN_SECRET="YOUR MAIL GUN SECRET KEY"

端口:2525用于Homestead,您可以根据您的加密方法使用465/587。 确保你的config.php文件对你在.env中提供的所有输入都有env()函数

答案 1 :(得分:0)

有同样的问题,在我的情况下它需要旧的凭证,而不是从.env文件读取,所以使用php artisan cmd清除缓存和配置,然后运行正常。

arr[j + 1] = arr[j];

答案 2 :(得分:0)

我今天的情况几乎相同 - 不同之处在于我几天前让我的php / swiftmailer工作,没有改变我的G Suite帐户和PHP代码,但今天没有。尝试了一些我从在线搜索和stackoverflow.com获得的方法,但没有工作。最后,有效的解决方案是转到G Suite管理控制台 - >安全 - >基本设置 - >安全性较低的应用 - >选择第三个:强制访问不太安全的应用程序。在此之后,我的发送邮件PHP代码再次工作。希望它有所帮助。