使用gmail的smtp服务器发送电子邮件时遇到问题
让我解释一下我的情况。 1周前,我可以使用smtp发送电子邮件。昨天我的主持人将他们的网站转移到另一台服务器。之后我无法发送电子邮件。 我在本地计算机上测试了电子邮件脚本,它运行得很好。
我目前正在使用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.
如果你看起来很干净。在我的本地机器上它似乎在调试信息中有谷歌的mx服务器地址,但在远程机器中它有托管服务提供商信息。我不知道这是否正常。我完全无能为力
你能帮助我或者告诉我什么是错的吗?
感谢, Vidhu
答案 0 :(得分:2)
您的托管服务提供商似乎正在捕获出站SMTP请求并将其转发到自己的SMTP服务器。
您是否在端口25上连接到Google?而是连接port 587, the SMTP submission port。如果您已经使用587,并且您的托管服务提供商正在捕获此流量,那么如果他们不立即停止干扰您的Web应用程序,则向他们发送一个非常讨厌的电子邮件,威胁要切换托管服务提供商。住宅拨号和DSL用户可以容忍这种BS,但它完全不适合网络托管和共址。
如果您的提供商在网上,他们会道歉并指出您的条款和条件中的部分,该部分规定出站SMTP流量现在将自动重定向,直到通过支持服务单发出删除请求。
哦,顺便说一下,您的新托管服务提供商现已获取了您使用Google进行身份验证的身份验证凭据。是时候更改密码并实现TLS,但据我所知,phpMailer不支持TLS。
或许是时候查看Swiftmailer或像Postmark这样的商业提供商了?
答案 1 :(得分:-1)