本文将指导使用 Docker 安装 Mailcow 搭建自建邮箱。
PS:本文同时适用于任何可安装 Docker 的 Linux 发行版。
需要了解服务器配置和基础环境的,查看此篇介绍《自建邮局 – Mailcow》
Ubuntu 22.04 安装 Docker
1、更新 Ubuntu
首先,更新你的 Ubuntu 系统。
打开终端,依次运行下列命令:
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
2、添加 Docker 库
首先,安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
然后,运行下列命令添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加 Docker 官方库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
使用命令更新 Ubuntu 源列表:
sudo apt update
3、安装 Docker
安装最新版本
最后,运行下列命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Ubuntu 22.04 LTS 中安装 Docker Compose
Docker Compose 是一个可用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,你可以使用 Compose 文件来配置应用程序的服务。然后,使用单个命令,你可以从配置中创建和启动所有服务。
下列任何方式都可以安装 Docker Compose 。
方式 1、使用二进制文件安装 Docker Compose
从 这里 下载最新 Docker Compose 。
当我在写这篇文章时,最新版本是 2.6.1 。
运行下列命令安装最新稳定的 Docker Compose 文件:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果有更新版本,只需要将上述命令中的 v2.6.1 替换为最新的版本号即可。请不要忘记数字前的 “v” 。
最后,使用下列命令赋予二进制文件可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
运行下列命令检查安装的 Docker Compose 版本:
sudo docker-compose version
方式 2、使用 pip 安装 Docker Compose
或许,我们可以使用 pip 安装 Docker Compose 。pip 是 Python 包管理器,用来安装使用 Python 编写的应用程序。
参考下列链接安装 pip 。
安装 pip 后,运行以下命令安装 Docker Compose。下列命令对于所有 Linux 发行版都是相同的!
pip install docker-compose
安装 Docker Compose 后,使用下列命令检查版本:
docker-compose --version
你将会看到类似下方的输出:
docker-compose version 2.6.1
恭喜你!我们已经成功安装了 Docker 社区版和 Docker Compose 。
设置 DNS 解析记录
我们假设你的邮箱服务器需要使用域名 mail.example.com
,你想搭建 [email protected]
的邮箱;
然后你的服务器 IPv4 为 192.0.2.25
,IPv6 为 2001:db8::25
,那么请预先做好如下解析:
域名 | 解析类型 | 解析值 |
---|---|---|
mail.example.com | A | 192.0.2.25 |
mail.example.com | AAAA | 2001:db8::25 |
example.com | MX | 10 mail.example.com. |
example.com | TXT | “v=spf1 mx ~all” |
_dmarc.example.com | TXT | “v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;” |
autodiscover.example.com | CNAME | mail.example.com. |
autoconfig.example.com | CNAME | mail.example.com. |
安装 Mailcow
首先我们获取 Mailcow 的安装代码:
apt install git -y
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
然后生成配置文件,请注意使用 FQDN (比如 mail.example.com
) 作为 hostname:
bash generate_config.sh
按照提示输入自己的需求后即可生成好配置文件 mailcow.conf
,如有需要可以自己修改这个文件。
然后拉取 Docker 镜像并启动
docker compose pull
docker compose up -d
耐心等待几分钟后即可访问 https://mail.example.com/
默认用户名 admin
默认密码 moohoo
,建议立马修改并开启 2FA 两步验证确保安全。
添加域名和邮箱
进入 Mailcow 后台后,我们可以在顶部的 Configuration
> Mail Setup
里添加域名
开启 DKIM 并添加 DNS 记录
开启 DKIM 后邮件发信到达率更高,你可以登录 Mailcow 后台后在 Configuration
> ARC/DKIM keys
查看你域名的 dkim 记录值:
测试邮件
使用刚开的用户登录 Mailcow 自带的 SOGo,默认情况下地址为 https://mail.example.com/SOGo/
首先,测试接受邮件,使用任何外部邮箱给 [email protected]
发一封邮件,看看是否正常收到邮件。
然后我们测试发送邮件,在 mail-tester.com 发送一封 Plain Text
格式的测试邮件,稍等片刻后即可查看你的邮件分数,我们可以看到,严格按照本文教程搭建的自建邮箱服务评分可以是 10 分:
