在許多中小企業或技術團隊中,郵件系統往往是內部最重要、卻也最容易被忽略的一個服務。
若能自行建置一套穩定、安全、可維護的郵件系統,不僅能降低長期外部服務的費用,更能完全掌握公司內部郵件的安全與隱私。
本文將介紹我目前正在使用的一套完整郵件系統架構,並簡單說明各元件的角色與實際應用情境。
🧩 系統整體架構
[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 |
🔄 架構整體運作流程
- 外部寄來的信件 → 經 Postfix 接收
- Postfix 將信件交給 Amavis
- Amavis 呼叫 ClamAV / SpamAssassin 掃描
- 驗證通過後交給 Dovecot 儲存
- 同時複製一份交由 Piler 歸檔
- 使用者可用 Roundcube 或郵件軟體收信
🏁 結語
這套架構雖然是由多個開源元件組成,但只要設計得當、整合良好,就能達到企業級郵件系統的穩定性與安全性。
後續文章我會逐步介紹各模組的安裝設定與細節,從 Postfix 開始,一步步建立屬於自己的完整郵件環境。