Laravel - 无法与主机smtp.gmail.com建立连接

时间:2016-01-07 18:17:54

标签: linux laravel laravel-5.1

我已经在stackoverflow中尝试了所有可用的解决方案,但是没有...我认为问题与防火墙有关,我可以在本地计算机上使用SMTP gmail发送邮件,但不能在我的服务器上,我收到以下消息:

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

我已尝试过以下命令:

ufw allow 587/tcp

iptables -I OUTPUT -p tcp --dport 587 -j DROP

iptables -I OUTPUT -d smtp.gmail.com -p tcp -m tcp --dport 587 -j ACCEPT

iptables -L OUTPUT -n

然而没有奏效......

这是我的.env电子邮件设置:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=*****@gmail.com
MAIL_PASSWORD=*****
MAIL_ENCRYPTION=tls

我的发送电子邮件的控制器:

public function postEmail(PostEmailRequest $request)
{
    if ($request){
        Mail::send('app.pages.contato.email', $request->all(), function($message) use ($request)
        {
            $message->from($request->email , config('settings.website_title'));
            $message->to(config('settings.admin_email'))->subject($request->assunto);
        });

        return redirect('contato');
    }else{
        return redirect('contato')->withErrors($request);
    }
}

6 个答案:

答案 0 :(得分:2)

我向Digital ocean发了一张票,这是获得的答案:

您好!

为了遏制最近滥用和垃圾邮件的增加,我们在某些情境下创建了新帐户的初始SMTP阻止。

要删除该区块,我们需要进行一些手动帐户验证。

请告知我们以下内容:

  • 您的姓名
  • 位置
  • 电话号码
  • 您请求删除SMTP阻止的原因

此外,请尽可能多地提供以下信息,以帮助我们验证您的身份:

  • 您的公开Twitter处理
  • 您的博客
  • 您的公司或个人网站
  • 您的公开Facebook个人资料

我们非常重视垃圾邮件,因为我们完全遵守CAN-SPAM法案。如果您不熟悉,则表示您不得发送批量电子邮件,除非您维护双重授权的订阅成员列表,包括IP地址和相关联系信息。此外,您必须遵循指南,根据“反垃圾邮件法案”包含删除所有已发送电子邮件的链接。

如果您有任何问题,我们很乐意帮您解答。

此致 DigitalOcean支持

修改

我回复了所要求的信息,现在一切都很完美=)

答案 1 :(得分:0)

您是否尝试过以下操作:

.ENV:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=username@example.com
MAIL_PASSWORD=pass

和mail.php:

'encryption' => 'ssl',

答案 2 :(得分:0)

您需要为安全性较低的应用程序谷歌

启用访问权限

https://www.google.com/settings/security/lesssecureapps

答案 3 :(得分:0)

首先检查gmail帐户是否允许发送电子邮件不太安全的应用程序。 https://support.google.com/accounts/answer/6010255?hl=en

答案 4 :(得分:0)

尝试激活您的帐户应用密码

https://accounts.google.com/b/0/DisplayUnlockCaptcha

要了解更多信息:https://accounts.google.com/UnlockCaptcha

答案 5 :(得分:-1)

我的laravel 5.3 app有类似的问题。我的错误是在服务器上使用自签名证书。解决方案 - https://stackoverflow.com/a/41267848

在某个地方添加config/mail.php此代码

'stream' => [
    'ssl' => [
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],