【免費註冊】 【會員登入】 【個人資料】 【會員列表】 【論壇幫助】 【論壇搜尋】 【登出論壇】

∮Ω奧米加空間∮
∮Ω奧米加空間∮»技術文件區»【轉貼】Docker搭建Maddy多合一郵件伺服器

訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆
作者 主題    
dc
管理員



性別:男
來自:瓦肯星
發表總數:10251
註冊時間:2002-05-07 16:32
(第 1 篇) 【轉貼】Docker搭建Maddy多合一郵件伺服器

資料來源:LuckyHunter's notes

GitHub https://github.com/Chasing66/beautiful_docker/tree/main/maddy
Docker https://hub.docker.com/r/enwaiax/maddy

*docker image support for AMD64 and ARM64

简介
基于 https://github.com/foxcpp/maddy 项目的 docker 镜像.

Maddy 是一款用 Go 语言开发的邮件服务器,它实现了运行电子邮件服务器所需的所有功能。

Maddy 用一个具有统一配置和最低维护成本的守护进程取代了 Postfix、Dovecot、OpenDKIM、OpenSPF、OpenDMARC 等程序。

通俗点讲就是部署特别方便, 资源占用少,非常适合个人使用的电子邮件服务器。

预置条件
检查 25 端口是否开放
代碼:
telnet smtp.aol.com 25

部署步骤
1. 创建 docker volume
代碼:
docker volume create maddydata

2. 创建 tls 证书
申请证书步骤略过,将证书 copy 并重命为tls_key.pem和tls_cert.pem到 volume 目录
代碼:
# 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.pem

3. 设置 hostname 和 domainname
代碼:
export MADDY_HOSTNAME=mx1.example.org
export MADDY_DOMAIN=example.org

4. 创建 maddy 实例
4.1 使用 docker 创建
代碼:
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:latest

4.2 使用 docker-compose 创建
代碼:
mkdir maddy && cd maddy
wget https://raw.githubusercontent.com/Chasing66/beautiful_docker/main/maddy/docker-compose.yml
docker-compose up -d

5. 配置 DNS 记录解析
代碼:
# 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. 创建邮件发送账户
代碼:
docker exec -it maddy sh
maddyctl creds create postmaster@example.org
maddyctl imap-acct create postmaster@example.org

备份
所有数据挂载在 volume 中,volum 路径为:
代碼:

$ docker volume inspect maddydata --format '{{.Mountpoint}}'
/var/lib/docker/volumes/maddydata/_data
$ cd /var/lib/docker/volumes/maddydata/_data


备份该目录即可






Your mind to my mind,

your thought to my thought
發表時間:2022-05-04 21:59
dc的個人資料 傳送郵件給dc dc的個人首頁 dc發表的所有文章 送出悄悄話給dc IP:114.*.*.* 編輯  引言回覆 
所有時間均為GMT+8, 現在是2022-08-14 14:14    
訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆

快速回覆
主題 ( 回覆文章可以不輸入標題 )
URLs自動分析
有回覆時郵件通知
禁用表情符號
使用簽名

<聯絡我們 - OMEGA - 控制面板>

Powered by Centaur & Joksky & DC, ver 2003.08.14
Copyright ©2002-2008 PHPY.COM


頁面生成時間:0.015801906585693