无法向某些服务器发送电子邮件

时间:2012-10-21 13:03:35

标签: php smtp timeout phpmailer

当我尝试从我的phpmailer类发送电子邮件时,它返回true,但在Directadmin邮件日志中它会记录TimeOut。

  

2012-10-21 14:22:14 1TPsca-0000t7-Vj gmail-smtp-in.l.google.com   [2a00:1450:4013:c01 :: 1a]连接超时

     

2012-10-21 14:22:14 1TPsca-0000t7-Vj => [电子邮件]   F =< [电子邮件] GT; R = lookuphost T = remote_smtp S = 3286   H = gmail-smtp-in.l.google.com [74.125.136.26] X = TLSv1:RC4-SHA:128   C =“250 2.0.0 OK 1350822120 f43si4569491eem.30”

     

2012-10-21 14:22:14 1TPsca-0000t7-Vj已完成

但电子邮件没有发送。

我该如何解决这个问题?

谢谢! Wouter0100

1 个答案:

答案 0 :(得分:1)

连接超时意味着无法再访问邮件服务器。如果邮件服务器与您的Web服务器不同(即不是localhost),我会向您的托管服务提供商咨询是否启用了某种阻止SMTP端口连接的防火墙

您收到的错误表示此行的连接失败:SMTP.Connect()。

通常,这意味着端口错误,服务器未启动,或者您没有连接。

在这种情况下,您没有连接,很可能是因为您的ISP阻止了与该远程端口的连接。

尝试从托管网络服务器发送电子邮件。

即使您可以连接,您的代码也不会按原样运行。 Google SMTP服务器上的端口465需要安全(SSL)连接。你仍然需要实现它。

如果我没记错的话,Gmail的SMTP服务器需要SSL。 试试这个

$this->Email->smtpOptions = array(
'port'=>'465', 
'timeout'=>'30',
'host' => 'ssl://smtp.gmail.com',
'username'=>'your_username@gmail.com',
'password'=>'your_gmail_password',
);

也 阅读support.google.com/mail/bin/answer.py?hl=en&answer=13287 - 必须使用SSL才能使用GMail SMTP服务器。 Quote:“如果您的客户端不支持SMTP4身份验证,您将无法使用您的Gmail地址通过您的客户端发送邮件。”