使用PHP发送电子邮件并确保它不会被阻止

时间:2012-02-29 18:52:26

标签: php html-email email-headers

我想用PHP发送HTML电子邮件。我想知道在电子邮件中应该使用哪些标头,以确保它不会被阻止或最终进入垃圾邮件文件夹。

电子邮件内容将包含CSS和HTML。回复字段将与发件人的字段不同(这会影响任何内容吗?)

修改 我不知道为什么我的问题被否决了。无论如何,我不打算通过电子邮件发送垃圾邮件或邮件列表。我希望回复字段与发件人不同的原因是因为我正在创建一个用户管理来自不同客户端的作业的Web应用程序。无论何时更新或创建作业,应用程序都会自动向客户端发送有关作业更新的电子邮件。然后,客户端可以回复电子邮件以联系用户 - 这就是我需要将回复字段作为用户电子邮件地址的原因。

3 个答案:

答案 0 :(得分:4)

有许多不同的因素会考虑电子邮件是否被阻止,标题是其中的一部分而且还要考虑:

  • 每天发送的电子邮件数量一致(每月100,000封,每天会损害您的声誉超过100,000)
  • 如果您经常通过电子邮件发送到弹跳地址
  • 您是否在收件人的安全发件人名单上
  • 您要发送给
  • 的电子邮件提供商
  • 各种DNS设置,例如您从IP注册的域发送电子邮件
  • 您是否经常通过电子邮件发送无效地址
  • 您是否被其中一家黑名单公司列入黑名单
  • 各种其他电子邮件提供商机制,例如yahoo的域名密钥
  • 电子邮件的内容,避免使用免费,金钱和幸运等短语
  • 是否包含取消订阅链接(您必须提供一种选择退出电子邮件的简便方法)

对于一封电子邮件,您通常可以,如果您打算使用您的应用程序发送频繁的邮件列表,可能值得聘请专门从事批量电子邮件的第三方公司。

答案 1 :(得分:2)

考虑使用其SLA(服务水平协议)与您所需的传送率一致的电子邮件发送服务。

有很多服务可以做到这一点:SendGrid,Amazon SES等。

我建议使用SendGrid因为它相对便宜而且非常容易实现。

此外,这是一篇有趣的读物(不是学术性的,但有一些有趣的见解):http://www.smashingmagazine.com/2007/10/16/best-practices-for-bulletproof-e-mail-delivery/

答案 2 :(得分:0)

对于某些垃圾邮件过滤器(尽管不是全部),不同的发件人和回复字段可能是一个红色标志,但确保投放的最佳方法是按照本书执行所有操作。垃圾邮件通常被识别为它与其他垃圾邮件类似​​,标题的某些部分与您标识的标准不同,或者是从未授权该服务器域的服务器发送的(请参阅sender policy frameworks以获取相关信息)提高机会的方法,并要求您的托管服务提供商进行设置)。