发送群发邮件
Sending bulk mail
我目前有一个系统,该系统使用 php 中的 swiftmailer 通过用户自己的邮件服务器发送大量邮件,在那一侧一切正常,但我最近开始通过设置我自己的 hmailserver 来跟踪退回邮件退回地址并将所有外发邮件的 return-path 设置为脚本更新数据库的服务器上的邮件帐户,这也可以 100%。
我遇到的唯一问题是我自己的邮件服务器的 SPF 记录非常严格,并且 MTA 阻止用户使用我的退回帐户作为 return-path 从他们自己的服务器发送的邮件,因为 SPF 失败。
我在 serverfault 启动时发布了一个问题,有人向我解释说 spf 使用的不是邮件 header,而是 SMTP 信封。
基本上我的问题是为了更好的传递性,从我自己的邮件服务器发送所有邮件并将 reply-to 邮件地址设置为用户邮件帐户会更好,还是我应该欺骗来自邮件 header,还是我采取了错误的方法,有更简单的方法?
我明白你为什么要自己发送邮件而不使用邮件服务来省钱。设置 "Reply-To" 字段的唯一问题是一些邮件客户端无法识别它,它们仍然会在 5322.FROM 字段上做出响应。但为什么不直接要求您的客户设置 "SPF" 以将您的 SPF 记录包含在他们的 DNS 中。这就是其他电子邮件营销程序所做的,只是有点麻烦。只需向他们提供有关 SPF Record and point them to an SPF Wizard 的半技术资源,并告诉他们在向导中添加 include:<your spf record>
。然后提供有关如何添加该记录的 DNS 提供商的说明。我 +1 你的问题,因为这是一个很好的问题,但它不是关于编程的,但我相信更多地属于 serverfault,不知道他们为什么不告诉你。
可能是我提出的。伪造发件人地址是因 SPF 失败而被退回的好方法;回复是要走的路。使用 VERP 寻址进行退回处理,以确保您可以分辨出原始邮件发送到的地址(由于 Exchange 无用,您不能总是分辨出其他地址)。否则我同意 henry 的回答 - 包含 SPF 可以解决很多问题,这就是我在 smartmessages.net 尽可能做的事情,因此您可能会发现 our docs on SPF 有用。我还建议研究 DKIM 和 DMARC,尽管 DKIM 很难自己实现。
我目前有一个系统,该系统使用 php 中的 swiftmailer 通过用户自己的邮件服务器发送大量邮件,在那一侧一切正常,但我最近开始通过设置我自己的 hmailserver 来跟踪退回邮件退回地址并将所有外发邮件的 return-path 设置为脚本更新数据库的服务器上的邮件帐户,这也可以 100%。
我遇到的唯一问题是我自己的邮件服务器的 SPF 记录非常严格,并且 MTA 阻止用户使用我的退回帐户作为 return-path 从他们自己的服务器发送的邮件,因为 SPF 失败。
我在 serverfault 启动时发布了一个问题,有人向我解释说 spf 使用的不是邮件 header,而是 SMTP 信封。
基本上我的问题是为了更好的传递性,从我自己的邮件服务器发送所有邮件并将 reply-to 邮件地址设置为用户邮件帐户会更好,还是我应该欺骗来自邮件 header,还是我采取了错误的方法,有更简单的方法?
我明白你为什么要自己发送邮件而不使用邮件服务来省钱。设置 "Reply-To" 字段的唯一问题是一些邮件客户端无法识别它,它们仍然会在 5322.FROM 字段上做出响应。但为什么不直接要求您的客户设置 "SPF" 以将您的 SPF 记录包含在他们的 DNS 中。这就是其他电子邮件营销程序所做的,只是有点麻烦。只需向他们提供有关 SPF Record and point them to an SPF Wizard 的半技术资源,并告诉他们在向导中添加 include:<your spf record>
。然后提供有关如何添加该记录的 DNS 提供商的说明。我 +1 你的问题,因为这是一个很好的问题,但它不是关于编程的,但我相信更多地属于 serverfault,不知道他们为什么不告诉你。
可能是我提出的。伪造发件人地址是因 SPF 失败而被退回的好方法;回复是要走的路。使用 VERP 寻址进行退回处理,以确保您可以分辨出原始邮件发送到的地址(由于 Exchange 无用,您不能总是分辨出其他地址)。否则我同意 henry 的回答 - 包含 SPF 可以解决很多问题,这就是我在 smartmessages.net 尽可能做的事情,因此您可能会发现 our docs on SPF 有用。我还建议研究 DKIM 和 DMARC,尽管 DKIM 很难自己实现。