Laravel 邮件未发送——无法与主机建立连接 smtp.gmail.com [连接超时 #110]

Lravel Mail not sending -- Connection could not be established with host smtp.gmail.com [Connection timed out #110]

我刚刚开发了一个带有邮件系统的 laravel 网络应用程序。 我收到类似

的错误
Connection could not be established with host smtp.gmail.com [Connection timed out #110] 

控制器

Mail::send('timesheet/emailtemplate',array('data'=>$query),function($message) 
    {
$message->to('example@gmail.com')->cc('expalecc@gmail.com')->subject('Work Report on - ');
    });

电子邮件模板文件:emailtemplate.blade.php

<h2>hai</h2>

mail.php(配置)

'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => null, 'name' => null),
'encryption' => 'ssl',
'username' => 'myemail@example.com',
'password' => 'mypassword',
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,

使用 Mandrill Driver 而不是使用 smtp,它比使用 smtp 服务器更简单、更快捷。默认情况下 laravel 带有 Mandrill 驱动程序。 mandrill 需要 Guzzle 4 HTTP 库.. 将其添加到您的项目中添加

"guzzlehttp/guzzle": "~4.0"

到您的 composer.json 文件(在您的项目根目录中)

里面 app/config/mail.php

更改此行

'driver' => 'mandrill',

转到https://mandrillapp.com/settings
并注册并生成api密钥

创建一个 app/config/services.php 配置文件(如果您的项目尚不存在)并添加以下配置并生成 api 密钥

return array(

'mailgun' => array(
    'domain' => '',
    'secret' => '',
),

'mandrill' => array(
    'secret' => 'enter your mandrill api key here',
),

'stripe' => array(
    'model'  => 'User',
    'secret' => '',
),

);

检查一下,这将是一个完整的帮助 Youtube video for setting up Mandrill for laravel