预期的响应代码250,但代码为“530”,消息“530-5.5.1需要验证

时间:2018-02-09 11:14:21

标签: php laravel email

我正在尝试为注册用户发送电子邮件验证,但我收到以下错误:

  

预期的响应代码250但得到代码“530”,消息“530-5.5.1   需要验证。了解更多信息,请访问\ r \ n 530 5.5.1   https://support.google.com/mail/?p=WantAuthError v11sm5345109pgt.0 -   gsmtp \ r \ n

我已经尝试了所有可能的方法,启用“不太安全”和其他说明但不了解错误。请帮我解决问题。

我的.env文件是:

enter image description here

我的控制器:

enter image description here

我的mail.php:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => env('MAIL_FROM_ADDRESS', 'myaccount@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'), ],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('myaccount@gmail.com'),
'password' => env('*******'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => FALSE,

1 个答案:

答案 0 :(得分:1)

问题出在mail.php,请使用此代码而不是

...
'driver' => env('MAIL_DRIVER', 'smtp'),
'host'   => env('MAIL_HOST', 'smtp.gmail.com'),
'port'   => env('MAIL_PORT', 587),
'from'   => [
   'address' => env('MAIL_FROM_ADDRESS', 'myaccount@gmail.com'),
   'name' => env('MAIL_FROM_NAME', 'Example')
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME', 'myaccount@gmail.com'),
'password' => env('MAIL_PASSWORD', '*******'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => FALSE,
...

修改 env()辅助方法的第一个参数是name of environment variable,如果找不到该变量,则第二个参数是回退值。之所以不起作用,是因为Laravel无法在名称environmentmyaccount@gmail.com下找到*******变量。