Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

打造企業級郵件系統的完整指南(總綱篇)

Posted on 2025-11-202025-11-21 by Rico

【Mail Server 系列文:第 1 篇】

在大多數企業環境中,一套可靠、安全、可維運的郵件系統,是資訊基礎架構中最重要的核心服務之一。
本系列文章將帶你從零開始,建構一套 完整的 Mail Server 生態系統:
從郵件收發、內容過濾、防毒防垃圾信、使用者管理,到封存與全文檢索、Webmail 介面…
全部使用可控、透明、可維護的 Docker-based 微服務架構。


🎯 系列目標

本系列將介紹如何建構一套具有以下特性的郵件系統:

✔ 支援多網域、虛擬使用者(MySQL)
✔ Postfix + Dovecot —— 穩定又功能完整的核心
✔ Amavis / ClamAV / SpamAssassin —— 垃圾信、病毒防護
✔ Sieve + IMAPSieve —— 使用者層級的自動化信件規則
✔ Quota + 使用者配額警告
✔ Bayes + TxRep + Remote spam/ham learning
✔ Piler 郵件封存 + Manticore 中文全文搜尋
✔ Roundcube Webmail + Sieve 規則編輯
✔ Apache Reverse Proxy + HTTPS 全面加密
✔ 自動憑證更新 + Postfix/Dovecot SNI
✔ 可擴充架構、可分散部署

在後續的文章中,你將能逐步完成一套足以在正式環境運作的 Mail 基礎架構。


🏗 本系列的系統全貌(架構概覽)

整個 Mail 生態系統以 Docker 服務為核心,所有元件都被拆分為獨立容器:

                +------------------------+
                |   Apache Reverse Proxy |
                |   HTTPS / SNI / Cert   |
                +-----------+------------+
                            |
          https://webmail.domain     https://archive.domain
                            |
        +-------------------+---------------------+
        |                                         |
+---------------+                  +----------------------------+
|   Roundcube   |                  |           Piler            |
|   Webmail     | <------LMTP---- |  郵件封存 + 索引 + 搜尋 UI |
+---------------+                  +--------------+-------------+
                                                       |
                                                       | SQL / Search
                                                       v
                                           +--------------------------+
                                           |     Manticore Search     |
                                           | (支援中文、ICU、N-gram)    |
                                           +--------------------------+

SMTP / IMAP 服務核心
---------------------------------------------------------------
        +-------------------------+
        |        Postfix          |  → SMTP 收/發、SNI、policy
        +-----------+-------------+
                    | LMTP
        +-----------v------------+
        |        Dovecot         | → IMAP/POP3、LMTP、Sieve、Quota
        +-----------+------------+
                    |
                    v
           +----------------+
           |  User Maildir |
           +----------------+

內容過濾(Anti-Spam / Anti-Virus)
---------------------------------------------------------------
      SMTP Flow:   Postfix → Amavis → Postfix

        +-----------+------------+
        |    Amavis / SpamAssassin / ClamAV    |
        |    - DKIM / SPF / SA4 / TxRep        |
        |    - 分析、清理、加標頭                |
        +-----------+------------+

郵件封存彙整(透過 Milter)
---------------------------------------------------------------
Postfix → Piler-Milter → 加 X-Envelope-To → Piler 封存

資料庫(虛擬使用者 / Postfixadmin / SpamAssassin / Piler)
---------------------------------------------------------------
                            |
                +-------------------------+
                |         MariaDB         |
                | Postfixadmin / SA / Piler |
                +-------------------------+

🔧 元件職責說明(總覽)

1️⃣ Postfix — 核心 MTA(收 / 發 / 轉、SNI、多網域)

  • 處理所有 SMTP 收發
  • 支援 MySQL 虛擬網域、虛擬信箱
  • 支援 SNI → 多網域 SSL
  • 與 Amavis 整合內容過濾
  • 與 Dovecot 整合 SASL 驗證
  • 與 Piler-Milter 整合封存

