Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Laravel-无法与主机smtp.gmail.com建立连接_Linux_Laravel_Laravel 5.1 - Fatal编程技术网

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

Linux Laravel-无法与主机smtp.gmail.com建立连接,linux,laravel,laravel-5.1,Linux,Laravel,Laravel 5.1,我已经在stackoverflow中尝试了所有可能的解决方案,但是什么都没有。。。我认为问题与防火墙有关,我可以在本地计算机上使用SMTP gmail发送邮件,但不能在服务器上发送,我收到以下消息: 无法与主机smtp.gmail.com建立连接[连接超时#110] 我尝试了以下命令: ufw允许587/tcp iptables-I输出-p tcp--dport 587-j丢弃 iptables-I OUTPUT-d smtp.gmail.com-p tcp-m tcp-dport 587-j

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

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

我尝试了以下命令:

ufw允许587/tcp

iptables-I输出-p tcp--dport 587-j丢弃

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

iptables-L输出-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);
    }
}

您是否尝试过以下方法:

.env:

和mail.php:

'encryption' => 'ssl',

您需要启用对安全性较差的应用程序的访问


首先,如果gmail帐户允许发送不安全的电子邮件应用程序,请登录该帐户。

我向Digital ocean发送了一张机票,这就是得到的答案:

你好!

为了遏制最近滥用和垃圾邮件的增加,我们对在特定环境下创建的新帐户设置了初始SMTP阻止

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

请告知我们以下信息:

  • 你的名字
  • 位置
  • 电话号码
  • 请求删除SMTP块的原因
此外,请尽可能多地提供以下信息,以帮助我们验证您的身份:

  • 你的公共推特句柄
  • 你的博客
  • 您的公司或个人网站
  • 您的公共Facebook个人资料
我们非常重视垃圾邮件,因为我们完全遵守CAN-SPAM法案。如果您不熟悉,这意味着您可能不会发送批量电子邮件,除非您维护一个双重授权的订阅成员列表,包括IP地址和相关联系信息。此外,根据CAN-SPAM法案,您必须遵循删除所有已发送电子邮件的链接的指导原则

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

问候,, 数字海洋支持

编辑

我回复了请求的信息,现在一切都正常了=)

我的laravel 5.3应用程序也有类似的问题。我的错误是服务器上的自签名证书。这里的解决方案-

将此代码添加到
config/mail.php
的某个地方

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

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


要了解更多信息:

您说它可以在您的本地主机上运行吗?请参阅下面的答案,并告诉我它是否适用于yougmail阻止某些主机(例如,我知道one.com上的服务器有一些问题)。你能
telnet smtp.gmail.com 587
吗?如果没有,您可能需要使用其他邮件提供商,如mailgun或mandrill。@patricus真的吗?数字海洋被封锁了?它可能被封锁了。根据“为了遏制最近滥用和垃圾邮件的增加,DO对在特定环境下创建的新帐户有一个初始SMTP阻止。如果您提交支持票证(),团队应该能够在一些手动帐户验证后为您取消该票证。”将SMTP.gmail.com替换为173.194.65.108Gadzooks!你能复制/粘贴那封信的内容吗?这很难阅读。欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。欢迎来到堆栈溢出。你能解释一下链接里是什么吗?你的答案必须保持有效,即使链接过期。这个链接肯定会解决这个问题,并将始终有效,因为它是由谷歌提供的
'stream' => [
    'ssl' => [
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],