使用域验证电子邮件发件人

时间:2012-01-05 18:59:45

标签: php email smtp email-spam spf

我有一个简单的PHP表单,可以通过name@domain.com向访问者发送电子邮件。我的表单存在于example.com上。由于来自电子邮件的域与其来源不匹配,因此它可能看起来像垃圾邮件。有没有办法验证域名?

Campaign Monitor为此构建了一些东西,但我想知道是否有一个框架或方法在Campaign Monitor之外使用相同的逻辑。 http://help.campaignmonitor.com/topic.aspx?t=88

2 个答案:

答案 0 :(得分:2)

您必须设置SPF记录,并授权example.com的外发邮件服务器以domain.com的名义发送邮件。

在实践中,您必须添加类似以下TXT(如果可能的话,更新的SPF)DNS记录:

domain.com.  TXT  "v=spf1 redirect=example.com"
example.com.  TXT "v=spf1 a:mail.example.com"

有关详细信息,请参阅SPF Record Syntax

另请注意,SPF根本不会检查“发件人”地址,您可以使用您想要的任何域名。它是SMTP信封中的反向路径,但通常它们对于个人邮件来说是相同的。您可以在收到的任何邮件中查看这些邮件:打开邮件来源,查找Return-Path,当然还有From头。

答案 1 :(得分:0)

您也可以将domain.com的IP地址添加到SPF记录中。

像这样......

example.com.  TXT "v=spf1 a mx ip4:x.x.x.x ~all"

将x.x.x.x替换为domain.com的IP地址,使用spf记录,您可以将其他成员的所有建议合并到其中