我正在尝试为注册用户发送电子邮件验证,但我收到以下错误:
预期的响应代码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
文件是:
我的控制器:
我的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,
答案 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无法在名称environment
和myaccount@gmail.com
下找到*******
变量。