Home Knowledge base Skyline Cloud 如何解决邮件进入垃圾箱的问题:SPF、DKIM 与 DMARC 指南 KNOWLEDGE BASE

如何解决邮件进入垃圾箱的问题:SPF、DKIM 与 DMARC 指南

合法邮件被投入垃圾箱,几乎都源于认证缺失或损坏、发件人信誉不佳,或内容与列表卫生问题。本指南按重要性顺序逐层讲解如何正确配置 SPF、DKIM 与 DMARC,设置反向 DNS(PTR),并养成良好的发送习惯,让你的邮件稳稳进入收件箱。

如何解决邮件进入垃圾箱的问题:SPF、DKIM 与 DMARC 指南

为什么你的邮件会进入垃圾箱

当合法邮件被投入垃圾箱时,原因几乎总是以下三者之一:认证(SPF、DKIM、DMARC)缺失或损坏、发件人信誉不佳(IP 不良、缺少反向 DNS、垃圾邮件投诉),或内容与列表卫生方面的问题。Gmail、Outlook 以及企业网关等垃圾邮件过滤器会为每一封邮件打分;而修复认证通常能带来最显著、最快速的改善。

本指南将按重要性顺序逐层讲解。下文的 DNS 记录使用通用占位符——请将 example.com 替换为你自己的域名,并使用邮件服务商提供的确切值。如果你在 Skyline Cloud 上托管企业邮箱或发送应用,这些记录会在控制面板中为你自动生成。

第 1 步:在做任何改动之前先确认问题

向一个 Gmail 账户发送一封测试邮件,打开它,然后使用显示原始邮件(三点菜单)。在顶部附近你会看到:

SPF:   PASS with IP 203.0.113.10
DKIM:  PASS with domain example.com
DMARC: PASS

如果其中任何一行显示 FAILSOFTFAILNONE,那就是问题所在。同时使用 Google 的 Check MX / mail-tester.com 等工具检查邮件头,它会给出一个数字评分和一份检查清单。不要凭猜测——让诊断工具告诉你哪条记录出了问题。

第 2 步:发布正确的 SPF 记录

SPF 告诉接收方哪些服务器可以代表你的域名发送邮件。你需要在域名根部发布一条 TXT 记录。

Type:  TXT
Host:  @
Value: v=spf1 include:_spf.alskyline.com -all

容易让人栽跟头的规则:

  • 每个域名只能有一条 SPF 记录。多条 v=spf1 记录会导致永久失败——请将它们合并为一条。
  • 对每一项代表你发送邮件的服务(你的邮件主机、营销平台、应用服务器)都使用 include:
  • 严格强制执行时以 -all(硬失败)结尾,测试阶段则使用 ~all(软失败)。
  • SPF 的 DNS 查询次数不得超过 10 次;过多的 include: 语句会导致 permerror

第 3 步:启用 DKIM 签名

DKIM 为每封邮件添加一个加密签名,使接收方能够确认邮件未被篡改且确实来自你的域名。你的服务商会提供一个公钥,供你在一个**选择器(selector)**子域名下发布为 TXT(或 CNAME)记录:

Type:  TXT
Host:  s1._domainkey
Value: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ...

发布后,在你的邮件控制面板中为该邮箱或域名启用签名。在一封全新的测试邮件中确认出现 DKIM: PASS。选择器(上文中的 s1)必须与你服务器签名时使用的完全一致。

第 4 步:添加 DMARC 策略

DMARC 将 SPF 与 DKIM 关联起来,告诉接收方如何处理认证失败的邮件,并向你发送报告。请从监控模式开始,以免阻断你自己的邮件:

Type:  TXT
Host:  _dmarc
Value: v=DMARC1; p=none; rua=mailto:dmarc@example.com; fo=1

一旦报告确认你的合法邮件均能通过认证(给它 1–2 周时间),就收紧策略:

v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100

随后转为 p=reject,以获得针对欺骗(spoofing)的完整防护。切勿一开始就使用 p=reject——在对齐(alignment)得到验证之前,你有可能把自己的邮件隔离掉。

记录 主机 用途 常见故障
SPF @ 授权发送 IP 多条记录 / 查询超过 10 次
DKIM s1._domainkey 签名并验证完整性 选择器错误 / 密钥被截断
DMARC _dmarc 策略 + 报告 过早使用 p=reject

第 5 步:设置反向 DNS(PTR)和真实的 HELO 名称

如果你从自己的服务器或 VPS 发送邮件,发送 IP 必须有一条能解析回某个主机名的 PTR 记录,并且该主机名应有一条相匹配的正向 A 记录。反向 DNS 不匹配或缺失,是邮件被拒收或被判为垃圾邮件最常见的原因之一。

# 检查发送 IP 的 PTR
dig -x 203.0.113.10 +short
# Expected: mail.example.com.

# 确认正向记录相匹配
dig +short A mail.example.com
# Expected: 203.0.113.10

PTR 记录由控制该 IP 段的一方设置——也就是你的托管服务商,而非你的 DNS 注册商。在 Skyline VPS 或云服务器上,你可以从控制面板申请 PTR。请确保你的邮件服务器的 HELO/EHLO 问候语使用的是同一个完全限定主机名,而不是裸名称或内部名称。

第 6 步:改善内容与列表卫生

认证让你进入收件箱;内容让你留在收件箱。

  • 只发给期待收到你邮件的人。 高退信率和垃圾邮件投诉对信誉的破坏比任何因素都快。请删除无效地址,并立即响应退订请求。
  • 保持合理的文本与图片比例。 纯图片邮件、大量短链接或具有误导性的主题行都会拉高评分。
  • 为群发邮件添加 List-Unsubscribe 头(Gmail 和 Yahoo 对大批量发件人有此要求)。
  • 逐步预热新的 IP 和域名——来自冷 IP 的突发大量邮件看起来就像垃圾邮件。
  • 让 From 地址与已认证的域名相匹配。 即便其他地方的 SPF/DKIM 有效,一个对齐失败的 From: you@example.com 信封仍会被扣分。

第 7 步:验证并持续监控

待记录传播生效后(请预留最多数小时以等待 DNS TTL),重复 Gmail 的 显示原始邮件 测试,争取让三行全部显示 PASS。使用 mail-tester.com 获取一个数字评分——目标是 9–10/10。然后持续关注你的 DMARC rua 报告以及服务商的送达率仪表盘,以便尽早发现信誉下滑。

沙特/海湾地区说明

对于王国境内的机构而言,将邮件和数据保留在境内有助于满足 PDPL 的数据驻留要求,并在送达率问题紧急时为你提供阿拉伯语支持。将企业邮箱和发送基础设施托管于本地服务商,还意味着 PTR/反向 DNS 与 DNS 变更由一个负责任的团队统一处理,而非分散在多家离岸供应商之间。如需关于应用层与 SMTP 发送的更深入指导,请参阅事务性邮件与 SMTP 专题

小结

大多数垃圾邮件问题都可以通过三条记录解决:一条正确的单条 SPF、可正常工作的 DKIM 签名,以及循序渐进的 DMARC 策略——再辅以有效的反向 DNS和良好的发送习惯。用真实的测试邮件验证,然后持续监控你的报告。

需要预先配置好这些记录、可靠的王国境内企业邮箱吗?创建你的 Skyline Cloud 账户,从第一天起就让你的邮件通过认证。

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.