无法与主机smtp.gmail.com Laravel

时间:2015-11-06 11:31:27

标签: php email laravel-5

我正在尝试向我的电子邮件ID发送邮件。我已经按照发送邮件所需的所有步骤进行操作。

但它继续出现2个错误

  1. 无法与主机smtp.gmail.com建立连接[连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应。# 10060]

  2. 超出最长执行时间30秒。

  3. 我的控制器是

    public function contact()
        {
       Mail::send('clientinfo.contact',['name' => 'shweta'],function($message){
                $message->to('myemail@gmail.com','Some Name')->subject('Welcome!')->from('otheremail@example.com');
               });
    

    mail.php文件:

    return [
        'driver' => env('MAIL_DRIVER', 'smtp'),
        'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
        'port' => env('MAIL_PORT', 587),
        'from' => ['address' => 'someone@example.com', 'name' => 'Some  One Sender'],
        'encryption' => env('MAIL_ENCRYPTION', 'tls'),
        'username' => env('MAIL_USERNAME'),
        'password' => env('MAIL_PASSWORD'),
        'sendmail' => '/usr/sbin/sendmail -bs',
     'pretend' => false,
    
    ];
    

    请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

确保通过在composer.json文件中添加以下行来将Guzzle安装到项目中:

  

" guzzlehttp / guzzle":" ~5.3 | ~6.0"

并使用真实的电子邮件ID和密码编辑.env文件。此外,根据@Bharat Geleda

的说法,为该电子邮件ID启用不太安全的应用程序

然后您的上述代码将正常运行。

答案 1 :(得分:0)

这就是我所做的。

  1. 我在may gmail帐户启用了两步验证

  2. 在此处为我的应用创建了单独的应用密码(下面的屏幕截图)(https://security.google.com/settings/security/apppasswords

  3. 我将该密码存入我的laravel .env文件并且有效。

  4. 截图 只需在“选择应用”上选择“其他(自定义名称)”,它就会为您生成密码。

    enter image description here

答案 2 :(得分:0)

使用MAIL_PORT=587代替.env文件中的默认mail_port。