Skip to content

Nuface Blog

隨意隨手記 Casual Notes

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

自建企業級 Mail Server 架構總覽

Posted on 2025-11-072025-11-07 by Rico

在許多中小企業或技術團隊中,郵件系統往往是內部最重要、卻也最容易被忽略的一個服務。
若能自行建置一套穩定、安全、可維護的郵件系統,不僅能降低長期外部服務的費用,更能完全掌握公司內部郵件的安全與隱私。

本文將介紹我目前正在使用的一套完整郵件系統架構,並簡單說明各元件的角色與實際應用情境。


🧩 系統整體架構

[Internet]
     │
     ▼
 ┌────────────┐
 │  Postfix   │ ← SMTP 收發郵件、DKIM簽章、反垃圾郵件初步過濾
 └────────────┘
     │
     ▼
 ┌────────────┐
 │  Amavis    │ ← 病毒/垃圾信過濾中樞,串接 ClamAV、SpamAssassin
 └────────────┘
     │
     ▼
 ┌────────────┐
 │  Dovecot   │ ← IMAP/POP3 存取、使用者信箱管理、Sieve過濾
 └────────────┘
     │
     ▼
 ┌────────────┐
 │  Piler     │ ← 郵件歸檔與搜尋
 └────────────┘

輔助系統:

  • PostfixAdmin:用於管理郵件網域、虛擬帳號與使用者密碼變更
  • MariaDB:存放郵件帳號、網域、轉寄設定等資料
  • Roundcube:提供 Webmail 介面,讓使用者可以直接透過瀏覽器收發信
  • ClamAV:病毒掃描
  • SpamAssassin:垃圾郵件判斷與學習
  • Amavis:整合 ClamAV 與 SpamAssassin 的中介層,負責過濾流程
  • Piler:郵件歸檔與關鍵字搜尋系統,可長期保存信件、支援合規查詢

🔧 各模組功能與角色

🏣 Postfix — 郵件核心

Postfix 是整個郵件系統的心臟,負責 SMTP 傳送與接收。
它會依照 DNS 的 MX 記錄接收外部信件,並將信件投遞給內部的收信系統(Dovecot)。
同時,它也負責寄信出去(relay 外部郵件)。

應用場景:

  • 使用者透過 Outlook、Thunderbird、手機等寄信時,會經過 Postfix 認證與發信。
  • 外部寄來的郵件,會先經過 Postfix,然後再進入 Amavis 進行掃描。

👩‍💻 PostfixAdmin — 使用者與網域管理

這是一個 PHP 網頁介面,讓管理者能輕鬆管理:

  • 郵件網域(Domains)
  • 虛擬帳號(Virtual Users)
  • 郵件別名(Aliases)
  • 使用者自行變更密碼

應用場景:

  • 新增一個新部門的郵件網域(例如 marketing.company.com)
  • 使用者忘記密碼時可自行重設
  • 管理員可快速建立轉寄地址或群組郵件信箱

🗃️ MariaDB — 帳號與設定資料庫

MariaDB 負責儲存 Postfix、Dovecot 所需的帳號與設定資料,例如:

  • 網域清單
  • 使用者帳號與密碼雜湊
  • 郵件別名、轉寄設定
  • 配額 (quota)

📬 Dovecot — 收信與使用者信箱管理

Dovecot 提供 IMAP/POP3 服務,讓使用者可以透過各種郵件軟體(Outlook、Apple Mail、手機)讀信。
它同時支援:

  • Sieve 過濾規則(例如:自動分類、轉寄、拒信)
  • Spam/Not-Spam 標記學習
  • 配額 (Quota) 管理

應用場景:

  • 使用者登入 Webmail 或郵件軟體時
  • 系統自動依規則分類信件(例如主管信箱自動分群)

🧱 Amavis — 郵件內容過濾中心

Amavis 是郵件防護的中樞,所有收進來的郵件都會被轉交給它處理。
它會呼叫:

  • ClamAV 進行病毒掃描
  • SpamAssassin 進行垃圾郵件分析與評分
  • DKIM/DMARC/SPF 驗證

應用場景:

  • 攔截惡意附件
  • 判斷垃圾郵件並標記標頭(Spam Score)
  • DKIM 簽章確保寄件者真實性

🦠 ClamAV — 病毒防護

ClamAV 是開源防毒引擎,搭配 Amavis 自動掃描所有進出郵件附件。
應用場景:

  • 防止郵件夾帶惡意檔案或勒索病毒

🚫 SpamAssassin — 垃圾郵件過濾

SpamAssassin 會根據郵件內容、寄件 IP、黑名單、語意分析等因素,給予信件評分。
若超過閾值,會被標記為垃圾郵件或移動到 Junk 資料夾。
同時也支援使用者回報與學習機制。


🌐 Roundcube — Webmail 使用介面

Roundcube 提供完整的 Web 郵件介面,支援:

  • 收發信、附件上傳
  • HTML 編輯
  • 郵件分類、搜尋
  • Sieve 規則管理

這對行動使用者或外出辦公者非常實用。


📦 Piler — 郵件歸檔與搜尋

Piler 是企業級郵件歸檔系統,能將所有收發信件自動保存、索引,支援快速搜尋。
它能:

  • 以法律遵循的方式保留郵件
  • 提供全域搜尋功能(主旨、寄件人、附件內容)
  • 防止使用者誤刪郵件造成損失

應用場景:

  • 主管查詢歷史郵件紀錄
  • 合規稽核或法律留存
  • 確保重要郵件不被誤刪

💡 使用者場景實例

使用者角色需求系統組件
一般員工透過 Outlook 收發信Postfix + Dovecot
新員工建立郵件帳號、設定密碼PostfixAdmin + MariaDB
外出業務使用手機 Webmail 收信Roundcube + Dovecot
IT 管理員監控垃圾郵件與病毒情況Amavis + SpamAssassin + ClamAV
稽核或法務查詢歷史郵件紀錄Piler
管理部門建立群組信箱與轉寄PostfixAdmin

🔄 架構整體運作流程

  1. 外部寄來的信件 → 經 Postfix 接收
  2. Postfix 將信件交給 Amavis
  3. Amavis 呼叫 ClamAV / SpamAssassin 掃描
  4. 驗證通過後交給 Dovecot 儲存
  5. 同時複製一份交由 Piler 歸檔
  6. 使用者可用 Roundcube 或郵件軟體收信

🏁 結語

這套架構雖然是由多個開源元件組成,但只要設計得當、整合良好,就能達到企業級郵件系統的穩定性與安全性。
後續文章我會逐步介紹各模組的安裝設定與細節,從 Postfix 開始,一步步建立屬於自己的完整郵件環境。

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