2012-01-05 142 views
0

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

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

+0

是的,您可以在自己的服务器上设置SPF,发件人ID和DKIM。 – ceejayoz 2012-01-05 19:01:04

+0

的确如此,但仍然存在一个主要问题。如果您只是控制example.com,则只能为example.com设置SPF记录,发件人ID和DKIM。您无法为domain.com设置这些设置。 CampaignMonitor正在帮助其用户设置其域名记录,以便CampaignMonitor的服务器可以通过认证的电子邮件发件人身份验证。 @丹:你是否控制了两个域? – 2012-01-05 22:05:06

+0

@EricBrandel,谢谢你的评论。我确实控制这两个域。 – Dan 2012-01-05 22:20:45

回答

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信封中的反向路径,虽然通常它们与个人邮件相同。您可以在收到的任何邮件中查看这些邮件:打开邮件的来源,然后查找返回路径以及From标题。

+1

如果domain.com也自己发送电子邮件,则您希望使用_include_而不是重定向:'include:example.com' – 2012-01-06 16:11:26

0

您还可以添加domain.com的IP地址的SPF记录以及..

事情是这样的..

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

与domain.com的IP地址更换XXXX ,您可以将SPF记录与其他成员的所有建议一起纳入其中