📅 最后更新于 2026-06-23
用 VPS 自建一套邮箱系统
买域名送邮箱、用 Gmail/QQ 邮箱看似免费,但要付出的代价是数据在别人手里。Mailcow 能让你在 30 分钟内拥有一套完整的自建邮件系统。
为什么要自建邮件服务器?
大多数个人和小团队用免费邮箱(Gmail、Outlook、QQ 邮箱)或域名邮箱(腾讯企业邮、Zoho)。这些方案的共同问题是:邮件数据完全在平台手里。平台可以扫描你的邮件内容、限制发送量、随时调整免费额度。自建邮件服务器让你:
- 邮件数据在服务器上,不经过第三方
- 没有发件量限制(只受 VPS 带宽和 IP 信誉约束)
- 可以创建无限个邮箱账号和别名
- 完全控制域名邮箱安全策略(SPF、DKIM、DMARC)
代价是需要一台 VPS 和约 30 分钟的部署时间。
Mailcow 是什么?
Mailcow 是一套开源邮件服务器套件,用 Docker 部署。它包含:
- Postfix(SMTP 发信)
- Dovecot(IMAP/POP3 收信)
- SOGo(Webmail 网页邮箱)
- Rspamd(垃圾邮件过滤)
- MariaDB + Redis(数据存储和缓存)
- ACME 自动 SSL 证书
装好后,你就能用浏览器登录网页邮箱,或者用手机/电脑邮件客户端收发邮件。
VPS 需要什么配置?
Mailcow 官方最低要求:2 核 CPU、6 GB 内存、15 GB 磁盘(不含邮件数据)。实际使用建议比最低要求高一档。
最低可用
- 2 vCPU
- 6 GB 内存
- 30 GB SSD
- 适合:个人邮箱,少于 5 个账号
- 月费约 $6-12
推荐
- 2-4 vCPU
- 8 GB 内存
- 60 GB SSD
- 适合:小团队,5-20 个账号
- 月费约 $12-20
有余量
- 4+ vCPU
- 12+ GB 内存
- 100+ GB SSD
- 适合:多域名、20+ 账号、大量邮件归档
- 月费约 $20-30
部署前要确认的几件事
- 域名和 DNS 解析:需要一个自己的域名(如 yourdomain.com)。在 DNS 添加 A 记录指向 VPS IP,以及后续 Mailcow 要求的 MX、SPF、DKIM、DMARC 记录。
- 25 端口是否开放:很多廉价 VPS 默认封锁 25 端口(防垃圾邮件滥用)。购买前确认商家是否默认开放出站 25 端口,或支持提交工单申请开放。
- IP 是否干净:如果 VPS 的 IP 段之前被滥用过(发垃圾邮件),可能已经被列入 RBL 黑名单。德国和美国的成熟商家 IP 段管理更严格,被污染的概率更低。
- PTR 反向 DNS 记录:VPS 商家需要支持设置 PTR 记录(把 IP 映射回域名),否则 Gmail/Outlook 可能直接拒收或送进垃圾箱。
Mailcow 部署步骤
以下步骤在 Ubuntu 22.04 / 24.04 上完成。每行为一条命令,按顺序执行。
1. 更新系统 + 安装 Docker
apt update && apt upgrade -y curl -fsSL https://get.docker.com | sh Docker Compose V2 已包含在 Docker 官方安装脚本中。
2. 配置主机名
hostnamectl set-hostname mail.yourdomain.com 主机名必须是一个真实 DNS 记录指向的域名,后续 SSL 证书验证依赖这个记录。
3. 下载 Mailcow
cd /opt && git clone https://github.com/mailcow/mailcow-dockerized && cd mailcow-dockerized 4. 生成配置文件
./generate_config.sh 按提示输入你的域名(如 yourdomain.com)。脚本会创建 mailcow.conf。
5. 调整配置(可选但推荐)
nano mailcow.conf 重点确认的参数:
HTTP_PORT=80和HTTP_BIND=0.0.0.0HTTPS_PORT=443和HTTPS_BIND=0.0.0.0- 如果 VPS 上已有 Nginx 或其他服务占用 80/443,改成其他端口
6. 拉取镜像并启动
docker compose pull && docker compose up -d 第一次启动会拉取约 10 个 Docker 镜像,根据网络速度需要 5-15 分钟。
7. 登录管理面板
启动完成后,打开浏览器访问 https://mail.yourdomain.com。默认管理员账号:admin,密码:moohoo。登录后第一时间修改管理员密码。
8. 添加域名和 DNS 记录
在 Mailcow 管理面板的「配置 → 邮箱域名」中添加你的域名。系统会自动生成需要添加的 DNS 记录列表(MX、SPF、DKIM、DMARC、PTR)。把每条记录添加到域名的 DNS 管理页面。DNS 生效后(通常 5-30 分钟),邮件系统就可以正常收发。
适合自建邮箱的 VPS 商家
| 商家 | 推荐配置 | 月费 | 25 端口 | IP 质量 | PTR 支持 |
|---|---|---|---|---|---|
| Hetzner | CX22 (2 vCPU / 4 GB) | €3.79/月起 | 默认开放 | 德国 IP 干净 | 支持自助设置 |
| InterServer | 4 Slices (2 vCPU / 8 GB) | $12/月 | 默认开放 | 美国成熟 IP 段 | 提交工单设置 |
| Contabo | Cloud VPS S (4 vCPU / 8 GB) | €6.99/月起 | 默认开放 | 德国 IP 较干净 | 支持自助设置 |
| RackNerd | 2-4 GB 活动款 | $18-25/年 | 需确认 | 美国 IP,需确认 | 提交工单设置 |
推荐优先级:Hetzner 和 Contabo 的德国 IP 在国际邮件投递中信任度更高,25 端口默认开放,适合欧洲方向和个人邮箱。InterServer 适合面向英国或全球用户的站点。RackNerd 作为低价备用。
选择建议
- 德国机房优先(Hetzner / Contabo):德国数据中心对邮件服务器的政策更宽松,IP 段管理更严格,被误判为垃圾邮件的概率更低。
- 不要用年付一口价:先月付测试一个月,确认 IP 没有被列入 RBL 黑名单、25 端口正常、PTR 可设置,再长期持有。
- 内存必须有余量:Mailcow 的 Rspamd 垃圾过滤和 ClamAV 病毒扫描会额外消耗内存。8 GB 比 6 GB 明显更从容,尤其是团队使用场景。
- 不需要 CN2 GIA:邮件收发的延迟要求很低,SMTP/IMAP 协议本身就有重试和队列机制。不要为邮件服务器买优化线路,把钱花在内存和 IP 质量上。
常见问题
常见问题
Mailcow 自建邮箱能发到 Gmail/QQ邮箱 吗?
可以,前提是 DNS 记录配置完整(SPF、DKIM、DMARC)、IP 没有被列入 RBL 黑名单、PTR 记录已设置。德国机房(Hetzner、Contabo)的 IP 段通常更容易通过 Gmail 的投递检查。如果发不进去,先检查 DNS 记录和 RBL 列表。
25 端口会被 VPS 商家封锁吗?
会。部分廉价商家(尤其是针对中国大陆用户的促销年付 VPS)默认封锁出站 25 端口。Hetzner 和 Contabo 默认开放,不需要额外申请。买之前查看商家的服务条款,或先月付确认。
Mailcow 可以用 512MB / 1GB VPS 跑吗?
不可以。Mailcow 的多个 Docker 容器合计需要 5-6 GB 内存才够用。如果只有 1-2 GB 内存又想自建邮箱,可以考虑更轻量的替代方案(如 maddy 或 docker-mailserver),但功能和维护难度不同。
Mailcow 和 Gmail/QQ邮箱 有什么区别?
功能上 Mailcow 提供了完整的邮件收发、网页邮箱、日历、通讯录,体验接近 Gmail。核心区别是数据完全在 VPS 上,不会有关键词扫描、广告推送和第三方访问。但维护责任也全在你自己。
Mailcow 需要备份吗?
强烈建议备份。Mailcow 提供了一个内置的备份脚本(helper-scripts/backup_and_restore.sh),可以定时备份邮件数据和配置到本地或远程存储。不要只依赖 VPS 快照,定期把备份下载到本地或另一台服务器。