我使用 phpMailer,但有一个问题:当收件人是 Gmail 或 Yahoo 时,我的电子邮件最终会进入垃圾邮件文件夹。这怎么可能?
代码是这样的:
$mail->AddCustomHeader('Reply-to:[email protected]');
$mail->From="[email protected]";
$mail->FromName="MY NAME";
$mail->IsSendmail();
$mail->AddReplyTo("[email protected]");
$mail->From = '[email protected]';
$mail->FromName = 'My name';
$mail->AddAddress($to, $toName);
$mail->Subject = $subject;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->WordWrap = 80; // set word wrap
$body->'Hello';
$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
这是一个复杂的问题。有很多事情可能会出错,但您应该考虑以下几点:
您从何处发送电子邮件很重要。不要期望能够在您的家庭 ADSL 线路上运行此程序并获得良好的结果,因为大多数邮件服务器都会查看邮件是否来自分配用于此类用途的网络块。大多数来自此类来源的邮件都是垃圾邮件。使用以下工具查找您的 IPhttp://www.anti-abuse.org/multi-rbl-check/ and http://spameatingmonkey.com/lookup.
表现自己。作为邮件发件人需要一段时间才能建立良好的声誉,如果行为不当,您就会失去它。如果您的服务器被黑客攻击并被用来发送垃圾邮件,那也无济于事。
签署您的电子邮件。这是一个很大的话题,但你需要的关键词是 SPF 和 DKIM。编辑:现在还有 DMARC。
将批量电子邮件标记为批量(例如标题“优先级:列表”)
为您的用户提供取消订阅机制,并在“List-Unsubscribe”标头中进行广告。
如果可能,请查看 gmail 在收件人的 Web 界面中对标记为垃圾邮件的邮件有何说明。查看其“Authentication-Results”标头,检查您的 SPF 和 DKIM 签名是否正常工作。阅读谷歌和雅虎网站上有关如何不被视为垃圾邮件的所有建议。例如,点击 Gmail 邮箱中邮件中的链接。
如果您不想处理所有这些问题,请考虑通过信誉良好的 smtp 服务器发送邮件。如果您只是发送一点电子邮件,您的托管提供商(或者如果您在家中执行此操作,则为您的 ISP)可能会提供合适的 smtp 服务器,您可以通过合适的身份验证来访问该服务器。您甚至可能有足够小的容量,可以通过 Gmail 服务器之类的服务器发送(尽管它们会重写您的发件人地址以匹配您的 Gmail 帐户)。对于商业量,您可能需要考虑使用专门从事此类事情的商业 smtp 服务提供商。除了帮助您掌握获得良好送达率所需要做的所有事情之外,它们还可以提供很多工具,用于跟踪有多少用户实际打开电子邮件和点击链接,以及删除不良邮件。您列表中的电子邮件地址。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)