许多站长或技术爱好者部署 Mailcow 邮件服务器后,往往会有这样的需求:

我是否可以在一台服务器上同时托管多个邮箱域名,比如 user@domain.comadmin@abc.com

答案是肯定的。Mailcow 完全支持“一套服务,多域名共用”的架构。本文将从 原理配置方法DNS 设置 等角度详细介绍。


✉️ 一、理解邮箱域名与服务器域名的区别

在 Web 系统中,一个域名通常绑定一个网站。但在邮件系统中,邮箱的域名(@后面的部分)和服务器实际绑定的域名可以是不同的

比如:

  • 邮箱地址:user@abc.com
  • 实际邮件服务器:mail.domain.com

这两者之间的关联,完全靠 DNS 中的 MX 记录 来建立。


🧠 二、工作原理解析:邮件是如何投递的?

当其他服务器向 user@abc.com 发送邮件时,流程如下:

  1. 查找 DNS:发送方查询 abc.com 的 MX 记录,发现: abc.com → mail.domain.com
  2. 解析地址:继续解析 mail.domain.com 的 A 记录,获得服务器 IP(如 1.2.3.4)
  3. 连接服务器:发送方连接到该 IP 的 SMTP 端口进行邮件投递
  4. Mailcow 接收邮件:Mailcow 检查邮件目标地址(user@abc.com),如果你已经在后台添加了 abc.com 域名并创建了该邮箱,就成功接收

✅ 由此可见,邮件通信靠的是 DNS 中的 MX 路由,而不是服务器的主机名或 HTTPS 域名!


🛠️ 三、Mailcow 多域名部署方法

步骤 1:添加多个域名到 Mailcow

登录 Mailcow 管理后台:

  1. 点击顶部菜单 → ConfigurationMail SetupDomains
  2. 点击 Add domain
  3. 添加每一个你想托管邮箱的域名(如 abc.com, xyz.org 等)
  4. 可使用默认设置,关键是启用(Active)

步骤 2:为每个域名添加邮箱账户

  1. 进入顶部菜单 → E-MailMailboxes
  2. 点击 Add mailbox
  3. 选择域名(如 abc.com
  4. 设置邮箱用户名、密码、配额等

即可创建如 admin@abc.cominfo@xyz.org 等地址。


🌐 四、DNS 配置指南

你需要在每个邮箱域名(例如 abc.com)的 DNS 服务商(如 Cloudflare、阿里云)设置以下记录:

记录类型主机名说明
Amail服务器 IP提供 SMTP/IMAP/POP3 连接
MX@mail.domain.com指向实际邮件服务器
TXT@SPF 记录(见下方示例)防垃圾验证
TXT_dmarcDMARC 策略防止伪造
TXT/CNAMEDKIM 记录由 Mailcow 自动生成用于签名验证

SPF 示例:

v=spf1 mx ~all

表示该域名允许自己的 MX 所在服务器发信。


🔒 五、Webmail 登录与客户端设置

无论哪个域名的邮箱账户,用户都通过 统一的服务器域名 来收发邮件:

  • Webmail 登录
    https://mail.domain.com/SOGo/
  • 客户端配置(IMAP/SMTP)
协议地址端口加密方式
IMAPmail.domain.com993SSL
SMTPmail.domain.com465/587SSL/STARTTLS

🎯 总结

项目是否必须与服务器域名一致说明
邮箱地址(如 @abc.com)❌ 无需一致只要 MX 指向正确即可
Webmail 地址✅ 必须配置你访问的是服务器的前端界面
SMTP/IMAP 域名✅ 必须配置邮件客户端需要正确连接服务地址
SSL 证书✅ 建议配置服务器使用域名证书例如 mail.domain.com 的 Let’s Encrypt

🧩 延伸建议

  • 可以将多个旧域名邮箱集中迁移至 Mailcow 中统一管理
  • 统一发信网关,减少 SPF/DKIM 配置成本
  • aliases 创建别名,实现一个账号多个地址管理

如果你也想搭建自己的邮箱系统,不妨试试 Mailcow。
一台 VPS,一套 Docker,一次配置,终身自由。

Leave a Reply

Your email address will not be published. Required fields are marked *