如何在Laravel中使用gmail发送邮件?

12 浏览
0 Comments

如何在Laravel中使用gmail发送邮件?

我一次又一次地尝试在本地主机上发送电子邮件,但仍然无法成功。我不知道该怎么办了。我试着搜索解决方案,但找不到一个。我编辑了config/mail.php文件:

 env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    'port' => env('MAIL_PORT', 587),
    'from' => ['address' => 'myemail@gmail.com', 'name' => 'Do not Reply'],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
];

我已经像这样编辑了.env文件:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=null

仍然出现了如下错误:

[错误截图](https://i.stack.imgur.com/hGO3O.png)

0
0 Comments

问题的原因是需要在Laravel中使用Gmail发送邮件,但是没有配置正确的环境变量。解决方法是编辑.env文件并添加正确的Gmail SMTP配置信息。

解决方法如下:

1. 打开.env文件

2. 在文件中添加以下配置信息:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=<your_email_address>
MAIL_PASSWORD=<your_gmail_app_password_>
MAIL_ENCRYPTION=ssl

3. 保存文件

如果需要生成应用程序密码,请按照以下步骤进行操作:

1. 访问https://support.google.com/accounts/answer/185833?hl=en

2. 生成应用程序密码并保存以备将来使用。请注意,一旦生成了应用程序密码,就无法重新编辑密码或更改相同的应用程序密码。(可以创建多个应用程序密码)

关于SSL和TLS的区别,我发现SSL直接发送的电子邮件可能会被标记为垃圾邮件,而TLS则不会。

0
0 Comments

问题原因:在使用Laravel发送邮件时,使用了SMTP驱动,但是无法成功发送邮件。

解决方法:根据建议,尝试使用sendmail驱动替代smtp驱动来发送邮件。

具体步骤如下:

1. 打开Laravel配置文件,找到并编辑.env文件;

2. 将MAIL_DRIVER的值改为sendmail;

3. 将MAIL_HOST设置为smtp.gmail.com;

4. 将MAIL_PORT设置为587;

5. 将MAIL_USERNAME设置为您的Gmail邮箱地址;

6. 将MAIL_PASSWORD设置为您的应用密码(App Password);

7. 将MAIL_ENCRYPTION设置为tls。

修改后的.env文件内容如下所示:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls

通过以上步骤,您应该能够成功使用Gmail在Laravel框架中发送邮件了。

0
0 Comments

问题的出现原因:

- 邮件发送报错,错误信息为“Connection could not be established with host smtp.gmail.com [An attempt was made to access a socket in a way forbidden by its access permissions. #10013]”

- 用户已经按照建议进行了操作,包括启用Google的两步验证、生成应用程序密码等

- 用户已经尝试禁用McAfee和Windows Defender等安全软件,但问题仍然存在

解决方法:

- 尝试运行php artisan config:cachephp artisan config:clear命令

- 尝试关闭Windows Defender

- 尝试在Google的安全设置中允许发送邮件到外部地址

- 尝试使用App Password而不是自己的Gmail密码

- 如果问题仍然存在,可能是方法已经过时,不再适用

最后,还有其他用户表示该方法在Laravel 5.2和Laravel 5.7上成功运行,但也有用户表示该方法已经过时不再适用。

0