chore(deploy): 将 DKIM 组件切换为 Rspamd

- 用 Rspamd 替换 OpenDKIM 及其相关镜像、编排和启动脚本。
- 调整 Postfix、单容器镜像与 Docker 配置,改为对接 Rspamd milter。
- 增加 DKIM 私钥同步脚本与 Rspamd 本地配置,支持从 SQLite 周期导出签名密钥。
- 更新 API 启动与测试逻辑,兼容新的默认管理员邮箱与邮箱加载方式。
This commit is contained in:
LanQin
2026-06-15 23:41:21 +08:00
parent 2a5c4fcc0c
commit f8ff2a814b
25 changed files with 234 additions and 137 deletions
+4
View File
@@ -0,0 +1,4 @@
# V1 先把 Rspamd 作为 DKIM 签名和标记组件,不直接拒信,避免误杀。
reject = 999;
add_header = 6;
greylist = 999;
+19
View File
@@ -0,0 +1,19 @@
enabled = true;
# LanQin API 固定生成 selector=lanqin。路径支持 $domain / $selector 模板。
path = "/var/lib/rspamd/dkim/$domain.$selector.key";
selector = "lanqin";
try_fallback = true;
use_domain = "header";
use_esld = false;
use_redis = false;
# Go API / Postfix 在容器内提交的邮件需要签名。
sign_authenticated = true;
sign_local = true;
sign_networks = "/etc/rspamd/local.d/sign_networks.map";
allow_username_mismatch = true;
allow_hdrfrom_mismatch_local = true;
allow_hdrfrom_mismatch_sign_networks = true;
allow_hdrfrom_multiple = true;
+4
View File
@@ -0,0 +1,4 @@
127.0.0.0/8
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
+8
View File
@@ -0,0 +1,8 @@
bind_socket = "0.0.0.0:11332";
milter = yes;
timeout = 120s;
upstream "local" {
default = yes;
self_scan = yes;
}