部署企业级的私域邮件系统-Mailcow

今天我们将采用开源邮件系统 Mailcow 来部署一套功能强大的私域邮件系统。
本教程搭建日期为 2025年10月15日,如果您在实践中遇到任何问题,请邮件联系作者:tangjianbao@gmail.com或评论区留言。

⚠️ 转载请注明出处!

注意:以下命令默认以 root 用户执行,如果使用非 root 用户,请在命令前添加 sudo

一、安装 Docker 和 Docker Compose

Mailcow 是基于 Docker 和 Docker Compose 的,因此我们必须首先安装它们。

1.1、安装 Docker

下面以 Ubuntu 24.04 版本为例进行安装:

1.1.1、更新 APT 列表及添加 Docker GPG 密钥

1
2
3
sudo apt-get update
# 如果下面的语句第一次执行不成功,请再次或多次执行。
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

返回结果:

1
2
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
1
2
# 如果下面的语句第一次执行不成功,请再次或多次执行。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

1.1.2、安装 Docker 社区版

1
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

1.1.3、设置 Docker 开机自启

1
sudo systemctl enable --now docker

1.1.4、配置 Docker 国内镜像源

在国内使用 Docker 拉取镜像时,可能会遇到网络问题。为了解决这一问题,建议配置国内镜像源以确保快速稳定地下载镜像。

经验之谈:国内网络环境复杂,很多人在拉取 Docker 镜像时会失败。笔者也是在多次尝试后才成功。请直接复制下面的 JSON 内容。如果依然失败,可能是因为部分镜像源已失效,请您自行搜索最新的可用镜像源。

使用 nano /etc/docker/daemon.json 创建并编辑该文件,输入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"default-shm-size": "1G",
"debug": true,
"experimental": false,
"registry-mirrors": [
"https://x9r52uz5.mirror.aliyuncs.com",
"https://dockerhub.icu",
"https://docker.chenby.cn",
"https://docker.1panel.live",
"https://docker.awsl9527.cn",
"https://docker.anyhub.us.kg",
"https://docker.m.daocloud.io",
"https://dhub.kubesre.xyz",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com",
"https://dockerproxy.com",
"https://1i6z9fqv.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com"
]
}

Ctrl+X,然后按 Y,再敲回车保存文件。之后重启 Docker 服务使新的镜像源生效:

1
2
3
4
5
6
7
# 重新加载配置文件
sudo systemctl daemon-reload
# 重启 Docker
sudo systemctl restart docker
# 检查 Docker 状态
sudo systemctl status docker
# 按 Ctrl + C 退出

二、安装 Mailcow

参考官方安装文档:https://docs.mailcow.email/getstarted/install/

2.1、安装依赖

1
apt install -y git openssl curl gawk coreutils grep jq

2.2、下载 Mailcow Dockerized

1
2
3
4
5
6
7
8
9
10
# 切换到 /opt 目录
cd /opt

# 从官方 GitHub 克隆项目
sudo git clone https://github.com/mailcow/mailcow-dockerized

# 如果上面的命令下载缓慢或失败,可以尝试使用国内镜像
# sudo git clone https://gitclone.com/github.com/mailcow/mailcow-dockerized

cd mailcow-dockerized

2.3、生成配置文件

执行此脚本会以交互方式引导您完成基本配置,请根据提示输入您的邮件域名(例如 mail.yourdomain.com)。

1
./generate_config.sh

2.4、编辑配置文件(可选)

您可以根据需要进一步编辑生成的 mailcow.conf 文件。

1
nano mailcow.conf

2.5、拉取镜像并启动服务

这一步会下载所有必需的 Docker 镜像,耗时较长,请耐心等待。确保您的 Docker 镜像源配置正确。

1
2
docker compose pull
docker compose up -d

安装成功后,您可以通过 IP 地址或域名访问 Mailcow 的后台管理界面。

  • 访问地址: https://<你的服务器IP或域名>/?lang=zh-cn
  • 默认账号: admin
  • 默认密码: moohoo

Mailcow 后台登录页面

后台管理界面:
Mailcow 后台设置界面

网页邮件客户端登录页面:
SOGo 网页邮件登录页面

网页邮件客户端界面:
SOGo 网页邮件界面

三、总结与经验之谈

  1. 国内镜像源:在国内服务器上部署,务必设置 Docker 的国内镜像源,否则很可能无法成功下载 Mailcow 所需的组件。
  2. 服务器25端口:邮件服务器之间通信依赖 25 端口。国内的云服务商(如阿里云、腾讯云)默认会封禁此端口。您必须提交工单,向服务商申请解封。
    • 腾讯云:轻量应用服务器不开放25端口,必须购买 CVM (ECS) 服务器才能申请。
    • 阿里云:规则类似,需购买 ECS 实例后申请。
    • 您可以通过 telnet mx3.qq.com 25 命令来测试服务器的 25 端口是否能连接外网。如果无法连接,您发送的邮件将无法被其他邮件服务器接收。

四、参考资料


如果觉得这篇文章对您有用,欢迎打赏支持,你的支持就是我最大的动力!

微信收款码

微信支付

支付宝收款码

支付宝

部署企业级的私域邮件系统-Mailcow
https://join2017.github.io/2025/11/28/部署企业级的私域邮件系统MailCow/
作者
唐建宝
发布于
2025年11月28日
许可协议