2016-11-26 78 views
1

我现在处于完全损失状态。PHP HTML电子邮件以垃圾文件夹结尾

我对这个问题做了大量的研究。 一些背景:我使用PHPMailer通过PHP发送HTML电子邮件。问题是,它总是在垃圾文件夹中结束。

$message = "<html><u>Hello there</u></html>"; 
date_default_timezone_set('Etc/UTC'); 
$mail = new PHPMailer(); 

//even tried setting up SMTP server 
$mail->IsSMTP(); 
$mail->Host = "smtp.gmail.com"; 
$mail->SMTPAuth = true; 
$mail->Username = "[email protected]"; 
$mail->Password = "my gmail password"; 
$mail->SMTPDebug = 2; 
$mail->Port = 587; 
$mail->SMTPSecure = 'tls'; 

$mail->setFrom('[email protected]', 'No-reply'); 
$mail->addReplyTo('[email protected]', 'No-reply'); 
$mail->AddAddress($to); 
$mail->IsHTML(true); 
$mail->Subject = $subject; 
$mail->MsgHTML($message); 
if($mail->send()) resp(true,$code); 
else resp(false,"error (".$mail->ErrorInfo.")"); 

当我不使用SMTP时,它发送电子邮件,最终在垃圾文件夹。当我使用它时,我无法验证:

2016-11-26 12:44:16 CLIENT -> SERVER: EHLO 185.80.130.141 
2016-11-26 12:44:16 CLIENT -> SERVER: STARTTLS 
2016-11-26 12:44:16 CLIENT -> SERVER: EHLO 185.80.130.141 
2016-11-26 12:44:16 CLIENT -> SERVER: AUTH LOGIN 
2016-11-26 12:44:16 CLIENT -> SERVER: bmVkdWthczE3QGdtYWlsLmNvbQ== 
2016-11-26 12:44:17 CLIENT -> SERVER: bmVkdWxpdWthczEyMw== 
2016-11-26 12:44:17 SMTP ERROR: Password command failed: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtT 
             534-5.7.14 KhjtVSQhqL8MciQEtofR0fc36pPSF1zUxFnNZCay9DTcpxzjY0-elaKn8oWgt_-7bXpCSU 
             534-5.7.14 L0sarBbOFwjA4l3lN_VmEDi1Pej1C4gHpfDiFnpC87Md82FK_qZe2B6J1olxCWnmQUQlWE 
             534-5.7.14 eIwqtsXjE3xia_Y-lJnGZu7uQeQ7L_4QYj452Xxllf6GjA9Pz-cJsanxzXl7NTqRKEhcGM 
             534-5.7.14 hTxqiKtVHXjFtkWZ_fGs5O960iNwk> Please log in via your web browser and 
             534-5.7.14 then try again. 
             534-5.7.14 Learn more at 
             534 5.7.14 https://support.google.com/mail/answer/78754 e102sm10342631lfi.25 - gsmtp 
2016-11-26 12:44:17 SMTP Error: Could not authenticate. 
2016-11-26 12:44:17 CLIENT -> SERVER: QUIT 
2016-11-26 12:44:17 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

我不知道该怎么做。我运行了垃圾检查测试,但返回的结果是负面的(电子邮件未被归类为垃圾邮件)。谢谢你的帮助。

+0

也许是因为你的邮件不是gmail? – Buddhi741

+0

我使用我自己的邮件服务器,带有证书证书让我的生活变得更加轻松 – Buddhi741

+0

您是否尝试添加纯文本版本的电子邮件?看到这个问题:http://stackoverflow.com/questions/22507176/send-html-and-plain-text-email-simultaneously-with-php-mailer – Schwesi

回答

0

原因是因为您试图通过Google的SMTP服务器发送电子邮件,但将reply tofrom电子邮件地址设置为与其来自的gmail帐户不同。当事情不匹配时,垃圾邮件过滤器就会讨厌它。

如果您将回复电子邮件地址更改为[email protected],我认为它不会被标记为垃圾邮件。

如果您的主机为您的域名提供电子邮件,那么最好的办法是使用该SMTP服务器,而不是Google的。

相关问题