简介
Maddy 是一款用 Go 语言开发的邮件服务器,它实现了运行电子邮件服务器所需的所有功能。
Maddy 用一个具有统一配置和最低维护成本的守护进程取代了 Postfix、Dovecot、OpenDKIM、OpenSPF、OpenDMARC 等程序。
通俗点讲就是部署特别方便, 资源占用少,非常适合个人使用的电子邮件服务器。
支持AMD64, ARM64,让你的甲骨文吃灰小鸡用起来
具体步骤移步
1. 创建 docker volume
1
docker volume create maddydata
2. 创建 tls 证书
申请证书步骤略过,将证书 copy 并重命为
tls_key.pem
和tls_cert.pem
到 volume 目录
1 2 3 4 5 6 docker volume 目录 cd $(docker volume inspect maddydata --format '{{.Mountpoint}}') 拷贝并重命名证书到当前目录 cp /etc/letsencrypt/live/mx1.example.org/cert.pem tls_cert.pem cp /etc/letsencrypt/live/mx1.example.org/privkey.pem tls_key.pem3. 设置 hostname 和 domainname
1 2 export MADDY_HOSTNAME=mx1.example.org export MADDY_DOMAIN=example.org4. 创建 maddy 实例
4.1 使用 docker 创建
1 2 3 4 5 docker run -d --name maddy \ -e MADDY_HOSTNAME=$MADDY_HOSTNAME -e MADDY_DOMAIN=$MADDY_DOMAIN \ -v maddydata:/data \ -p 25:25 -p 143:143 -p 465:465 -p 587:587 -p 993:993 \ enwaiax/maddy:latest4.2 使用 docker-compose 创建
1 2 3 mkdir maddy && cd maddy wget https://raw.githubusercontent.com/Chasing66/beautiful_docker/main/maddy/docker-compose.yml docker-compose up -d5. 配置 DNS 记录解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 A记录 example.org A 10.2.3.4 example.org AAAA 2001:beef::1 MX记录 example.org MX mx1.example.org. 同时最好配置mx1.example.org的A记录 mx1.example.org A 10.2.3.4 mx1.example.org AAAA 2001:beef::1 SPF example.org TXT "v=spf1 mx ~all" mx1.example.org TXT "v=spf1 mx ~all" _dmarc _dmarc.example.org TXT "v=DMARC1; p=quarantine; ruf=mailto:postmaster@example.org" _mta-sts,_smtp.tls _mta-sts.example.org TXT "v=STSv1; id=1" _smtp._tls.example.org TXT "v=TLSRPTv1;rua=mailto:postmaster@example.org" _dmarc cd $(docker volume inspect maddydata --format '{{.Mountpoint}}') cat dkim_keys/*.dns default._domainkey.example.org TXT "v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl+owES7j7OlEv0laaDEDBAqg="6. 创建邮件发送账户
1 2 3 docker exec -it maddy sh maddyctl creds create postmaster@example.org maddyctl imap-acct create postmaster@example.org备份
所有数据挂载在 volume 中,volum 路径为:
1 2 3 4 $ docker volume inspect maddydata --format '{{.Mountpoint}}' /var/lib/docker/volumes/maddydata/_data $ cd /var/lib/docker/volumes/maddydata/_data备份该目录即可
内存占用参考
甲骨文ARM 4+24
# docker stats –no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
bf894aee9831 nginx 0.00% 4.906MiB / 23.31GiB 0.02% 2.32MB / 4.79MB 0B / 0B 5
7bf33f081437 php 0.00% 20.46MiB / 23.31GiB 0.09% 231kB / 2.24MB 0B / 32.8kB 3
294646f622a2 maddy 0.04% 9.812MiB / 23.31GiB 0.04% 884kB / 228kB 0B / 20.5kB 10
搭配rainloop, 可以有从web直接发邮件,如有用的人多,后面可以出教程,也是docker起的,两下就搞定了
先上个图
留言