自建邮件服务器值不值 - Stalwart + AWS SES 方案

自建邮件服务器值不值 - Stalwart + AWS SES 方案

月成本 $0, 运维时间接近零, 完整控制自己的邮件. 但这条路不适合所有人

"你疯了吗, 2024 年还自建邮件服务器?" -- 这是我在 Reddit 上看到最多的反应.
这篇不是教程, 而是聊我做这个决策的完整思考过程, 以及一年多运行下来的真实体验.

为什么自建

多个域名的邮箱, 主要接收通知, 不需要团队协作. 如果每个域名都配 Google Workspace $7/月, 加起来不少.
更重要的是一个原则: 能自己控制的基础设施, 尽量自己控制.

为什么是 Stalwart

Stalwart Mail Server: Rust 写的全功能邮件服务器, 一个二进制包含 SMTP + IMAP + JMAP.
优势: 单容器 Docker 部署, 内存占用约 50-100MB, 配置统一, 支持 JMAP.

架构: Stalwart + AWS SES

单独跑 Stalwart 可以收发邮件, 但直接从 VPS 发邮件有 IP 信誉问题. 解决方案: 出站邮件走 AWS SES 中继.
Stalwart + AWS SES 邮件架构
Stalwart + AWS SES 邮件架构
收信: 外部邮件 -> MX 记录 -> Stalwart 端口 25 接收 -> IMAP/JMAP 访问
发信: 客户端 -> SMTP 提交到 Stalwart -> AWS SES relay -> 收件人
关键 DNS 配置: MX, SPF (包含 VPS IP + SES), DKIM, DMARC, rDNS.

一年多运行体验

  • 稳定性: Stalwart 没有崩溃过一次, Docker 自动重启
  • 运维: 接近零, 全年不超过 2 小时
  • 可达性: Gmail, Outlook, iCloud, QQ 邮箱全部正常收到, DMARC 通过率 100%
  • 月成本: $0 (SES 免费额度内)

适合谁

适合: 有 Linux/Docker 能力, 邮件量不大, 多域名, 在意控制权.
不适合: 团队协作依赖 Google/Microsoft 生态, 邮件是核心业务, 没时间学 DNS 配置.

成本对比

Google Workspace
$7/域/用户
无限
团队协作
Microsoft 365
$6/域/用户
无限
Office 生态
Zoho Mail
免费 (1域)
1-5
预算极低
Stalwart + SES
$0
无限
极低
技术型独立开发者
独立开发者最重要的心态: 先用最便宜的方案跑起来, 遇到瓶颈再升级.