PHPMailer不向某些Gmail帐户发送邮件

时间:2017-09-06 09:38:51

标签: php phpmailer

我正在使用PHPMailer(第5版)进行用户注册。 (当用户注册到我的站点时,配置文件激活码被发送给用户以激活它)。 PHPMailer工作,我测试了很多次(我用其他邮件注册我自己和gmail也用于测试目的,我总是得到激活码),但很多用户抱怨他们没有获得激活码然后我必须手动发送它们... 我无法理解是什么问题(当我检查我的用户数据库时,有许多用户获得激活码,但也无法接收)..我调试PHPMailer,但没有任何错误或问题...

我正在使用PHPMailer和Gmail SMTP:

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';              
$mail->Host       = "smtp.gmail.com";
$mail->Port       = 587; 
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Username = "mymail@gmail.com";
$mail->Password = "MyPassword";
$mail->From = "mymail@gmail.com";
$mail->FromName = 'www.mysite.com';

$mail->AddAddress($email);
$mail->WordWrap = 80;
$mail->IsHTML(true);
$mail->Subject = 'Registration';
$mail->Body    = $message;
$mail->AltBody = $message;
$mail->Send();

我也尝试使用SSL-465,但结果是一样的..

请帮助!

非常感谢先进......

1 个答案:

答案 0 :(得分:0)

我从服务器(主机)解决了这个问题。我检查了邮件功能/配置,找到了" MAX_EMAIL_PER_HOUR"设置为30(真的很奇怪,默认情况下它是100)所以我把它改为500并修复了所有PHPMailer问题......

此外:

启用"允许安全性较低的应用"通常会为PHPMailer解决许多问题,并且它并没有真正使您的应用程序显着降低安全性。 (当启用Google警告您应用程序不安全时)。

如果您需要更多安全性,PHPMailer为谷歌添加了对XOAUTH2的支持,您可以使用它...

我之前没有使用过这项技术,但我会尽快使用它;)

祝福!