使用 maddy 搭建邮件服务器
未完待续
安装
-
在 GitHub 或者 maddy.email 下载最新 release。
wget https://maddy.email/builds/0.8.1/maddy-0.8.1-x86_64-linux-musl.tar.zst tar --zstd -xf maddy-*.tar.zst | rm maddy-*.tar.zst cd maddy-*
-
安装 maddy:
# 安装可执行文件 sudo cp maddy /usr/local/bin # 安装配置文件 sudo mkdir /etc/maddy sudo cp maddy.conf /etc/maddy # 安装服务文件 sudo cp systemd/*.service /etc/systemd/system sudo systemctl daemon-reload # 创建 maddy 用户 sudo useradd -mrU -s /sbin/nologin -d /var/lib/maddy -c "maddy mail server" maddy
配置
-
编辑配置文件:
sudoedit /etc/maddy/maddy.conf
$(hostname) = mx1.example.org $(primary_domain) = example.org
hostname
是邮件服务器地址primary_domain
是邮箱域名
-
安装证书:
sudo su DOMAIN="mx1.example.org" mkdir -p /etc/maddy/certs/$DOMAIN # 安装 acme.sh curl https://get.acme.sh | sh acme.sh --set-default-ca --server letsencrypt acme.sh --register-account -m "your-email@gmail.com" # 申请证书 acme.sh --issue --ecc --standalone -d $DOMAIN # 安装证书 acme.sh -i --ecc -d $DOMAIN \ --key-file /etc/maddy/certs/$DOMAIN/privkey.pem \ --fullchain-file /etc/maddy/certs/$DOMAIN/fullchain.pem exit
-
设置访问权限:
sudo setfacl -Rm u:maddy:rX /etc/maddy
-
启动 maddy:
sudo systemctl start maddy
-
查看 DKIM 公钥:
sudo cat /var/lib/maddy/dkim_keys/example.org_default.dns
-
设置 DNS 记录:
- 添加一条值为域名服务器 IP 的 A 记录:
mx1.example.org. A 10.0.0.1
- 添加一条值为域名服务器域名的 MX 记录:
example.org. MX 0 mx1.example.org.
- 添加一条值为 DKIM 公钥的 TXT 记录:
default._domainkey.example.org. TXT "v=DKIM1; k=ed25519; p=xxx"
- 添加一条值为域名服务器 IP 的 A 记录:
MTA-STS 和 TLSA
MTA-STS
MTA-STS 要求我们在 URL https://mta-sts.example.org/.well-known/mta-sts.txt
处提供策略文件。
version: STSv1
mode: enforce
max_age: 604800
mx: mx1.example.org
TLSA
TLSA 要求我们在 DNS 中添加一条 _25._tcp.example.org.
指向证书的 TLSA 记录。
TLSA 记录生成工具:gen_tlsa
使用
创建用户:
# 注册用户凭据
sudo -u maddy maddy creds create postmaster@example.org
# 创建本地存储账户
sudo -u maddy maddy imap-acct create postmaster@example.org
获取帮助:
sudo -u maddy maddy creds --help
sudo -u maddy maddy imap-acct --help
参考: