Last Updated on 2026-09-04 by william
前陣子朋友公司用我自製的 docker 郵件服務器 docker_postfix_ad 出現一些問題,有些擋廣告的規則無法正確啟用,後來求助 gemini ai ,就神奇地解決了。
這次 docker_postfix_ad 4.0 除了解決擋廣告規則的陳年 bug 外,rspamd 升級到 4.1.5、基礎 os 升級到 RockyLinux 10.2、redis 改用完全開源的 valkey、postfix 使用 compatibility_level 3.6 安全等級,算是一次大升級,套用在朋友公司的郵件伺服器,運作良好。
這次升級還有一個超大亮點–請假功能
一般都是透過網頁設定休假,本系統不需要,只要自己寫一封信給自己,說明要休假即可啟用,而且增加串聯 ollama 本地端 LLM 功能,請假標題可以很口語,例如:我今天休假,AI 就能夠辨識轉成”今天 00:00 ~ 23:59:59 休假”的標準格式,才可以給系統使用。當然也加上防護提示詞注入功能。

順便記錄一下簡易安裝的眉角
- 到以下連結,產生容器安裝指令
https://williamfromtw.github.io/docker-Postfix-AD/genLaunchCommand.html
我是選擇產生 docker 指令
#長這樣子
docker volume create mailserver_vmail
docker volume create mailserver_postfix
docker volume create mailserver_dovecot
docker volume create mailserver_log
docker volume create mailserver_opendkim
docker volume create mailserver_rspamd_conf
docker volume create mailserver_rspamd_var
docker run --name mailserver \
-v /etc/letsencrypt:/etc/letsencrypt \
-v mailserver_vmail:/home/vmail \
-v mailserver_opendkim:/etc/opendkim \
-v mailserver_postfix:/etc/postfix \
-v mailserver_dovecot:/etc/dovecot \
-v mailserver_rspamd_conf:/etc/rspamd \
-v mailserver_rspamd_var:/var/lib/rspamd \
-v mailserver_log:/var/log \
-p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 -p 11334:11334 \
-e DOMAIN_NAME='kafeiou.pw' \
-e HOST_NAME='pmg.kafeiou.pw' \
-e HOST_IP='192.168.50.1' \
-e SEARCH_BASE='OU=taipei,DC=kafeiou,DC=pw' \
-e BIND_DN='CN=ldap,CN=Users,DC=kafeiou,DC=pw' \
-e BIND_PW='password' \
-e TZ='Asia/Taipei' \
-e ENABLE_QUOTA='false' \
-e ENABLE_LDAPS='true' \
-e SPAM_EMAIL='spam@kafeiou.pw' \
-e OLLAMA_HOST='http://192.168.50.2:11434' \
-e OLLAMA_MODEL='qwen3.8-200K' \
-e OLLAMA_TIMEOUT='60' \
-d --restart always --net=host \
inmethod/docker-postfix-ad:4.0b8
- mail server 啟動後,在 dns 宣告我們伺服器的 dkim 公鑰
進入 mailserver 容器,根目錄有 default.txt ,這就是 dkim key,請加到 dns 裡面

修改 /etc/postfix/main.cf,讓 dkim 加入,這樣就能利用 dkim 過濾外面寄信者

基本上這樣就完成了。
除了這些,我還將朋友郵件先引導到 cloudflare 的電子郵件路由過濾,還能擋掉一些自架伺服器微不可查的有害郵件。
** cloudflare 免費版只能設定 100人 以下的郵件轉寄。

