自建邮件服务器是许多 VPS 用户曾经憧憬过的事,但实际搭建后往往发现:邮件被各大服务商当作垃圾邮件拒收,25 端口被封,配置复杂到令人抓狂。本文客观梳理自建邮件服务器的前置条件、必要配置(PTR/SPF/DKIM/DMARC)、常见难题,帮你在动手之前做出明智的判断:是否值得自建?
本文要点
- 25 端口:为什么多数 VPS 默认封禁,如何申请解封
- PTR 记录:自建邮件服务器的第一道门槛
- SPF / DKIM / DMARC:三大送达率保障机制详解
- 影响送达率的其他因素
- 自建 vs 托管邮件服务的理性对比
25 端口的现实
SMTP 发信使用 25 端口。为防止垃圾邮件滥发,绝大多数云服务商(包括搬瓦工)默认对出站 25 端口进行封锁。在此状态下,VPS 发出的邮件根本到达不了目标服务器。
| 情况 | 说明 |
|---|---|
| 25 端口默认封禁 | 多数 VPS 为防滥发,出站 25 端口关闭 |
| 申请解封 | 部分服务商可提交工单申请,需说明合法用途,不保证通过 |
| 替代方案 | 使用 587(STARTTLS)或 465(SMTPS)经第三方中继发信 |
先确认 25 端口状态
telnet smtp.gmail.com 25若连接超时,说明 25 端口已被封,需先申请解封或改用中继发信。
PTR(反向解析)记录
邮件服务器的 IP 必须有正确的 PTR 记录(rDNS),且通常要与发件域名匹配。收件服务器会通过反向解析验证发件方身份,没有 PTR 或 PTR 不匹配往往直接被拒收或进垃圾箱。
- 在 KiwiVM 的 rDNS 设置中,将服务器 IP 的反向解析设为邮件服务器主机名(如 mail.example.com)
- 确保 mail.example.com 的 A 记录已正确指向该 IP
- 用
dig -x 你的IP验证 PTR 生效
SPF 记录
SPF(Sender Policy Framework)通过 DNS TXT 记录声明哪些 IP 被允许代表你的域名发信:
# 在你的域名 DNS 中添加 TXT 记录(example.com 替换为你的域)
# 记录名:@(或 example.com)
# 记录值示例:
"v=spf1 ip4:你的IP地址 -all"
# 含义:只允许该 IP 发信,其他来源一律拒绝
# 验证 SPF:
dig TXT example.comDKIM 记录
DKIM(DomainKeys Identified Mail)用私钥对邮件签名,收件方用 DNS 中的公钥验证签名,证明邮件内容在传输过程中未被篡改:
- 邮件服务器(如 Postfix + OpenDKIM)生成密钥对
- 将公钥以 TXT 记录形式发布到 DNS(
selector._domainkey.example.com) - 私钥留在服务器,对每封发出的邮件签名
- 用在线 DKIM 验证工具确认签名正确
DMARC 记录
DMARC 在 SPF 和 DKIM 的基础上,声明当邮件未通过验证时收件方应如何处理,并发送报告:
# DNS TXT 记录
# 记录名:_dmarc.example.com
# 记录值示例:
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
# p=none → 仅监控,不执行操作(调试阶段用)
# p=quarantine → 可疑邮件进垃圾箱
# p=reject → 不合规邮件直接拒收(最严格)影响送达率的其他因素
- IP 声誉:新 IP 几乎没有历史声誉,需要「热身」期逐步建立
- 邮件内容:避免大量 HTML、附件、链接堆砌,触发内容过滤
- 退订机制:List-Unsubscribe 头部和一键退订是批量邮件的必备合规项
- 反弹处理:及时清理硬退订地址,否则高退信率会拉低 IP 声誉
自建 vs 托管邮件服务
| 对比项 | 自建邮件服务器 | 托管邮件服务 |
|---|---|---|
| 成本 | VPS 费用(已有则近零) | 按用量或用户数付费 |
| 维护复杂度 | 极高,需持续维护 | 低,服务商负责 |
| 送达率 | 需自行建立,初期差 | 有成熟声誉,开箱即用 |
| 数据掌控 | 完全自主 | 存储在第三方 |
| 适用场景 | 技术爱好者、特定合规需求 | 绝大多数普通用户 |
建议
小结
- 自建邮件服务器门槛高,首先确认 25 端口是否可用
- PTR 是基础,没有合法 PTR 邮件几乎必进垃圾箱
- SPF + DKIM + DMARC 三件套缺一不可
- IP 声誉需时间积累,新 IP 发信送达率普遍很低
- 普通用户推荐使用专业托管发信服务,省时省力
常见问题
搬瓦工 25 端口默认开放吗?
大多数搬瓦工套餐的出站 25 端口默认封禁。可尝试提交工单说明合法发信用途申请解封,但不保证通过。也可考虑通过 587 端口经第三方 SMTP 中继发信。
配置了 SPF/DKIM/DMARC 还是进垃圾箱怎么办?
三项配置是必要条件,但不是充分条件。IP 声誉(新 IP 历史为零)、邮件内容质量、退信率也会影响送达。可用 mail-tester.com 等工具诊断具体问题。
Postfix 和 Mailcow 哪个更适合新手?
Mailcow 是基于 Docker 的全栈邮件套件,自带 Web 管理界面,比手动配置 Postfix+Dovecot+OpenDKIM 简单很多,推荐给有一定 Docker 基础的用户。
如果只需要从网站发送注册/通知邮件,有更简单的方案吗?
有。使用第三方 SMTP 服务(如 Resend、Mailgun 免费套餐)并在应用中配置 SMTP 发信,无需自建邮件服务器,送达率更高、配置更简单。