【问题标题】:Account confirmation email sent as SPAM作为垃圾邮件发送的帐户确认电子邮件
【发布时间】:2011-01-29 17:51:35
【问题描述】:

我正在使用 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();

【问题讨论】:

    标签: php spam phpmailer


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 非常感谢您的回复。我还为我的域设置了 SPF 记录。我正在使用谷歌托管的邮件 SMTP 来发送邮件。对不起,我不能提到这一点。我不知道反向 DNS。
      • 如果您使用 Google 发送电子邮件,则不必担心 rDNS 问题。您的 SPF 记录是否包含 include:aspmx.googlemail.com?如果不是,那可能是问题所在 - 请参阅 google.com/support/a/bin/answer.py?hl=en&answer=33786
      【解决方案3】:

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

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

      【讨论】:

      • 如果我使用“SMTP 中继”会怎样?有没有合理/便宜的 SMTP 中继服务商?谢谢
      • 不会真正帮助内容分析。简短的 HTML 电子邮件看起来很可疑。我得到了很多,而且大多数情况下他们都有一张大图试图向我推销软件或伟哥;)
      • 通过 check-auth@verifier.port25.com 之类的验证器发送内容,以查看它是否通过垃圾邮件刺客检查(以及 DKIM、SPF 和 Sender-ID)
      【解决方案4】:

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

      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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-05-21
            • 1970-01-01
            • 2019-08-25
            • 2013-10-17
            • 1970-01-01
            • 2012-05-27
            • 2023-04-06
            • 1970-01-01
            相关资源
            最近更新 更多