无法与主机smtp.gmail.com建立连接[操作超时#60]

时间:2015-06-03 15:17:41

标签: php laravel gmail laravel-5

我无法在本地环境中发送任何电子邮件。

我一直在:

enter image description here _

.env文件。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=my-email@gmail.com
MAIL_PASSWORD=*****

注意:令人惊讶的是 - 我的生产服务器中的设置相同,而且效果非常好。

任何提示/建议?

5 个答案:

答案 0 :(得分:26)

将我的驱动程序行更新为

MAIL_DRIVER=sendmail

它首次尝试。

最终.env文件应如下所示

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=my-email@gmail.com
MAIL_PASSWORD=*****

答案 1 :(得分:2)

对我来说,以下内容与GMAIL合作:

'encryption' => 'ssl',

.ENV

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=xxx@gmail.com
MAIL_PASSWORD=xxx

答案 2 :(得分:0)

1:您必须通过在gmail acc上启用2步验证来允许安全性较低的应用或使用应用密码。 2:禁用计算机上的任何防病毒软件。

答案 3 :(得分:0)

更改.env文件中的设置并在设置smtp之后保留邮件服务器的凭据

MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 MAIL_USERNAME=xxx MAIL_PASSWORD=xxx

答案 4 :(得分:-1)

Laravel还包含Mailgun和Mandrill HTTP API的驱动程序。这些API通常比SMTP服务器更简单,更快捷。这两个驱动程序都要求将Guzzle 5 HTTP库安装到您的应用程序中。您可以通过将以下行添加到composer.json文件中来将Guzzle 5添加到项目中:

"guzzlehttp/guzzle": "~5.0"

composer update

Mailgun驱动程序

要使用Mailgun驱动程序,请在config / mail.php配置文件中将驱动程序选项设置为mailgun。接下来,创建一个config / services.php配置文件(如果项目尚不存在)。确认它包含以下选项:

'mailgun' => [
    'domain' => 'your-mailgun-domain',
    'secret' => 'your-mailgun-key',
],

Mandrill驱动程序

要使用Mandrill驱动程序,请在config / mail.php配置文件中将驱动程序选项设置为mandrill。接下来,创建一个config / services.php配置文件(如果项目尚不存在)。确认它包含以下选项:

'mandrill' => [
    'secret' => 'your-mandrill-key',
],

基本用法

The Mail::send method may be used to send an e-mail message:

Mail::send('emails.welcome', ['key' => 'value'], function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});

http://laravel.com/docs/5.0/mail