我使用HostGator进行托管,我使用PHP Mailer软件包连接到谷歌smtp服务器并发送邮件。
以下是我的代码连接到服务器的部分:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->CharSet="UTF-8";
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Username = 'user';
$mail->Password = 'pass';
$mail->SMTPAuth = true;
这是我得到的错误:
也许谷歌阻止我从外部服务器登录?如果是这样,我该如何永久修复它?我确信我的登录凭据是正确的。
答案 0 :(得分:0)
在尝试使用Google的SMTP和python时(特别是使用Django时),我遇到了类似的问题。以下是我用来解决问题的步骤(其中一些是“众所周知的”并且在很多地方报道过,其他的则没有。)
我个人使用TSL +端口587.但是,SSL +端口465也是 有效(你有)。
确保您在Gmail中具有适当的安全设置。一些 这些可能没有必要,但这是我必须设置的。
设置>转发和POP / IMAP>启用IMAP访问。设置> 帐户和导入>更改帐户设置:>其他谷歌
帐户设置>登录&安全>连接的应用程序&网站> 允许安全性较低的应用(启用/启用)。
最后(这是使我的系统工作的步骤),重置密码。
无论出于何种原因,我不断收到来自gmail的错误提示我确保我的登录正确/通过浏览器登录,尽管绝对确定登录信息是正确的(并且能够通过浏览器使用这些凭证登录)。但是,一旦我更改密码并再次尝试,它就“神奇地”起作用。
这可能只是gmail的一个安全功能,如果您在启用权限之前尝试通过应用程序访问gmail,那么它将阻止来自未知应用程序(或至少该应用程序)的访问,直到它们真正实现“验证”这是你。但是,这只是猜测......