2️⃣ Dovecot — IMAP / POP3 / LMTP / Sieve / Quota

  • 提供 IMAP/POP3 服務給使用者
  • 管理使用者 Maildir(vmail)
  • 提供 LMTP 作為 Postfix 的投遞端點
  • 支援:
    • Sieve 自動化規則
    • Quota + Maildir 配額警告
    • IMAPSieve → spam/ham 自動學習
    • SpamAssassin 遠端 spamc 學習

3️⃣ Amavis + ClamAV + SpamAssassin — 內容安全防護

郵件經過下列流程:

Postfix → Amavis → SpamAssassin → ClamAV → Amavis → Postfix

提供:

  • 病毒掃描
  • 垃圾信檢查(Bayes + TxRep + DNSBL)
  • DKIM 驗證 / 簽章
  • 修改 spam 信件標頭

4️⃣ Postfixadmin — 網域與帳號管理

提供管理者 UI:

  • 建立網域 / 使用者 / 別名
  • 設定 forwarding / catch-all
  • 修改密碼
  • 與 MariaDB 配合存取資料

5️⃣ Piler — 郵件封存與稽核

功能包括:

  • 所有內外郵件完整保留
  • 使用者/管理者查詢介面
  • 支援稽核、寄件人查詢、附件類型搜尋

為了支援中文,搭配:

🔍 ManticoreSearch(取代 Sphinx,具中文索引能力)

  • ICU Chinese 分詞
  • Ngram (2) 分段檢索
  • 支援全文搜尋:標題、內文、寄件人、收件人

6️⃣ Piler-Milter — 加入 X-Envelope-To

讓 Piler 可以知道「實際投遞到哪些收件人」,以提供正確的使用者搜尋權限。


7️⃣ Roundcube — Webmail + Sieve UI

  • IMAP Webmail 介面
  • SMTP 寄信
  • 管理 Sieve 規則(搬移到資料夾、自動分類)
  • 與 Dovecot 完整整合

8️⃣ Apache Reverse Proxy + HTTPS

  • 反向代理 Roundcube、Piler
  • Let’s Encrypt 自動續約
  • Postfix/Dovecot 憑證自動同步
  • 支援多個 subdomain

📚 本系列文章的章節規劃

以下是系列內容的完整規劃,每篇均可獨立閱讀。


📘 第 1 篇:總綱篇 — Mail 系統全貌、架構、功能介紹(本篇)


📙 第 2 篇:網路架構、DNS 與憑證設計

・MX / SPF / DKIM / DMARC 必備設定
・Postfix SNI(Inbound/Outbound)
・Let’s Encrypt + 自動續約 + Postfix/Dovecot reload


📗 第 3 篇:MariaDB + Postfixadmin(虛擬網域管理)

・使用 Docker 佈署 MariaDB
・建立 postfix schema
・透過 Postfixadmin 管理使用者
・跨部門管理流程建議


📙 第 4 篇:Postfix 3.10:打造現代化 SMTP 服務核心

・Postfix 自行編譯(支援 MySQL / LMDB / PCRE2)
・完整 main.cf / master.cf 解說
・Amavis / Dovecot / Piler 整合流程
・Milter 運作解析

📘 第 5 篇:Dovecot – IMAP / POP3 / Sieve / Quota / LMTP

・虛擬使用者設定
・Quota + 配額警告信
・Sieve + IMAPSieve 自動化
・與 SpamAssassin 遠端學習整合


📙 第 6 篇:SpamAssassin + ClamAV + Amavis 全流程

・SA 4.0 + TxRep
・MySQL Bayes
・Amavis 內容過濾負責哪些
・如何做 spam / ham 的學習 pipeline


📗 第 7 篇:Amavis + ClamAV + DKIM:郵件病毒掃描、垃圾郵件處理與郵件簽章完整流程

・ClamAV(病毒掃描)
・SpamAssassin(垃圾郵件評分)
・DKIM 簽章
・Postfix inbound/outbound content-filter 流程
・如何在 Docker 架構中部署 Amavis + ClamAV


📘 第 8 篇:Piler + Manticore 中文全文檢索(含 Milter)

