【邮件自托管 01】用 VPS 自建邮件服务器:能省钱但坑比想象多

不想每年交邮件订阅费?在 VPS 上自建 Postfix/Dovecot 邮局可行,但 IP 声誉、SPF/DKIM/DMARC、进垃圾箱才是真难题。一篇说清利弊、中继方案与 Mailcow / iRedMail 选型,帮你判断到底值不值得。

每年交 Google Workspace、微软或者腾讯企业邮的订阅费,看着不算多,但攒几年也够再买几台 VPS 了。于是有人动念头:反正我有一台闲置的 VPS,能不能自己搭个邮件服务器,域名邮箱随便建,永久免费?答案很残酷:技术上能,工程上坑比你想的多得多。IP 声誉、25 端口、SPF/DKIM/DMARC、进垃圾箱——随便哪一样都能让你发出去的邮件石沉大海。本文把自建邮局的利弊、三件套认证、中继方案、软件选型一次说清,帮你判断到底值不值得折腾。

延伸阅读

更多相关攻略推荐:Ollama AI系列(2):VPS上的AI推理与API应用Ollama AI系列(2):VPS上的AI推理与API应用【CPU选型 01】搭载 AMD Ryzen 9950X 的 VPSARM / Ampere 席卷 VPS:性价比真香还是兼容陷阱?Ollama AI系列(2):VPS上的AI推理与API应用

先泼冷水:自建邮局为什么比买订阅难得多

买邮件订阅,服务商替你扛了最难的活:IP 声誉是养了几年的、送达率有保证、出了垃圾邮件问题他们背锅。自己搭,这些全变成你的责任。难点集中在三块:第一,你 VPS 的 IP 很可能是“二手”的,前任拿它发过垃圾邮件,早被 Spamhaus 之类的黑名单记了一笔;第二,很多便宜 VPS 厂商(尤其是低价年付机)默认封掉 25 端口,你根本发不出去;第三,就算发出去了,对方邮箱(Gmail、QQ、网易)看你是个陌生小 IP,默认当可疑件处理,直接扔垃圾箱。所以“免费”的代价,是你要当半个邮件运维。

进垃圾箱的真正原因:IP 声誉与 25 端口

邮件系统和网页不一样,它没有“打不开”这么痛快,坏结果往往是安静地进垃圾箱,你和用户都以为发了。决定成败的关键是发送 IP 的声誉:大厂邮件服务商会维护一套信誉数据库,新 IP 一上来就被压低权重。更现实的是黑名单——如果你的 IP 出现在 Spamhaus SBL、Barracuda 等 RBL 上,主流邮箱会直接拒收。

另一个硬伤是 25 端口。SMTP 发信用 25 端口,但许多 VPS 厂商为了不被拿来发垃圾邮件,默认封掉它;有的要你工单申请解封,有的干脆不解。就算解封了,你还得自己配好 PTR(反向 DNS),让 IP 反查回来是你的 mail.example.com,否则 Gmail 这类服务商直接判你不合格。这不是改两行配置能解决的,是基础设施层面的门槛。

SPF / DKIM / DMARC 三件套:身份认证的原理与示例

三件套是邮件“我是我、我没被改”的身份证,少一个都容易被当骗子。原理通俗讲:

  • SPF(发件人策略框架):在 DNS 里声明“哪些 IP 有权代表我的域名发信”。收件方一查,发现来信 IP 不在白名单就拒收或标垃圾。示例:v=spf1 a mx ip4:45.61.123.45 ~all。
  • DKIM(域名密钥识别邮件):用一对密钥给每封邮件签名,公钥放 DNS 的 TXT 里。收件方用公钥验签,证明邮件中途没被篡改、确实出自你的域名。Gmail 要求 DKIM 密钥至少 1024 位,推荐 2048 位。
  • DMARC:把 SPF 和 DKIM 的结果串起来,告诉收件方“验证失败该怎么处理”。策略从松到严:p=none(只监控)、p=quarantine(进垃圾箱)、p=reject(直接拒)。示例:v=DMARC1; p=none; rua=mailto:dmarc@example.com。

正确姿势是:先用 p=none 跑两到四周收集报告,确认所有合法发送源都认证通过,再逐步升到 quarantine、最后 reject。别一上来就 reject,否则你自己的合法邮件可能也收不到。

Gmail/Yahoo 2024 新规:不认证就进垃圾箱

