Linux 郵件系統的組成
在 Linux 系統的自動化管理中,利用腳本自動發送郵件的功能對系統監控的工作來說是非常重要的。系統管理人員可以利用 cron 或者 RMC 來創建監控腳本,一旦觸發條件被滿足,操作系統就會自動創建電子郵件,將相關的狀態信息發送到指定的郵箱。通過電子郵件系統,系統管理人員就能夠及時得獲取被管理系統的狀態,進而采取相應的措施。這種方式可以顯著地節省系統管理人員的工作強度,并能夠提高系統的可維護性。本文主要講述的是Linux 郵件系統的組成。
在傳統的Linux 系統中,電子郵件系統的主要組成部分包括郵件用戶代理 (MUA -- mail user agent)、郵件傳輸代理(MTA -- mail transfer agent)、郵件提交代理 (MSA -- mail submission agent)、郵件投遞代理 (MDA -- mail delivery agent) 和郵件訪問代理 (MAA -- mail access agent)。在日常工作中,系統管理人員經常接觸的主要有郵件用戶代理 (MUA) 和郵件傳輸代理 (MTA)。在 AIX 系統中,一個典型的郵件系統如圖 1 所示。
圖 1. 郵件系統示意圖
郵件用戶代理(MUA)是一個用來讀寫 mail 的程序,實際上就是郵件系統的客戶端程序。它提供了閱讀,發送和接受電子郵件的用戶接口。最常用的郵件用戶代理有 mutt,mail,elm,pine,它們都是隨基本系統安裝的 簡單郵件應用程序。
郵件傳輸代理(MTA)是一個在兩個主機之間或者本地同一主機內傳送郵件的程序,它負責郵件的存儲和轉發,并決定傳送郵件到目的地的路線。UNIX/Linux 系統的標準 MTA 是 sendmail,其他的 MTA 還有 qmail, exim 和微軟的 Exchange。MTA 會監視用戶代理的請求,根據電子郵件的目標地址找出對應的郵件服務器,在服務器之間傳輸郵件并將接收到的郵件進行緩沖。
郵件投遞代理(MDA)通常被 MTA 用來投遞郵件到接收者的郵箱中。它能夠從 MTA 接收郵件,并根據指定的規則來進行本地投遞;它可以把郵件投遞到本地用戶、郵件列表、文件或者應用程序。UNIX/Linux 系統中常用的 MDA 包括 maildrop、procmail、postfix 和 delivermail 等。Postfix 用一個或多個 MDA 來遞送郵件 , procmail 是另外一個有名的 MDA.
郵件提交代理(MSA)負責消息發送之前的所有必須完成的準備工作和錯誤檢測。MSA 就如同在 MUA 和 MTA 之間的一個頭腦清醒的檢測人員,它會對所有的主機名和從 MUA 得到的信息頭等信息進行檢測。
MAA 郵件訪問代理(MAA)將用戶連接到郵件系統,并通過 POP 或 IMAP 協議來收取郵件。Linux 系統中,常用的 MAA 有 UW-IMAP、Cyrus-IMAP、COURIER-IMAP 等;當郵件向目的地址進行傳輸時,一旦源地址和目的地址都不是本地系統,那么本地系統就會作為郵件的中繼。
對于大多數郵件用戶來說,利用郵件客戶端來接收、查看和發送電子郵件是最常用的功能。接收和查看郵件比較簡單,但是電子郵件的發送則相對復雜。在下面的章節里面,本文將根據不同的操作系統來具體介紹如何配置郵件服務器。
【編輯推薦】