8

我正在使用 PHPMailer 为我的社交网络中的新注册用户发送确认电子邮件。但我发现他们中的大多数最终都进入了用户的垃圾邮件列表。(Hotmail 和雅虎)。如何避免这种情况?

这是我的脚本

$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = mSMTPAuth(); 
$mail->SMTPSecure = mSMTPSecure(); 
$mail->Host = mHost(); 
$mail->Port = mPort(); 
$mail->Username = mUsername(); 
$mail->Password = mPassword(); 
$mail->From = mFrom();
$mail->FromName = "SiteName";
$mail->Subject = "SiteName New Account Activation";
$mail->IsHTML(true); 
$mail->WordWrap = 50;       

$mail->Body = "<h2>Welcome to " .$sitename. " " .$username. "! </h2><br><br>";
$mail->Body .= "Please click on the link below to verify your email address:<br><br>";
$mail->Body .= "<a href='".$base. "verify.php?a=" .$gen_key."'>".$base. "verify.php?a=" .$gen_key."</a>";
$mail->Body .= "<br><br>Regards<br>";

$mail->AltBody = "Welcome to " .$sitename. " " .$username. "!\n\nTo verify your email address, please click on the link below:\n\n".$base. "verify.php?a=" .$gen_key;

$mail->AddAddress($email);
$mail->Send();
$mail->ClearAddresses();
4

6 回答 6

5

为了最大限度地提高您的电子邮件到达的几率,您需要检查三件事:

  1. 确保发送电子邮件的计算机具有反向 PTR 记录
  2. 在您的 DNS 和代码中配置域密钥识别邮件 (DKIM)
  3. 在您的 DNS 中设置 SenderID 记录

详情在:

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

于 2010-04-21T11:22:26.257 回答
3

您对此无能为力。大多数邮件提供商都有常用 IP 地址、主机名和其他经常被标记为垃圾邮件的数据列表,如果您的电子邮件符合标准,它们会自动被过滤。您真正能做的就是告诉您的访问者在注册之前将您的电子邮件地址添加到他们的允许列表中,这样电子邮件就会进入他们的收件箱。

老实说,不用担心。如果他们看到您的电子邮件经常被标记为“非垃圾邮件”,那么他们最终会为其添加例外。如果用户没有像其他网站那样看到电子邮件,只需告诉用户检查他们的垃圾邮件文件夹即可。通常,如果他们在该文件夹中将其标记为“非垃圾邮件”,它会自动为该地址添加一个例外,因此您发送给他们的任何其他电子邮件最终都会出现在他们的收件箱中。

于 2010-03-20T06:30:11.943 回答
3

您是否有用于发送确认电子邮件的服务器的反向 DNS 条目?

如果不是,这可能是rDNS 问题。如果发送主机的 IP 和名称根据 rDNS 不匹配,则某些站点更有可能将邮件标记为垃圾邮件。

否则,您可能会尝试在主要电子邮件网站(如 yahoo、hotmail 和 g-mail)上向您自己的帐户发送确认电子邮件,然后调整措辞直到通过垃圾邮件过滤器。

于 2010-03-20T06:30:53.473 回答
0

嗯,您可以做一些事情: * 废弃 HTML。这看起来像垃圾邮件,尤其是低文本 * 请再写一些文本。

短 HTML 邮件可能会在垃圾邮件列表中占据相当大的比重。

于 2010-03-20T07:30:57.950 回答
0

您可以尝试使用 sendGrid api,这会有所帮助,它们会收费,但我认为这是值得的。它们支持最流行的语言:Nodejs、PHP、Java ......

于 2018-01-06T07:15:38.757 回答
0

我发现标题中“确认”一词的任何变体最终都会进入我的垃圾邮件桶。我还发现了其他类似的词:“purchase”、“hurry”、“order”、“bargain”和“imminent”。

这可能并非在所有电子邮件中都是正确的,但它发生在我的电子邮件中。可能是因为这些词出现在我标记为 span 的大多数电子邮件中。也可能是本地管理员制作了一个过滤器并将其分发给我们所有人。

于 2017-04-03T02:40:51.317 回答