21
11月
2020

使用 Mailcow 搭建一个满分的自有邮箱服务

本人为域名申请野卡 SSL 证书的时候会用到一下 example@example.com 邮箱,用现成第三方的感觉没一个好用的,于是决定自建

机器要求

  1. CPU: 1 GHz
  2. RAM: 1 GiB
  3. Disk: 5 GiB (不包括邮件储存空间)
  4. System: x86_64

1. 设置域名解析

1.2. 解析一个 mail.example.com 到你的发件服务器

例:

1.3. 解析一个 mx 记录

例:

1.4. 设置SPF 添加一个内容为 "v=spf1 mx ~all" 的 TXT 记录

例:

1.5. 设置 autoconfig & autodiscover 记录

例:

1.6. 设置 _dmarc TXT记录,记录值为:v=DMARC1; p=reject; pct=100;

例:

1.7. 设置SRV记录 _autodiscover._tcp 记录值为:100 1 443 yourdomain

例:

1.8. 去你购买服务器的商家设置 rDNS ,由于 IP 本来就是我们自己的,于是我这边就自己设置了

2. 开始安装

2.1. 安装 Docker

curl -sSL https://get.docker.com/ | sh

2.2. 安装 Docker-Compose

curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2.3. 安装 Mailcow

git clone https://github.com/mailcow/mailcow-dockerized && cd mailcow-dockerized

生成域名配置文件:

./generate_config.sh

如有需要,可以修改 mailcow.conf 中的配置项

2.4. 拉取镜像并启动 Mailcow

docker-compose pull
docker-compose up -d

访问你之前输入的域名,就应该能看到 Mailcow 的后台了。使用默认帐号 admin 和密码 moohoo 登录后台。

3. 进一步配置

3.1. 添加域名

选择顶部导航栏上的 Configuration -> Mailboxes -> Add domain 来添加一个域名

3.2. 设置 DKIM

回到 Configuration -> Administration, 选择下方的 Configuration 选项卡,在 Add ARC/DKIM key 区域填写域名,选择密钥长度(如果 DNS 服务商可以支持 2048 位长密钥的公钥,选择 2048 更安全。如果不支持,那就只能选 1024 位了)Selector 如果没有冲突,一般不需要修改

设置完成后,在上方应该能看到类似下图的信息:

前往 DNS 服务商,添加一条记录名为 Selector + ._domainkey. + Domain (host),类型 TXT,记录值为灰色框内内容的记录。如上图应该添加记录名为 dkim._domainkey,记录值为灰框内容的记录即可。如果上图中 Domain 改为 mail.example.com ,则相对应的,记录名应改为 dkim._domainkey.mail

例:

3.3. 添加用户

再次前往 Mailboxes 页面,选择 Add mailbox 并填写相关信息即可

至此,您应该可以开始发送邮件了。用上面的信息通过 SMTP 发信试试吧!

4. 常用命令

docker-compose up -d #启动
docker-compose down #停止
docker-compose logs [options] $service_name #查看日志,比如 docker-compose logs acme-mailcow

最后 Mail Tester 跑个分 :

备注1. 请务必使用美国的 IP 地址的机器安装 Mailcow ,根据多年的经验美国的 IP 地址送达率的最高

备注2. 请不要设置 IPv6 ,根据多年的经验 IPv6 被拒收/进垃圾箱的概率是最高的

备注3. 本次安装在纯净的 Debian9 下安装,没有任何环境,端口被占用/被运营商关闭了端口 等不在本次教程范围之内,请自行研究

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

上传图片