预期的响应代码250,但得到代码“530”,消息“530 5.7.1认证需要

时间:2018-01-19 12:25:36

标签: php laravel laravel-5

我尝试在laravel

上配置SMTP邮件时遇到此错误

here is the error

这是.env

上的配置
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=fff3c01db52ee0
MAIL_PASSWORD=feaeda91dc9ab6
MAIL_ENCRYPTION=TLS

here is  my mail.php on config 我已经尝试在env上验证SMTP,但我一直得到相同的错误,所以现在堆栈就出现了错误

8 个答案:

答案 0 :(得分:19)

你的mail.php在配置上你将主机声明为smtp.mailgun.org,端口是587,而env则不同。你需要将mail.php改为

'host'=> env('MAIL_HOST','mailtrap.io'),

'port'=> env('MAIL_PORT',2525),

如果你想使用mailtrap。然后运行

php artisan config:cache

答案 1 :(得分:3)

这基本上是由于电子邮件设置配置错误而导致的身份验证错误。

转到<applicationInitialization doAppInitAfterRestart="true"> <add initializationPage="/" /> </applicationInitialization> 文件

更改

.env

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

MAIL_USERNAME和PASSWORD应该分别替换为您的Gmail电子邮件地址和密码。登录到您的Google帐户,转到安全设置并启用允许安全级别较低的应用切换按钮。

然后转到您的项目根目录并运行以下命令:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com    
MAIL_PORT=465    
MAIL_USERNAME=ENTER_YOUR_EMAIL_ADDRESS(GMAIL)    
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD    
MAIL_ENCRYPTION=ssl

。请参阅

this guide 以获得帮助和澄清(注意:对于 MAIL_HOST ,请使用smtp.gmail.com)

答案 2 :(得分:2)

我看到您拥有所有正确的设置。您只需要结束本地Web服务器,然后使用

重新启动即可。
php artisan serve

每次更改.env文件时,都需要重新启动服务器才能使新选项生效。

或者使用

清除并缓存您的配置
php artisan config:cache

答案 3 :(得分:0)

我相信这已经在某些部分得到了回答,只需使用gmail测试您的“ MAIL_HOST”,别忘了清除缓存。设置如下: 首先,您需要在google security处设置两步验证。将会出现一个“应用程序密码”链接,您可以获取您的应用程序密码以插入“ MAIL_PASSWORD”下方。有关获取App Password here

的更多信息
MAIL_DRIVER=sendmail
MAIL_FROM_ADDRESS=noreply@domain.com
MAIL_FROM_NAME=DomainName
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=YOUR_GMAIL@gmail.com
MAIL_PASSWORD=YOUR_GMAIL_CREATED_APP_PASSWORD
MAIL_ENCRYPTION=tls

清除缓存:

php artisan config:cache

答案 4 :(得分:0)

是的,如果您尝试了上述所有解决方案(更有可能发生),但对您都不起作用,则可能是未安装Guzzle。

Laravel附带了邮寄工具,Guzzle框架是必需的,但是不会安装它,并且,根据文档,必须手动安装: https://laravel.com/docs/master/mail#driver-prerequisites

composer require guzzlehttp/guzzle

答案 5 :(得分:0)

如果要使用默认的mailtrip.io,则无需修改mail.php文件。

  1. 在mailtrip.io上创建帐户
  2. 转到收件箱>我的收件箱> SMTP设置>集成Laravel
  3. 修改.env文件并替换所有null个正确的凭据:
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
  1. 运行:
php artisan config:cache

如果您使用的是Gmail,则有关Gmail的说明: https://stackoverflow.com/a/64582540/7082164

答案 6 :(得分:-1)

第123行上的

\ config \ backup.php

    'mail' => [
        'to' => '',
    ],

答案 7 :(得分:-1)

php artisan config:clear   

(非缓存)