我正在尝试为注册用户发送电子邮件验证,但我收到以下错误:
预期的响应代码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', '[email protected]'),
'name' => env('MAIL_FROM_NAME', 'Example'), ],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('[email protected]'),
'password' => env('*******'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => FALSE,
问题在于你的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', '[email protected]'),
'name' => env('MAIL_FROM_NAME', 'Example')
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME', '[email protected]'),
'password' => env('MAIL_PASSWORD', '*******'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => FALSE,
...
编辑:env()
辅助方法的第一个参数是name of environment variable
,如果找不到该变量,则第二个参数是后备值。之所以不起作用,是因为Laravel无法在environment
和[email protected]
这个名字下找到一个*******
变量。