PHPMailer SMTP无法连接到服务器:连接超时(110)到Gmail

时间:2016-04-24 12:24:25

标签: php email smtp gmail phpmailer

我使用PHPMailer连接到端口gmail-smtp-in.l.google.com上的Gmails MX服务器465。这会导致错误Failed to connect to server: Connection timed out (110)

在线阅读后,我刚与我的主持人聊天,他在端口traceroute to gmail-smtp-in.l.google.com上成功运行了25,我确信主机端的任何设备都没有阻止连接。

我是否需要在我的Gmail帐户中设置任何内容?我可以通过SMTP连接到其他域。

我也可以smtp.gmail.com连接到465,但是以下命令似乎无法正常工作

RCPT TO: <wrong.email@gmail.com>

给了我250确定。

修改 并且我使用dns_get_record()来获取域的MX记录。

这是我写的扩展PHPMailer类的一部分:

$this->IsSMTP(); 
$this->Host       = $this->data['smtp_host'];
$this->Mailer   = "smtp";
$this->Timeout      = 10;
$this->SMTPDebug  = 2;
$this->SMTPAuth   = true;
$this->Port       = 465;
$this->Username   = 'my.address@gmail.com';
$this->Password   = 'my_password';

$ret[] = $this->smtpConnect();
$ret[] = $this->smtp->mail('my.address@gmail.com');
$ret[] = $this->smtp->recipient('wrong.email@gmail.com');
$this->smtpClose();

以上ssl://gmail-smtp-in.l.google.com:465错误输出连接超时(110)

在ssl://smtp.gmail.com:465上说250好,我不应该得到这样的用户。

1 个答案:

答案 0 :(得分:0)

不清楚为什么要这样做。如果您使用的是Gmail的MX,则表示您直接将发送给 gmail用户。通常这只会在端口25上,但如果您想要加密,请在连接后发出STARTTLS。 465上的SSL和587上的TLS是出站邮件的提交端口,因此我很惊讶您立即获得250 OK - 您预计之后会有5.1.1的反弹。如果您在MX上尝试相同的操作,我希望它能在前面失败。