・建置 Piler
・為何 Sphinx 無法中文
・Manticore + ICU Chinese
・X-Envelope-To 封存邏輯


📙 第 9 篇:Roundcube Webmail + Managesieve

・Webmail 基礎
・SMTP/IMAP TLS 驗證
・Sieve UI(搬移 / 自動分類)
・Proxy 與 TLS 問題排除


📗 第 10 篇:郵件系統完整架構、維運、監控、安全、備份策略

・logrotate
・fail2ban
・備份 maildir / MariaDB / piler store
・版本升級策略

📘 第 11 篇:完整故障排除指南

・常見錯誤與排查流程
・完整 troubleshooting checklist
・各服務常用 debug 指令
・FAQ(最常被問的問題)
・如何快速判斷是哪個模組出錯

📙 第 12 篇:進階篇:高可用性架構、Failover、GeoDNS、監控與郵件濫用自動化防護(SOAR)

・Mail Server 高可用性
・Mail Server 高可用性架構選項
・Failover 設計細節
・GeoDNS — 多區域入口
・監控(Monitoring)設計
・SOAR(安全事件自動化)
・安全最佳化建議
・企業級郵件架構未來升級方向

📗 第 13 篇:企業郵件系統部署腳本 + 維運標準作業流程(SOP)

・系統部署架構總表
・部署順序
・一鍵部署腳本
・維運 SOP
・最常見三大問題與排除流程
・建議加入公司 IT 維運手冊的文件

📘 第 14 篇:Mail Server 全系統架構與流程總覽

・Mail Server 系統完整架構圖
・郵件收信流程
・郵件寄信流程
・Piler(郵件歸檔)與 Manticore(全文檢索)流程
・Spam/Ham 遠端學習
・Roundcube Webmail 與 Apache 反向代理
・主機防火牆與 Docker 網路規劃
・所有容器服務總表
・整套 Mail Server 架構完成後的能力

📙 第 15 篇:備援架構、維運策略與長期擴充指南

・提供可落地的 高可用方案(HA)
・針對平台各服務提出 備援選項與擴充方向
・建議監控、備份與自動化策略
・逐項列出若跨地部署、多 Domain、跨國團隊如何維運
・分享實務上的 故障排除 SOP 與 災難恢復流程(DR)

📗 第 16 篇:全鏈路監控與告警系統:打造企業級 Mail Platform 的監控中心

・郵件平台要監控哪些項目
・推薦的完整監控架構
・要安裝哪些 Exporter
・建立 Grafana 視覺化儀表板
・告警(Alerting)規則建議
・SMTP / IMAP 外部探測監控
・統一事件通知
・實際部署建議

📘 第 17 篇:企業郵件系統的安全、稽核與資料治理

・安全治理:企業郵件系統的第一道防線
・稽核治理:郵件行為的可追蹤性
・資料治理
・資安事件處理
・全面採用 Zero Trust 郵件模型
・建議補強清單

📙 第 18 篇:郵件系統備份、災難復原(DR)、異地部署策略完整指南

・為什麼郵件系統的備份與 DR 特別重要
・全系統備份項目總表
・備份策略建議
・每日 / 每週 / 每月 備份排程
・災難復原 DR(Disaster Recovery)完整 SOP
・異地備援架構
・建議的自動化備份腳本

📗 第 19 篇:郵件系統「日常維運、監控、效能優化」完整指南

・日常檢查項目
・異常排查 SOP
・監控設計
・效能最佳化
・安全強化建議

📘 第 20 篇:郵件系統的全面資安強化

・TLS:郵件傳輸加密
・SPF:寄件來源驗證
・DKIM:郵件內容簽章
・DMARC:偽造郵件的終極防線
・MTA-STS:SMTP 加密強制政策
・DANE:基於 DNSSEC 的 TLS 保護
・現代企業郵件系統「資安等級」標準

Recent Posts

  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix
  • 如何在 Postfix 中部署 DANE
  • DANE: DNSSEC-Based TLS Protection

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme