构图:身着北欧战术铠甲的 NordBastion 北极熊吉祥物站在一个发光的黄铜邮政金库旁,密封信封符号像发光的飞蛾一样在四周环绕,金库门上挂着一块写着「端口 25 开放」的黄铜铭牌,头顶是横跨峡湾之夜的极光
使用场景 · 邮件服务器 · 2026 年更新

你自己的收件箱。
在 25 端口上。默认开放。免 KYC。

在 Garrison($11.90/月)上跑 Mailcow,第一分钟起 25 端口就开放——无需工单、无需签署 AUP。少数几家你真能发邮件而不只是收邮件的无 KYC 主机之一。

简而言之
  • 01

    Garrison $11.90/月 可以为个人或家庭邮箱舒适地承载 Mailcow;Ravelin $23.90/月 适合带 rspamd、ClamAV 和 Sogo 的小团队生产环境技术栈。

  • 02

    每一档都默认开放 25 端口——大多数无 KYC 主机都封掉它。PTR/rDNS 通过控制面板工单配置;其余就是 SPF + DKIM + DMARC + MTA-STS。

  • 03

    北欧的发件人 IP 段,受到 Gmail/Outlook365 的良好尊重——与「廉价美国 VPS」段不共享历史。免 KYC 注册,让收件箱不会成为指向你姓名的纸面记录。

为什么要折腾

究竟为什么要自托管邮件服务器。

电子邮件是互联网上最古老的通用标识符。你用来注册银行、税务机关、域名注册商、密码管理器的那个地址——那个地址就是其他一切的恢复入口。把这个入口交给第三方邮箱服务商,就等于把其他一切的恢复入口的钥匙都交了出去。

自托管邮件曾是默认配置;当反垃圾邮件军备竞赛使投递性能真正变难,而大型免费服务商把邮箱托管变成相邻产品的引流亏损项时,它就成了例外。结果就是集中化:少数几家服务商处理着公开互联网上大部分的个人邮件。这种集中化对下游每个人来说都是单一的政策失败点。

运维层面的故事比传言更容易处理。Mailcow 提供一份包含一切的 docker-compose 技术栈(Postfix、Dovecot、rspamd、ClamAV、Sogo 网页邮箱、Z-Push);投递性能的难点(SPF、DKIM、DMARC、MTA-STS、PTR)都有详尽文档;IP 信誉预热是一个以周为单位、而不是以月为单位的已知流程。真正难的部分是第 1–4 周里的耐心,而不是软件本身。

正确的问题不是抽象地讨论「自托管还是托管」——而是「我希望我的恢复入口标识符锚定在我控制的域名和机器上吗」。如果答案是肯定的,这一页接下来的内容就是配方。

规模选择

为这件事选对 NordBastion 档位。

对于个人或家庭规模的邮箱(1–10 个账户、中等发送量、每天几百封入站邮件),Garrison($11.90/月,4 vCPU、8 GB、240 GB NVMe是最佳点。Mailcow 的容器集合——Postfix、Dovecot、rspamd、ClamAV、Sogo、Redis、MariaDB——舒适装得下;磁盘即使有附件也能保留多年邮件归档;核心数足以让 rspamd 的机器学习分类器不卡顿。

对于小团队生产环境(20–100 个账户、真实的外发量、Sogo 作为主网页邮箱、服务器端日历同步),Ravelin($23.90/月,8 vCPU、16 GB、480 GB NVMe)物有所值——为入站垃圾邮件负载提供更多 rspamd 工作进程的余量,为 IMAP IDLE 用户群提供更多 Dovecot 连接,并提供存储以保留超出「我还需要这个吗」时间窗口的邮件。

Sentinel($5.90/月,2 vCPU、4 GB)可以为单邮箱搭建跑一套更精简的技术栈——Mail-in-a-Box 或手搓的 Postfix + Dovecot——但在任何有意义的入站垃圾邮件负载下,把 Mailcow 跑在 Sentinel 上都会显得局促。诚实的建议是:从 Garrison 起步,就停在那里。

这些方案都不是什么:面向付费客户的多租户托管邮件服务。NordBastion 提供机器;投递性能的故事、滥用处理的故事,以及面向你的用户的 AUP,都属于你的领域。

搭建

从全新 VPS 到第一封投递入收件箱。六个步骤,再加 2–4 周的预热。

一份骨架式的速写——Mailcow 上游文档覆盖了每一个容器;下面这条运维纪律才是把「投递到 Gmail」和「永远住在垃圾邮件里」分开的东西。

  1. 01

    先开一张 PTR 工单

    在安装任何东西之前:先为 VPS 的 IP 申请你想要的 PTR(例如 mail.example.org)。没有正确的 PTR,投递性能在源头就死了。

    # 在 NordBastion 控制面板:# Tickets > New > "Set PTR"
    # IP <your IPv4> -> mail.example.org
  2. 02

    安装 Docker + 克隆 Mailcow

    Mailcow 自带标准的 docker-compose.yml。运行 generate_config.sh,提供 FQDN,接受默认值。

    curl -fsSL get.docker.com | sh
    git clone https://github.com/mailcow/mailcow-dockerized
    cd mailcow-dockerized
    ./generate_config.sh
  3. 03

    配置 SPF + DKIM + DMARC + MTA-STS

    四条 DNS 记录全部正确,从第一天起。Mailcow 会生成 DKIM 密钥对;你在域名注册商处发布对应的 DNS 记录。

    ; 在你的 DNS 注册商处@      IN TXT "v=spf1 mx -all"
    _dmarc IN TXT "v=DMARC1; p=quarantine; ..."
    dkim._domainkey IN TXT "v=DKIM1; k=rsa; p=..."
  4. 04

    启动 Mailcow

    Postfix、Dovecot、rspamd、ClamAV、Sogo、Redis、MariaDB——整套技术栈在一份 compose 中。盯着日志,等待来自远端发件人的第一个入站连接。

    docker compose pull
    docker compose up -d
    docker compose logs -f postfix-mailcow
  5. 05

    用 mail-tester 验证

    mail-tester.com 会给出一个满分 10 的投递性能评分。在发真实邮件之前争取 10/10。低于 8 就意味着 SPF/DKIM/PTR 配错了。

    # 从 Sogo 网页邮箱发一封测试邮件到:# the address mail-tester.com gives you
    # 然后查看评分
  6. 06

    缓慢地预热 IP

    从低量开始(每天几封发给会真正互动的收件人)。在 2–4 周内逐步上量。不要从全新 IP 大量群发简报——那是落入封锁名单最稳的办法。

    # 第 1 周:约 10 封/天 发给朋友# 第 2 周:约 50 封/天,盯着 rspamd-history# 第 4 周:正常个人使用量
为什么用这台主机做这件事

为什么特别选 NordBastion 来跑邮件服务器。

25 端口开放

大多数主机都藏起来的决定性因素。

在 NordBastion 的每一档上,出站 25 端口都默认开放——无需工单、无需签 AUP、无需对企业身份做 KYC 验证、也无需「等 7 天审核」。这是把「能自托管邮件」和「只能自托管只收信的邮件」分开的唯一一项技术决策。大多数无 KYC 主机为了避免垃圾邮件投诉而封掉 25 端口;我们把它打开,因为邮件自托管正是我们平台所服务的使用场景。

无KYC

你的收件箱不应成为纸面记录。

你的电子邮件地址是你在线使用的其他一切的恢复入口。把它托管在一台由你的信用卡付费的机器上,就意味着对发卡行的一张传票会暴露「付 AWS 账单的那个人」与「这些账户的恢复邮箱」之间的关系。免 KYC 注册 + 加密货币计费打破了这一关联:托管账户只是「这封邮件背后的那笔预付余额」,邮件本身只与你有关。

北欧 IP 信誉

比「廉价美国 VPS」段更受尊重。

发件人 IP 信誉一部分来自个体,一部分继承自 ASN 和 IP 段的历史。来自老牌主机商的北欧段比那些「$2/月 美国 VPS」地址空间(被群发者大量翻动)拥有更干净的历史信誉。Gmail 和 Outlook365 在入站评分中会考虑 ASN 信誉,而北欧对等互联——斯德哥尔摩、赫尔辛基、奥斯陆、雷克雅未克——在预热窗口期间属于具有可测量投递性能优势的一档。

结论

在 Garrison 上跑 Mailcow。开一张 PTR 工单。配置那四条 DNS 记录。缓慢预热。

在 2026 年,自托管邮件是个人用户用每一美元能买到的最高主权。用大约相当于一项付费邮箱服务的价格,你就能拥有完整的 Postfix/Dovecot/rspamd 技术栈,所在的机器上,地址锚定在你控制的域名上,存储则任你以喜欢的方式备份。

NordBastion 对这件事真正关键的部分有自己的意见——默认开放 25 端口、通过工单无摩擦配置 PTR、免 KYC 注册让收件箱不会成为指向你姓名的纸面记录、具有更干净继承信誉的北欧 IP 段——其余部分则刻意保持平淡。VPS 就是 VPS。Docker 就是 Docker。Mailcow 就是 Mailcow。

真正难的部分是预热窗口期里的耐心。软件已经解决。DNS 已经解决。基础设施在这里默认开放。剩下的就是在 Gmail 学着信任你的过程中保持低量、认证齐备发送的纪律。两到四周。然后就只是普通邮件了。

常见问题 · 在 VPS 上跑邮件服务器

最先冒出来的那些问题。

邮件服务器自托管者在 docker compose up 之前真正纠结的八个问题。25 端口政策之所以排在第一,是有原因的。

为什么大多数 VPS 主机封掉 25 端口?

出站的 25 端口是僵尸网络转发垃圾邮件的历史攻击向量。超大规模厂商(AWS、GCP、Azure)和大多数 VPS 主机默认关闭它,并且要么彻底拒绝开放,要么要求先签署 AUP 并提供经 KYC 验证的企业账户。「我们卖给你一台 VPS,但你不能从它发邮件」这种组合如今已是不成文的行业惯例,这正是每个潜在的邮件服务器自托管者最先问「你们的 25 端口政策是什么」的原因。NordBastion 在每一档都默认开放 25 端口——无需开工单。

什么是 IP 信誉「预热」,需要多久?

新分配的 VPS IP 在大型收件箱服务商(Gmail、Outlook365、Yahoo)那里没有任何发件人信誉。它发出的前几千封邮件会被视为「未证清白即有罪」——暂时以较低的信任分被接收,投递性能在收件箱和垃圾邮件之间波动。信誉需要在 2–4 周持续、低量、认证齐全的发送中逐步建立。加速器是:每一封邮件 SPF + DKIM + DMARC + MTA-STS 全部通过;PTR/rDNS 匹配 HELO;一致的 FROM 域名;参与度信号(人们真的打开你的邮件,而不只是收到它)。

NordBastion 会帮我配置反向 DNS / PTR 记录吗?

会——在你的控制面板里开一张工单,写明想要的 PTR,我们会在上游 IP 段上配置好。惯例是 IP 的 PTR 要匹配邮件服务器的 HELO/EHLO 主机名(mail.example.org)。没有正确的 PTR,Gmail 和 Outlook365 都会重度惩罚发件人——所以这是要最先解决的事情之一,最好是在第一封外发邮件之前。工单通常几小时内处理完毕。

Mailcow vs Mail-in-a-Box vs iRedMail——选哪一个?

Mailcow 是现代的 docker-compose 原生选项——开发活跃、Web UI 丰富,开箱即带 rspamd、ClamAV、Sogo 网页邮箱和 Z-Push。Mail-in-a-Box 是「一切都在一台机器上、有主见、最小配置」的选项——非常适合个人邮箱加几个别名。iRedMail 是经典 LAMP 风格选项——配置粒度细,对非 Docker 环境兼容性更广。对 2026 年大多数新晋自托管者而言,答案是把 Mailcow 跑在 Garrison 上;以下所有内容都基于这条路径。

我能稳定投递到 Gmail 和 Outlook365 吗?

可以——但前提是认证卫生齐备(SPF + DKIM + DMARC + MTA-STS)、PTR 正确、发送模式干净,并在预热期保持耐心。Gmail 尤其看重参与度——人们不删除你的邮件、会回复、把它标记为非垃圾邮件——而一个全新发件人加上一个全新域名,要花数周才能爬出「促销」类的炼狱。自托管运维者报告称,在持续运营的 4–8 周内即可对两个收件箱获得稳定投递性能;这条路靠的是纪律,而不是魔法。

我需要备用 MX 吗?

比你以为的要少得多。现代发件方(Gmail、Outlook365 等)在连接失败时会重试长达数天,所以主 MX 在重启时停机一小时对所有人都是不可见的。备用 MX 服务器主要存在是为了应对罕见的多日停机,而它们本身就是垃圾邮件的磁石(垃圾邮件机器人会专门盯着比主 MX 更弱的备用 MX)。如果可用性很重要,正确的做法是监控 + 快速恢复方案,而不是一台你维护不好的备用 MX。

Sieve 过滤、推送到移动端——这套技术栈支持吗?

Mailcow 自带 Sogo 用于网页邮箱和 CalDAV/CardDAV,使用 dovecot-sieve 进行服务器端过滤(在投递时给邮件分类的标准方法,与任何 IMAP 客户端兼容),并支持 Z-Push 用于 Exchange ActiveSync——正是这一项让 iOS Mail 获得原生推送通知,无需另起一个 push-IMAP 后端。在 Android 上,FairEmail 和 K-9 Mail 客户端原生支持 IMAP IDLE 实现近实时推送。这套技术栈覆盖了现代移动邮件的预期。

rspamd 与 SpamAssassin 怎么选?

Mailcow 默认采用 rspamd,这也是正确的现代默认值——用 C 编写、可用 Lua 脚本化、辅以机器学习,在相同的误报率下比 SpamAssassin 更快、更省内存。SpamAssassin 仍是遗留邮件技术栈的通用语,也是 iRedMail 的默认选项;它能用,但你会花更多时间调规则。除非有集成约束强制使用 SpamAssassin,否则就用 rspamd。