0

我有一个 PHP 页面,它使用PEAR Mail通过 Google Apps 邮件帐户发送消息。该页面仅在秋季和冬季有效,并且在 1 月份最后一次使用时运行良好。

现在,当我为秋季准备网站时,此页面不再有效。我遇到了与使用 PEAR 邮件的 SMTP 错误 535(不正确的身份验证数据)中描述的完全相同的问题。这个问题没有答案,它不允许我发表评论,所以我开始一个新问题。

我使用的代码与 pavan kumar 在Send email using the GMail SMTP server from a PHP page中发布的代码相同。

错误信息是:

authentication failure [SMTP: Invalid response code received from server (code: 535, response: Incorrect authentication data)]

我仔细检查了邮件用户的登录名自一月份以来没有更改。我将脚本中的地址和密码复制并粘贴到浏览器的 Gmail 登录中。它起作用了,所以我知道我的参数是正确的。此帐户是企业域地址,而不是 @gmail.com。

我正在尝试连接:

$host = "ssl://smtp.gmail.com";
$port = "465";

我还尝试指定 tls:// 和端口 587,但没有运气。根据另一个 SO 线程中的建议,我还将主机设置为“googlemail.com”而不是“gmail.com”。

我对 $smtp 对象进行了 var_dump(),并确认我的地址和密码已成功且准确地传递到其中。

该帐户位于最近升级到 PHP 5.3.5 和 Apache 2.2.22 的 cPanel 系统上。变化似乎不太可能引发这个问题,但我提到它以防它可能是一个因素。

编辑:找到http://support.google.com/a/bin/answer.py?hl=en&answer=176600 上面 写着“...您必须使用设备或应用程序的 IP 地址为您的域配置 SPF 记录以确保收件人不会拒绝从它发送的邮件。您还必须将此 IP 地址添加到 Google Apps 控制面板中的电子邮件白名单框中。例如。如果您的发送设备从 123.45.67.89 发送,则将该地址添加到您的 SPF记录而不从记录中删除 Google Apps 邮件服务器...”不幸的是,我在此域中没有电子邮件白名单框 - 它是免费的 <10 用户帐户,显然没有该功能。


编辑 2:相关: http: //support.google.com/mail/bin/answer.py ?hl=en&answer=78775


编辑 3:我在 Opera 邮件中设置了帐户,并使用 AUTH LOGIN 和 AUTH PLAIN 设置成功发送。

4

1 回答 1

1

问题出在我的网络主机上,而不是 Google 的邮件服务器上。

该帐户位于 cPanel 服务器上,管理员已将其设置为只有指定的用户帐户才能访问外部 SMTP 服务器。为了让我进行测试,他禁用了该要求,我的邮件系统立即开始工作。

不过,到目前为止,我还没有找到关于如何在激活其 SMTP 身份验证时作为授权用户之一登录 cPanel 的文档。如果我找到一些,我会更新这个。

于 2012-10-12T04:48:50.943 回答