多年来,电子邮件攻击有所增加,许多伪造的电子邮件看起来非常真实,足以欺骗用户和电子邮件系统。犯罪分子经常从看似属于知名公司、银行或受信任网站的地址发送电子邮件。当一个域名被用于发送伪造电子邮件时,收件箱提供商会对其失去信任。其中最重要的工具之一是发件人策略框架。SPF检查发送电子邮件的服务器是否得到域名所有者的允许。当SPF设置正确时,收件箱提供商可以更准确地识别真实邮件并过滤掉伪造邮件。本指南解释了什么是SPF记录,它是如何工作的,以及您如何设置它以实现更安全可靠的电子邮件传递。
了解SPF记录以确保安全邮件传递
SPF记录在维护电子邮件安全方面扮演着重要角色。它通知接收服务器哪些邮件服务器被允许为该域名发送邮件,并有助于防止垃圾邮件、网络钓鱼和邮件传递问题。
什么是SPF记录?
SPF记录是一种DNS TXT记录,旨在列举所有允许为某个域名发送邮件的服务器和服务。当收到来自某个域名的电子邮件时,接收邮件服务器会检查SPF记录,并验证发送服务器是否包含在批准列表中。
记录总是以版本标签开头:
v=spf1
此标签告诉邮件服务器该记录符合SPF标准。在此标签之后,列出定义哪些IP地址、传出服务和域名允许发送邮件的规则。
简而言之:
SPF告诉全世界哪些邮件服务器被允许从您的域名发送电子邮件。
使用SPF保护域名的主要好处
SPF有助于域名保护并提高电子邮件性能。主要优点是:
1. 保护您的域名免受欺骗
SPF会阻止冒充您域名发送电子邮件的欺诈服务器。如果启用了SPF,接收服务器可以立即检测到伪造邮件是从未在SPF记录中列出的服务器发送的。这可以防止恶意消息利用您的名称,并保护您的客户免受欺诈。
2. 提高您的邮件送达率
诸如Gmail、Outlook和Yahoo之类的接收提供商信任具有适当身份验证的域名。来自具有有效SPF记录的域名的电子邮件更有可能进入收件箱而不是垃圾邮件文件夹。正确的SPF设置对于使用多种电子邮件工具(如营销平台、CRM系统和交易邮件服务)的公司尤为重要。
3. 支持DMARC以实现更强保护
SPF是DMARC(一种更强的电子邮件身份验证策略)的主要组成部分之一。要使DMARC正常工作,您需要正确配置SPF或DKIM(或两者)。通过配置SPF,您可以稍后配置DMARC,以确切告知发送服务器应如何处理身份验证失败的邮件。
SPF如何工作及如何正确配置
SPF通过检查邮件发送服务器是否包含在域名的SPF记录中来工作。该过程通过以下简单的SPF工作步骤完成:
- 邮件到达接收服务器。
- 服务器检查源域的SPF记录。
- 将发出服务器的IP地址与允许的服务器列表进行比较。
- 返回 SPF = Pass, SPF = Fail, SPF = SoftFail, SPF = Neutral 等结果。
- 电子邮件提供商将此结果与其他检查相结合,以确定电子邮件是应该进入收件箱、垃圾邮件文件夹还是被拒绝。
以下是详细的设置过程。
适用于任何域名的分步SPF设置指南
设置SPF记录可能看起来技术性很强,但按照清晰的步骤操作很容易。在本指南中,我们将按顺序识别邮件来源、创建正确的SPF语法、将其发布到DNS,并解释验证过程以确保可靠的邮件传递。
步骤 1: 识别所有授权的发送来源
创建所有为您的域名发送电子邮件的服务器和服务的列表。许多域名在未被注意的情况下使用多项服务,任何遗漏都可能导致SPF错误。您必须包括:
- 网络托管服务器
- 企业电子邮件服务(Google Workspace, Microsoft 365等)
- 营销平台(Mailchimp, Brevo, ConvertKit等)
- 交易邮件服务(SendGrid, Amazon SES, Mailgun等)
- 用于发送自动电子邮件的CRM工具
- 支持工单系统
- 从您的域名发送电子邮件的自定义应用程序
在创建SPF记录之前掌握所有来源至关重要。如果您忽略了某项服务,来自该服务的电子邮件可能无法通过身份验证。
步骤 2: 构建SPF记录语法
所有SPF记录都以版本标签开头:
v=spf1
之后,添加定义允许邮件发送目标的机制和规则。
常见的SPF机制
1. ip4:
用于允许特定的IPv4地址或范围。
示例:
ip4:192.168.1.1
2. ip6:
用于允许IPv6地址。
示例:
ip6:2001:db8::1
3. include:
通过包含第三方服务的SPF记录来允许。
示例:
include:sendgrid.net
4. a
允许从域名A记录IP发送邮件。
5. mx
允许从列在域名MX记录上的服务器发送邮件。
选择最终限定符
在SPF记录的末尾,添加一个修饰符,告知接收邮件服务器如何处理未经授权的发件人。
SoftFail (~all):
让电子邮件通过,但将其标记为可疑。
用于首次测试和设置SPF时。
HardFail (-all):
拒绝所有未在SPF记录中列出的电子邮件。
仅在全面测试后使用。
SPF语法示例
基本示例:
v=spf1 ip4:192.168.1.10 include:sendgrid.net include:_spf.google.com ~all
步骤 3: 在您的DNS中发布SPF记录
要发布SPF记录:
- 登录到您的域名注册商或托管提供商。
- 转到DNS管理屏幕。
- 创建一个新的TXT记录。
- 在"名称"字段中输入 @(根域)。
- 将完整的SPF记录粘贴到"值"字段中。
- 保存记录。
DNS更新可能需要几分钟到几小时,具体取决于提供商。
步骤 4: 验证SPF记录
记录发布后:
- 使用在线SPF检查器检查其是否正常工作。
- 发送测试电子邮件到您的Gmail、Outlook、Yahoo收件箱并检查邮件头。
检查以下结果:
spf=pass
如果您看到 fail、neutral 或 softfail,请检查以下内容:
- IP地址
- include: 机制
- DNS查找次数(必须少于10次)
步骤 5: 维护和更新记录
SPF不是设置好后就可以置之不理的记录。确保在以下情况下进行更新:
- 添加新的电子邮件营销工具
- 更改您的托管提供商
- 添加具有电子邮件发送功能的CRM和计费系统
- 停止使用发送服务
- 更改您的IP地址
此外,请注意DNS查找限制。SPF最多允许10次DNS查找。超过此限制将导致整个记录失效。
您必须避免的常见SPF错误
SPF设置中的轻微错误可能导致电子邮件传递问题,并使域名面临被欺骗的风险。了解最常见的错误以避免问题,并确保电子邮件送达收件人。
1. 使用 +all 限定符
+all 修饰符允许几乎任何服务器冒充您的域名发送电子邮件。这会使SPF的目标失效,并使域名容易受到欺骗和网络钓鱼攻击。始终避免使用 +all,并改用 ~all 或 -all 以获得适当的保护。
2. 创建多个SPF记录
一个域名只能存在一个SPF记录。当添加多个记录时,SPF检查会完全失败。为避免这种情况,请将所有授权的发出服务器和服务集成到一个SPF记录中。通过适当集成,来自所有合法来源的电子邮件都将通过身份验证。
3. 超过DNS查找限制
SPF记录最多允许10次DNS查找。过度使用 include: 命令和机制会超过此限制并导致SPF验证失败。如果您需要大量服务,请考虑扁平化SPF记录或审查不必要的条目以使其符合限制。
4. 服务变更时忘记更新
当添加、删除或更换电子邮件服务时,请务必更新SPF记录。如果您未能更新,合法的电子邮件可能无法通过SPF检查并被标记为垃圾邮件。定期检查SPF记录以确保其与您当前的电子邮件设置匹配。
5. 缺少自定义服务器的IP地址
如果您运行自己的邮件服务器或通过自定义应用程序发送电子邮件,则必须将这些IP地址包含在您的SPF记录中。如果未列出这些地址,电子邮件身份验证将失败,送达率会降低,并且邮件被标记为可疑的风险会增加。
关于SPF、DMARC和电子邮件安全的最终思考
SPF是保护您的域名免受虚假电子邮件侵害的最简单、最有效的方法之一。它验证可以代表您发送域名的实体,并支持安全可靠的电子邮件传递。
然而,仅靠SPF无法解决所有电子邮件安全问题。为了获得全面保护,还应配置DKIM和DMARC以构建强大的身份验证系统。如果您正在管理您的网站、在线商店或企业电子邮件,请花几分钟时间检查您的SPF记录。确保包含了所有服务,并且没有超过DNS查找限制。
正确的SPF设置有助于您的邮件到达收件箱,防止域名被利用,并与您的客户建立信任。






