本指南适用于以下部署架构:
- Mailcow 安装在局域网或私有 IP 上(如
192.168.x.x) - 使用 Nginx、Traefik 等反向代理进行公网映射与 HTTPS 加密
- Mailcow 后端为纯 HTTP(非 HTTPS)
- 加密证书由反代服务器统一管理(如使用 Cloudflare Tunnel、FRP、Nginx Proxy Manager 等)
🧠 适用场景
你当前使用的是:
- 原域名:
mail.old-domain.com - 拟更换为:
mail.new-domain.com - 邮箱地址域名可保留(如
user@old-domain.com),或切换为新域名(如user@new-domain.com)
✅ 一、概览:更换域名时涉及的内容
| 项目 | 是否必须修改 | 说明 |
|---|---|---|
| Mailcow 配置文件 | ✅ | 内部逻辑引用主机名,需更新 |
| DNS 记录 | ✅ | 通知全球邮件系统指向新服务器 |
| 反向代理配置 | ✅ | 更换域名入口访问路径 |
| 邮箱地址使用的域名 | ❌(可选) | 可继续使用旧域名或添加新域名 |
| Mailcow 的数据卷 | ❌ | 保留原样,邮件和设置不受影响 |
| Docker 容器结构 | ❌ | 无需更改 |
🔧 二、操作步骤
1. 修改 Mailcow 配置文件
打开 Mailcow 安装目录下的配置文件(如 /opt/mailcow/mailcow.conf),找到并修改以下行:
iniCopyEditMAILCOW_HOSTNAME=mail.old-domain.com
改为:
iniCopyEditMAILCOW_HOSTNAME=mail.new-domain.com
⚠️ 该设置影响系统识别主机、SOGo 链接生成、邮件头部显示等,必须修改。
2. 修改反向代理(Nginx 等)
将旧域名相关配置:
nginxCopyEditserver_name mail.old-domain.com;
proxy_pass http://<内网IP>:<Mailcow端口>;
改为新域名:
nginxCopyEditserver_name mail.new-domain.com;
proxy_pass http://<内网IP>:<Mailcow端口>;
同时更新 SSL 证书路径为新域名对应证书。
3. 修改新域名的 DNS 设置
在你的 DNS 服务商控制台(如 Cloudflare、阿里云)配置以下记录:
| 类型 | 主机名 | 值 | 说明 |
|---|---|---|---|
| A | mail | 公网服务器 IP | 提供访问与发信服务 |
| MX | @ | mail.new-domain.com | 邮件投递目标服务器 |
| TXT | @ | v=spf1 mx ~all | 发信来源验证(SPF) |
| TXT | _dmarc | v=DMARC1; p=none; rua=... | 防伪造(可选但推荐) |
| TXT/CNAME | DKIM | Mailcow 后台生成,需手动添加 | 签名验证(反垃圾、反钓鱼) |
4. 重启 Mailcow 服务
在 Mailcow 安装目录下执行:
bashCopyEditdocker compose down
docker compose up -d
或简化为:
bashCopyEditdocker compose restart
无需触发 acme 证书更新,因你使用反代统一加密。
5. 可选:添加新邮箱地址域名
若希望同时使用新域名作为邮箱地址后缀:
- 登录 Mailcow 后台
- 进入
Configuration→Mail Setup→Domains - 点击
Add domain,输入new-domain.com - 然后可创建如
user@new-domain.com等邮箱账户
旧地址(如 user@old-domain.com)仍可继续使用。
6. 通知用户或自己更新客户端配置
更新以下访问方式:
| 项目 | 原域名 | 新域名 |
|---|---|---|
| Webmail 登录地址 | https://mail.old-domain.com/SOGo/ | https://mail.new-domain.com/SOGo/ |
| 邮件客户端 IMAP | mail.old-domain.com | mail.new-domain.com |
| 邮件客户端 SMTP | 同上 | 同上 |
🧷 三、总结表
| 项目 | 是否必须 | 说明 |
|---|---|---|
mailcow.conf | ✅ | 修改主机名逻辑引用 |
| 反向代理配置(如 Nginx) | ✅ | 更换访问入口和证书绑定 |
| DNS 设置 | ✅ | 通知互联网邮件入口地址 |
| 邮箱地址使用的域名 | ❌ | 可继续使用旧邮箱地址 |
| Docker 容器结构与卷 | ❌ | 无需修改,数据完整保留 |
✴️ 建议:
- 更换前请备份 Mailcow 配置和卷数据
- 更换后可通过 mail-tester.com 检查 SPF/DKIM 生效情况
- Webmail 用户可提前发邮件测试 DKIM 是否签名正常
- 建议同时保留旧域名 DNS 记录一段时间,防止邮件丢失