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

时间:2014-08-27 00:47:29

标签: php email symfony swiftmailer

我发帖是因为我已经完成了其他问题中的解决方案,但他们没有帮助。

我要做的是通过Google Apps for Business Gmail使用Swiftmailer发送电子邮件,但我一直收到此错误:

  

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

我知道代码很好,因为它可以在我的本地计算机上运行,​​但不能在生产服务器上运行。

到目前为止我尝试过:

  • 启用OpenSSL。
  • 来自Google验证码的未屏蔽帐户。
  • 使用特定于应用程序的密码。
  • 列入白名单的Gmail SMTP IP地址

配置:

# Swiftmailer Configuration
swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    host:       smtp.gmail.com
    username:   contact@mydomain.com
    password:   applicationspecificpassword
    port:       465

我还能尝试什么?这可能是DNS问题,因为我使用的是Gmails SMTP MX记录而不是服务器。

8 个答案:

答案 0 :(得分:10)

替换:smtp.gmail.com 173.194.65.108实际上对我有效!

答案 1 :(得分:10)

以下步骤对我有用:

  1. 检查 httpd_can_sendmail 是否已启用,运行此getsebool httpd_can_sendmail

    • 当你得到: httpd_can_sendmail - >关闭,运行setsebool -P httpd_can_sendmail 1
    • 当你得到: httpd_can_sendmail - > 这是第2步的好转。
  2. 检查 httpd_can_network_connect 是否已启用,运行getsebool httpd_can_network_connect

    • 当您获得 httpd_can_network_connect - >关闭运行setsebool -P httpd_can_network_connect 1
    • 当你得到: httpd_can_network_connect - > 这是第3步的好转。
  3. smtp 使用以下设置: 'host' => '64.233.166.108' 'port' => '465'
  4. 我正在使用Centos

答案 2 :(得分:3)

如果你想回归使用Gmail,我只是遇到了同样的问题 - 代码在我的本地机器上工作但在真实的服务器上却没有 - 并且我认为我已经找到了导致问题的原因它(至少在我的情况下)。

如果服务器支持IPv6和IPv4,则服务器的域将解析为其IPv6版本,因此PHP会尝试连接到该版本。但是我发现smtp.gmail.com没有响应,所以30秒后脚本就放弃了并且超时了。你会认为PHP会在IPv6失败后尝试使用IPv4,但不会。

所以,当我交换smtp.gmail.com的IPv4地址(通过ping它获得)时,一切正常并且发送了电子邮件。使用IP代替域是不理想的,因为它可能会改变,但至少可以节省挖掘服务器地板的其余部分:)

答案 3 :(得分:1)

添加     74.125.130.108 smtp.gmail.com 到服务器的主机文件

答案 4 :(得分:1)

对我来说问题是我使用了tls加密,这里是TLS和SSL的端口。更改env文件后不要忘记重启。

smtp.gmail.com    ---    SSL       ---      465
smtp.gmail.com    ---   StartTLS ---   587

此外,您需要change the security的Google帐户

答案 5 :(得分:0)

我在Swiftmailer Gmail Connection timed out #110发布了一个解决方案解决方案,您可以使用IPv4或IPv6。

答案 6 :(得分:0)

配置为我工作:

mailer_transport: gmail
mailer_host: smtp.gmail.com
mailer_user: my_email@gmail.com
mailer_password: my_pass
mailer_encryption: ssl
mailer_auth_mode: login
mailer_port: 465

答案 7 :(得分:0)

我只是遇到了这个问题,在寻找解决方案之后,这完全取决于我的主机的安全设置(在本例中为Scaleway)。我必须打开安全设置并启用传出SMTP。