使用CloudFlare设置SPF / DKIMlogging

什么是设置SPFlogging的正确方法?

使用TXT并添加以下内容?

v=spf1 a mx include:mydomain.tld ~all 

更新:

使用以下内容之后:

 v=spf1 a mx ~all 

我得到这个:

 Received-SPF: temperror (google.com: error in processing during lookup of [email protected]: DNS timeout) client-ip=xx218.7; Authentication-Results: mx.google.com; spf=temperror (google.com: error in processing during lookup of [email protected]: DNS timeout) [email protected] Received: from PHPUSERNAME by SERVER.MYDOMAIN.TLD with local (Exim 4.77) (envelope-from <[email protected]>) id xxxxxxxxxxxxxxxx for [email protected]; 

如果你还没有findwww.openspf.org,这是一个很好的资源。 请注意SPF与发件人ID主题。 退房http://www.openspf.org/SPF_Record_Syntax为沮丧和肮脏&#x3002;

如果您正在托pipe您自己的邮件服务器,并且您的MXlogging构成唯一的发送服务器,那么您只需使用“mx”机制即可。

如果您的电子邮件使用托pipe服务(例如Google Apps),或者甚至将内部SMTP服务器的外发邮件转发到SendGrid之类的服务,请检查这些服务以获取特定的SPFconfiguration说明。

编辑添加更好的SPF,机制和限定词的描述

当支持使用SPF的邮件交换接收到电子邮件时,它会查看发件人的域名([email protected])和发送邮件的服务器的IP地址。 问题是,该IP地址是否有权代表发件人域(sendingdomain.tld)发送电子邮件?

为了回答这个问题,服务器从声称域(sendingdomain.tld)中检索SPFlogging(作为DNS TXTlogging存储),并根据该SPFlogging检查发送服务器的IP地址。

SPF使用机制来创build电子邮件的有效发送服务器列表。 每个机制都可以用+, – ,〜或者? 前缀(这个信息来自OpenSPF :

“+”表示通过(或有效) – 注意:这是默认操作
' – '表示失败(或无效)
“〜”表示软失败(被许多服务器视为中立)
'?' 意味着中立(有效性既不被确认也不被否认)

当一个logging正在评估,它匹配从左到右的第一个机制 。 如果没有机制匹配,默认结果是中立的

一般来说,“全部”机制匹配一切,所以…

“+全部”机制意味着,所有服务器都是该域的有效发件人(不要使用此选项)。

“全部”机制失败所有发送服务器。 在SPFlogging的末尾使用此选项来覆盖中性的默认结果,并显示失败结果。 有些服务(比如谷歌)对此提出警告,但我还没有遇到任何问题。

“〜全部”和“全部”机制相当于“如果发送服务器与任何列出的有效服务器不匹配,请不要担心”。仅将这些用于testingSPFlogging。

有关完整的机制列表,请参阅OpenSPF的“logging语法”页面。

我想在这里讨论的另一个机制是'include:<domain>'。 此机制指示服务器parsingSPFlogging,以包含由<domain>托pipe的另一个SPFlogging中指定的其他机制。

例子:

如果您的域使用相同的服务器(如同一个IP地址)发送和接收:

  • v = spf1 mx -all
  • 以上相当于,v = spf1 + mx -all

如果您使用Google Apps托pipe邮件,但有时会使用内部SMTP服务器来发送自动邮件:

  • v = spf1 ip:<内部服务器的IP地址> include:_spf.google.com -all

DKIM是一个不同的野兽。 如果您使用的是托pipe电子邮件服务,请查看该服务的说明。 如果您托pipe自己的邮件交换,请查看您的服务器软件的文档以了解如何实施它。 这有点超出了这个问题的范围。