这是 2024 年最该记住的硬事实:从 2024 年 2 月 1 日起,Google 和 Yahoo 对每天发往其账户超过 5000 封的“大批量发送者”强制执行新规则。要求三条认证全过(SPF + DKIM + DMARC,且域名要对齐),营销邮件必须支持 List-Unsubscribe 一键退订,垃圾投诉率必须低于 0.3%(目标是 0.1%),发送 IP 要有合法 PTR 且走 TLS。不合规的邮件会被拒收或进垃圾箱。

对自建小邮局意味着什么?如果你只是自己收发、每天几百封,底线要求是 SPF 或 DKIM 至少配一个、DNS 记录正确;一旦你拿它做群发、通知、营销,触到 5000 封/天的线,三件套一个都不能少,还得加一键退订头。微软(Outlook/Hotmail)2025 年也跟进了类似高量发送规则。换句话说,2024 之后“裸奔发信”基本等于发到黑洞。

中继方案:用 Amazon SES / Mailgun 救回送达率

如果你受够了自建发信进垃圾箱,最务实的解法是:收信和网页邮箱自己搭(Postfix + Dovecot),发信走中继(relay / smarthost)。也就是把出站的 25 端口交给有信誉的第三方,比如 Amazon SES、Mailgun、SendGrid。这些服务商的 IP 声誉是养好的,发出去更容易进收件箱。

  • Amazon SES:单价极低(每千封约 0.1 美元),但需要申请解除沙箱、验证域名,且对新账户有每日发送上限,适合事务邮件(验证码、通知)。
  • Mailgun:对开发者友好,免费额度小、按量计费,文档清楚,适合中小项目。
  • 配置思路:在 Postfix 里设 relayhost 指向 SES 的 SMTP 端点,并用 DKIM 由 SES 侧签名,DNS 里把 SES 的发送域名并进 SPF 和 DKIM。这样你的域名邮件借着大厂的声誉出海,送达率立竿见影。

中继的本质是“花钱买声誉”。相比你花几个月养一个新 IP 还未必养得起来,每月几美元换稳定送达,对正经业务几乎是必选项。

邮局软件怎么选:Mailcow 还是 iRedMail

别从零手敲 Postfix 配置,用现成套件省心。两款开源方案最常被拿来比:

  • Mailcow:基于 Docker 的一站式邮局,把 Postfix、Dovecot、Rspamd(反垃圾)、Redis、MySQL 全打包进容器,一条 docker-compose 拉起。优点是最省心、组件新、界面现代;缺点是吃内存(建议 2GB 起步),且强依赖 Docker,不想要容器化的会别扭。
  • iRedMail:一个安装脚本,在 CentOS / Debian / Ubuntu 上把 Postfix、Dovecot、Roundcube 网页邮箱、OpenDKIM、Fail2ban 等一次性装好,跑在宿主机而非容器里。优点是轻量、透明、好排查;缺点是版本绑定系统,升级时要小心,默认组件略传统。

选择建议:想要“装完就能用、不想深究”就上 Mailcow;想要完全掌控、机器小、熟悉 Linux 就选 iRedMail。两者都能自动帮你生成 SPF/DKIM/DMARC 的 DNS 模板,但你仍要去 DNS 后台把那些 TXT 记录真正加上去——软件生成不等于已生效。

什么时候值得自建,什么时候纯属自虐

值得自建的场景:你有多域名、多邮箱、重视数据完全自主不想被服务商审查;你主要收信 + 少量发信(比如服务器告警、自己域名邮箱);你愿意花时间养 IP、盯黑名单。这类人自建邮局能省下长期订阅费,且隐私更好。

不值得的场景:你要群发营销、通知、transactional 邮件给大量外部用户;你没精力做 IP 预热和声誉维护;你的 VPS 厂商封 25 端口又不给解。这类情况下,自建的送达率会让你怀疑人生,老老实实买 SES/Mailgun 或企业邮才是正路。一句话:把邮局当“个人基础设施”值得,当“群发营销工具”是自找麻烦。

合规与滥用:别把 VPS 变成垃圾邮件发射器

最后必须泼一盆合规的冷水。VPS 是公共资源,厂商对 25 端口严防死守,正是因为垃圾邮件是整个行业的公害。你在自己 VPS 上发信,要守住几条红线:第一,只发你有权发的人(双 opt-in 订阅,别买名单);第二,带真实退订链接,收到退订立刻停;第三,遵守 CAN-SPAM、GDPR 等法规,邮件里留实体信息和退订方式;第四,盯紧服务器别被黑、别成开放中继(open relay)——一旦被利用发垃圾邮件,你的 IP 进黑名单事小,VPS 被厂商封机停机事大。自建邮局的自由,是建立在“不乱发”的前提上的。