我在使用gmail SMTP发送邮件时无法成功发送邮件。
我在使用gmail SMTP发送邮件时无法成功发送邮件。
我遇到了这个错误
期望的响应代码是250,但是得到的代码是“530”,并且消息是“530-5.5.1 需要认证。在以下链接中了解更多信息:\r\n 530 5.5.1 https://support.google.com/mail/?p=WantAuthError 14sm769143wmo.27 - gsmtp\r\n
我已经使用了php artisan config:cache并重启了我的服务器,但是仍然出现了错误。
这是我的config/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', 'Example@gmail.com'), 'name' => env('MAIL_FROM_NAME', 'Example'), ], 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('Example@gmail.com'), 'password' => env('******'),
这是我的UserController
'Test User'), function($message) { $message->from('Example@gmail.com', 'Your Application'); $message->to('Example@gmail.com', 'Test')->subject('Your Reminder!'); }); echo"邮件发送成功...!"; } }
这是我的视图文件
Document 你好,{{{ $Test }}}!
我的.env文件
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=Example@gmail.com MAIL_PASSWORD=****** MAIL_ENCRYPTION=tls
我该如何使它工作?
在使用Gmail SMTP发送邮件时,出现了无法发送邮件的问题。出现这个问题的原因是没有正确设置SMTP详细信息,或者认证错误。
解决方法如下:
1. 在.env文件中设置SMTP详细信息,而不是在配置文件中设置。代码如下:
env('MAIL_DRIVER', 'smtp')
.env文件中的env()函数会从.env文件中获取数据,请在那里设置您的值,而不是在配置文件中设置。或者,如果您想在配置文件中设置,可以这样设置:
'driver' => 'smtp', 'host' => 'smtp.gmail.com',
2. 如果在.env文件中已经设置了凭据,但仍然出现错误,则可能是认证错误。请检查密码是否正确,并允许较不安全的应用程序使用您的电子邮件。可以通过在Google上搜索相关内容来了解如何允许较不安全的应用程序使用您的电子邮件。