从全新服务器 IP 发出的邮件,即使内容完全正当,也经常进入垃圾箱,甚至被直接拒收。邮箱服务商判断一个新 IP,首先看它的技术配置,之后几周再看它的发信行为。本文梳理决定邮件能否被接收的检查清单:出站 25 端口、反向解析、SPF、DKIM 和 DMARC、TLS、Gmail 与 Yahoo 的发件人要求、如何预热新 IP,以及如何测试效果。如需搭建完整的邮件服务器,另请参见使用 Mailcow 或 Postal 自建邮件服务器。
为防止垃圾邮件,许多服务商默认封锁出站 25 端口。请在服务器上测试:
# Should print "Connected" or an SMTP banner starting with 220
nc -vz -w 5 gmail-smtp-in.l.google.com 25
timeout 5 bash -c 'cat < /dev/tcp/gmail-smtp-in.l.google.com/25' | head -1
如果连接超时,说明你的服务封锁了出站 SMTP;请提交工单,并说明你将发送哪类邮件。
IP 的 PTR 记录应解析到你的邮件主机名,而该主机名的 A 记录也要指回同一个 IP(即正向确认的反向解析,FCrDNS)。服务器与其他邮件服务器握手(HELO/EHLO)时也应使用这个主机名。
dig -x 203.0.113.10 +short # expect: mail.example.com.
dig mail.example.com A +short # expect: 203.0.113.10
hostnamectl set-hostname mail.example.com
postconf -e 'myhostname = mail.example.com' # if you use Postfix
反向解析由 IP 段的所有者设置,参见 设置 rDNS / PTR 记录。
SPF 列出了允许代表你的域名发信的服务器。在域名上发布一条 TXT 记录:
example.com. TXT "v=spf1 ip4:203.0.113.10 -all"
# If you also send through another service, include it in the same single record, e.g.
# "v=spf1 ip4:203.0.113.10 include:_spf.example-mailservice.com -all"
dig TXT example.com +short
每个域名只能有一条 SPF 记录,存在两条记录会导致 SPF 校验失败。
DKIM 会为每封邮件添加加密签名。大多数邮件套件(Mailcow、iRedMail、Mail-in-a-Box)会自动生成密钥;如果使用 Postfix 和 OpenDKIM:
apt install -y opendkim opendkim-tools
mkdir -p /etc/opendkim/keys/example.com
opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com/
chown -R opendkim:opendkim /etc/opendkim/keys
cat /etc/opendkim/keys/example.com/mail.txt # the DNS record to publish
# After publishing mail._domainkey.example.com TXT "v=DKIM1; k=rsa; p=..." check it:
dig TXT mail._domainkey.example.com +short
然后按照所用发行版的文档,将 OpenDKIM 作为 milter 接入 Postfix,并确认发出的邮件带有 DKIM-Signature 邮件头。
DMARC 告诉收件方:当 SPF 和 DKIM 与发件人(From)域名不对齐时应如何处理,并向你发送报告。建议先从监控模式开始,等报告确认正常后再逐步收紧策略。
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
# Later, when legitimate mail passes consistently:
# "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
# "v=DMARC1; p=reject; rua=mailto:[email protected]"
自 2024 年起,Gmail 和 Yahoo 要求所有发件人具备有效的 SPF 或 DKIM、正向确认的反向解析和 TLS,并保持较低的垃圾邮件投诉率。批量发件人(每天向 Gmail 发送约 5,000 封及以上)还必须同时配置 SPF 和 DKIM、设置 DMARC 记录、保证 From 域名对齐,并为营销邮件提供一键退订。请在邮件服务器上使用有效的 TLS 证书(参见使用 Certbot 或 acme.sh 申请免费 SSL 证书),确保连接经过加密。
新 IP 没有任何信誉积累,第一天就大量发信,看起来就像在群发垃圾邮件。应逐步提高发送量,并优先发给最可能打开和回复的收件人。
| 阶段 | 每日发送量(参考) | 说明 |
|---|---|---|
| 第 1–3 天 | 50–100 | 最活跃的收件人、事务类邮件 |
| 第 4–7 天 | 200–500 | 关注退信情况和进入垃圾箱的比例 |
| 第 2 周 | 1,000–2,000 | 仅在投诉率保持较低时继续提量 |
| 第 3–4 周 | 每隔几天翻一倍 | 一旦延迟投递(deferral)增多,立即降量 |
在 Google Postmaster Tools 中注册你的域名,并在 Microsoft SNDS 中注册你的 IP,即可查看这些服务商对你的发信流量的评价。
Authentication-Results 邮件头中必须显示 spf=pass、dkim=pass 和 dmarc=pass。这说明问题出在信誉和内容上。请放慢发送速度,只发给活跃的收件人,移除会退信的地址,避免使用短链接和纯图片邮件,并给 IP 和域名几周时间积累发信记录。
如果两类邮件都发,建议分开。将事务类邮件(密码重置、账单)放在独立的 IP 和域名或子域名上,可以避免受到营销活动信誉的影响。
发送量较大时,通常是的。你仍然可以在自己的服务器上运行应用,再通过信誉良好的邮件投递服务中继发信,由对方负责维护 IP 信誉。
如果按以上步骤操作后问题仍未解决,请提交工单联系 IMIDC 7×24 技术支持,并附上服务器 IP、邮件主机名和域名、25 端口测试结果以及完整的退信内容或测试报告,方便工程师快速定位。