4

我在使用 gmail 的 smtp 服务器发送电子邮件时遇到问题

让我解释一下我的情况。1 周前,我可以使用 smtp 使用 php 发送电子邮件。昨天,我的主机将他们的网站(包括我的)转移到了另一台服务器。之后我无法发送电子邮件。我在本地机器上测试了电子邮件脚本,它工作得很好。

我目前正在使用 phpmailer 发送电子邮件。发生错误时,我在 php 脚本上启用了调试。我在远程 Web 服务器和本地计算机上运行了调试启用版本。

这是输出: 本地机器(工作)

SMTP -> FROM SERVER:220 mx.google.com ESMTP dj6sm9229359qab.3 
SMTP -> FROM SERVER: 250-mx.google.com at your service, [155.41.29.55] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES 
SMTP -> FROM SERVER:250 2.1.0 OK dj6sm9229359qab.3 
SMTP -> FROM SERVER:250 2.1.5 OK dj6sm9229359qab.3 
SMTP -> FROM SERVER:354 Go ahead dj6sm9229359qab.3 
SMTP -> FROM SERVER:250 2.0.0 OK 1350437987 dj6sm9229359qab.3 
Message sent!

远程服务器(不起作用)

SMTP -> FROM SERVER:220-gds-wh1.get-sourced.net ESMTP Exim 4.80 #2 Tue, 16 Oct 2012 21:00:32 -0500 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
SMTP -> FROM SERVER: 250-gds-wh1.get-sourced.net Hello gds-wh1.get-sourced.net [63.141.244.218] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250 HELP 
SMTP -> ERROR: Password not accepted from server: 535 Incorrect authentication data 
SMTP -> FROM SERVER:250 Reset OK 
SMTP Error: Could not authenticate. Mailer Error: SMTP Error: Could not authenticate.

如果你仔细看。在我的本地机器中,调试信息中似乎有 google 的 mx-server 地址,但在远程机器中,它有托管服务提供商信息。我不知道这是否正常。我完全一无所知

你能帮我或给我一个关于什么问题的线索吗?

谢谢, 维杜

4

2 回答 2

2

您的托管服务提供商似乎正在捕获出站 SMTP 请求并将它们转发到他们自己的 SMTP 服务器。

您是否在端口 25 上连接到 Google?相反,连接587 端口,即 SMTP 提交端口。如果您已经在使用 587,并且您的托管服务提供商正在捕获此流量,那么请向他们发送一封非常讨厌的电子邮件,威胁如果他们不立即停止干扰您的 Web 应用程序,他们就会更换托管服务提供商。住宅拨号和 DSL 用户可能会容忍这种 BS,但它完全不适合网络托管和托管。

如果您的提供商在球上,他们会道歉并指出您的条款和条件中的部分,即出站 SMTP 流量现在将被自动重定向,直到通过支持票提出删除请求。

哦,顺便说一句,您的新托管服务提供商现在已经捕获了您向 Google 进行身份验证所使用的身份验证凭据。是时候更改密码并实施 TLS,但据我所知,phpMailer 不支持 TLS。

也许是时候看看Swiftmailer或像 Postmark 这样的商业提供商

于 2012-10-17T03:34:58.160 回答
-1

据我所知,我认为您必须检查您是否已经放置了正确的 google SMTP(通常:smtp.gmail.com)?并且要使用 google smtp,它需要来自您的 google 帐户的用户和密码等身份验证。

于 2012-10-17T03:10:16.570 回答