TCP/IP 與 Internet 網路:第十四章 電子郵件系統 上一頁 下一頁
14-2 E-mail 系統架構
我們由 E-mail 上所需的系統功能,及其系統元件來介紹 E-mail 系統架構如下:
14-2-1 E-mail 系統功能
E-mail 系統大略可區分為兩個獨立功能的元件:MUA 和 MTA,兩者都是郵件系統必須具備的軟體工具。MUA 與 MTA 皆可由不同的軟體套件安裝而成,因為兩者是獨立工作環境,也就是說,任何 MUA 軟體都可搭配不同的 MTA 軟體,分述如下:
(A)郵件使用者代理程式(Mail User Agents, MUA)
MUA 是使用者處理郵件的介面,提供使用者『讀信』和『寫信』的功能,當然也是『寄信』和『收信』的工具。一般在 Unix/Linux 上較常用的是 mail 或 fetchmail,而 Windows 系統上較多使用 Outlook 或 Outlook Express 等 MUA 軟體。不論 mail 或 Outlook 都提供 SMTP 協定讓使用者發信,也提供 POP3(IMAP)協定作為收信使用。
(B)郵件傳送代理程式(Mail Transport Agents, MTA)
MTA 是負責轉送郵件的工具,它是將 MUA 的信件轉送到接收者的信箱上。MTA在轉送過程中,包含轉送和傳遞郵件兩個主要功能。轉送功能是將郵件傳送至適當的郵件伺服器上,收信者再從郵件伺服器上索取信件;傳遞功能則是讓使用者發送信件,或使信件在網路上交換傳遞而到達目的地。目前 MTA 軟體不但可以傳遞信件,亦可整合聲音、影像、動畫等多媒體文件,在 Unix/Linux 系統上大多使用 Sendmail 郵件軟體,而Windows 系統上是採用 Exchange Server。但 Sendmail 也有 Windows 系統上的版本可供使用,也就是說,時下 E-mail 系統還是以 Sendmail 佔大部分,這也是本章以 Sendmail 為範例的主要原因。
圖 14-1 為 MTA 和 MAU 在 E-mail 系統上所扮演的角色,其中 MUA 是一般使用者收發信件使用;而 MTU 是轉送信件使用,可能是 SMTP Server 或 Mail Server。
圖 14-1 E-Mail 系統元件的功能
14-2-2 E-mail 系統元件
雖然 E-mail 系統功能可區分為 MUA 和 MTA 兩種,但經過實際實現後,MTA 可區分為 Mail Server 和 Mail Exchange Server 兩種伺服器。一般來講都將這兩種伺服器安裝在同一部主機電腦上,但在 Internet 網路上,為了配合全球高負載的郵件交換,常有獨立的 Mail Exchange Sever 主機,來專門負責郵件傳遞的工作,因此,我們還是必須分別介紹。
(A)郵件伺服器
『郵件伺服器』(Mail Server)的功能如同一般郵局的郵政信箱一樣,將遠端所傳送過來的信件存入信箱內,受信者再到信箱內索取信件。收信端電腦和郵件伺服器間必須透過標準協議來通訊,目前使用最普遍的是 POP 和 IMAP 協定,因此,一般郵件伺服器也稱之為『POP Sever』或『IMAP Server』。如圖 14-1,MTU(STMP Server)將信件投入郵件伺服器上,等待使用者(MUA)以 POP 或 IMAP 協定來索取信件。其中 POP 協定是將信件下載到使用者端(如 Outlook),下載後並清除信箱內的信件;IMAP 協定是直接到郵件伺服器上讀取信件,或管理(如刪除)信件,而不將信件下載到客戶端(Outlook)。
(B)郵件信箱
郵件伺服器上都會依照使用者名稱,將每一使用者建立一個獨立信箱,以接收該使用者的信件,稱之為『郵件信箱』(Mail Box)。一般 Unix/Linux 系統建立使用者後,都會針對每一個使用者安裝信箱,並以使用者名稱命名。郵件信箱的命名方式是『使用者名稱』『@』『主機名稱』,譬如在某一郵件伺服器(linux-2.cu.edu.tw)上的使用者(U1),而它的郵件信箱為:
U1@linux-2.cu.edu.tw
其中,『@』表示『at』(在)的意思,這就是一般所稱的『E-mail 位址』。如果郵件伺服器是一個合法的網域名稱位址,則該伺服器下的 E-mail 位址,便可以通行世界各地了。
(C)郵件交換伺服器
郵件在網路上也許會經由若干個『郵件交換伺服器』(Mail Exchange Server)的轉送,才會到達目的端的郵件伺服器(如 POP Server)。另一方面,傳送端也需要一部郵件交換伺服器來負責傳送信件。因此,在客戶端和郵件交換伺服器之間、或是信件轉送中的郵件交換伺服器之間,需要一個共通協定來通訊,目前最廣泛使用的是 SMTP 協定,也因此,一般郵件交換伺服器稱之為『SMTP Server』。SMTP Server 的功能如同郵局收發信件一樣。如圖 14-1 所示,客戶端(Outlook)將信件發送到 SMTP 伺服器,再由此 SMTP 伺服器轉送到其它 SMTP 伺服器或郵件伺服器。目前 SMTP 伺服器大多以 Sendmail 郵件軟體安裝而成。
14-2-3 DNS 郵件交換紀錄
記得在介紹 DNS 系統時,DNS 伺服器有一筆『郵件交換』(Mail eXchange, MX)紀錄型態。當客戶端發送信件時,必須向預設 DNS 詢問 MX 紀錄,MX 紀錄表示該網域區域負責轉送郵件的『郵件交換伺服器』位址,如圖 14-2 所示,客戶端在電腦 A 發送信件(mail U1@linux-2.cu.edu.tw),首先『解析器』(Resolver)向 DNS 伺服器查詢 MX 紀錄,由 MX 紀錄得知 SMTP Server 所在位址,再將信件發送給 SMTP Server(即電腦 B)。再來,SMTP Server 檢視是否有負責轉送(或接收)該網域(cu.edu.tw)的郵件(如 14-8-3 介紹),如允許轉送,便向 DNS 伺服器查詢所欲傳送信件的位址(linux-2.cu.edu.tw),得到位址後,再將信件傳送給該位址的郵件伺服器(電腦 D),客戶端(透過電腦 E)再從郵件伺服器讀取信件。在圖 14-2 中的 DNS 伺服器(即電腦 C),可由不同的伺服器,分別來負責客戶端查詢 MX 紀錄和 SMTP Server 查詢位址解析的工作。
圖 14-2 DNS 郵件交換紀錄功能