電子郵件用于網(wǎng)上的信心傳遞和交流,它是最重要的Internet服務(wù)之一。據(jù)統(tǒng)計Internet有30%的業(yè)務(wù)是電子郵件有關(guān)的。同時我們也不可否認(rèn)它在我們的日常生活、工作辦公方面扮演著很重要的角色。譬如:許多辦公自動化項目(OA)中都要附帶發(fā)送郵件的功能,如果還要使用OutLook等手工方式就不適合,在這個高速的時代,我們需要提供工作效率,讓工作能夠自動化。同時在許多網(wǎng)站中也都需要附帶發(fā)送郵件的功能:給新注冊的用戶發(fā)送一封包含其注冊信息的歡迎E-Mail、將網(wǎng)站的最新活動信息通過E-Mail發(fā)送給所有的注冊會員等等。
在開始電子郵件開發(fā)前:我們需要明白一下幾個概念:電子郵件系統(tǒng)、郵件服務(wù)器、電子郵件、郵件客戶端軟件、郵件傳輸協(xié)議、電子郵件的傳輸過程。
電子郵件系統(tǒng)
與 傳統(tǒng)的郵政服務(wù)相類似,電子郵件系統(tǒng)由電子郵局、電子郵件發(fā)送、接收系統(tǒng)組成。發(fā)送者和接收者通過電子郵件發(fā)送、接收系統(tǒng)來發(fā)送和接收電子郵件,他們實際 上是運行在計算機(jī)上的郵件客戶端程序。電子郵局起著一個橋梁的作用,它實際上是運行在服務(wù)器上的郵件服務(wù)器程序。電子郵件的處理流程也和郵政服務(wù)相類似。

郵件服務(wù)器
郵件服務(wù)器是一種用來負(fù)責(zé)電子郵件收發(fā)管理的設(shè)備。在Internet上提供了大量的電子郵件服務(wù)器,如:126、163、hotmail…。
電子郵件服務(wù)器主要提供的功能:
1、 接收用戶投遞的郵件。
2、 將用戶投遞進(jìn)來的郵件轉(zhuǎn)發(fā)給目標(biāo)郵件服務(wù)器。
3、 接收其他電子郵件服務(wù)器轉(zhuǎn)發(fā)來的郵件并該郵件存儲到其管理的用戶郵中。
4、 為前來讀取郵件的用戶提供讀取郵件的服務(wù)。
郵 件服務(wù)器構(gòu)成了電子郵件系統(tǒng)的核心。每個收信人都有一個位于某個郵件服務(wù)器上的郵箱(mailbox)。Bob的郵箱用于管理和維護(hù)已經(jīng)發(fā)送給他的郵件消 息。一個郵件消息的典型旅程是從發(fā)信人的用戶代理開始,郵件發(fā)信人的郵件服務(wù)器,中轉(zhuǎn)到收信人的郵件服務(wù)器,然后投遞到收信人的郵箱中。當(dāng)Bob想查看自 己的郵箱中的郵件消息時,存放該郵箱的郵件服務(wù)器將以他提供的用戶名和口令認(rèn)證他。Alice的郵件服務(wù)器還得處理Bob的郵件服務(wù)器出故障的情況。如果 Alice的郵件服務(wù)器無法把郵件消息立即遞送到Bob的郵件服務(wù)器,Alice的服務(wù)器就把它們存放在消息隊列(message queue)中,以后再嘗試遞送。這種嘗試通常每30分鐘左右執(zhí)行一次:要是過了若干天仍未嘗試成功,該服務(wù)器就把這個消息從消息隊列中去除掉,同時以另 一個郵件消息通知發(fā)信人(即Alice)。
電子郵件
電子郵件是一種通過網(wǎng)絡(luò)實現(xiàn)相互傳送和接收信息的現(xiàn)代化通信方式。它是—種用電子手段提供信息交換的通信方式,是Internet應(yīng)用最廣的服務(wù),通過網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以用非常低廉的價格,以非常快速的方式,與世界上任何一個角落的網(wǎng)絡(luò)用戶聯(lián)系,這些電子郵件可以是文字、圖像、聲音等各種方式。同時,用戶可以得到大量免費的新聞、專題郵件,并實現(xiàn)輕松的信息搜索。
電子郵件由信封和內(nèi)容兩個部分組成。信封又稱郵件頭,電子郵件服務(wù)器根據(jù)信封上的信心來傳遞郵件的。內(nèi)容稱為郵件體,它用于提供郵件的具體內(nèi)容。
Internet上的電子郵件地址全球唯一,其格式為“郵箱名@郵件服務(wù)器域名”。域(郵件域)是電子郵件服務(wù)器的基本管理單位,郵件服務(wù)以域為基礎(chǔ),每個郵箱對應(yīng)一個用戶。其中郵件服務(wù)器域名必須是已注冊的DNS域名,并且必須要與MX(郵件交換機(jī))記錄匹配。DNS用于將域名、主機(jī)名解析為IP地址。MX記錄指向該域名的郵件服務(wù)器主機(jī)記錄,為郵件服務(wù)專用。
郵件客戶端軟件
郵件客戶端軟件負(fù)責(zé)與郵件服務(wù)器通訊,主要用于幫助用戶將郵件發(fā)送給SMTP服務(wù)器和POP3/IMAP郵件服務(wù)器讀取用戶的電子郵件。郵件客戶端軟件通常集撰寫、發(fā)送、接收郵件于一體。
電子郵箱
每一個電子郵件服務(wù)器之上都可以開始多個電子郵箱,電子郵箱也稱之為E-Mail地址。它類似于現(xiàn)實生活中的通訊地址,用戶通過它接受別人發(fā)來的電子郵件和向別人發(fā)送電子郵件。
電子郵箱的獲得需要在電子郵件服務(wù)器上進(jìn)行申請,確切的說,電子郵箱其實就是用戶在郵件服務(wù)器上申請的一個賬戶。郵件服務(wù)器把接收到的郵件保持到為某個賬戶所分配的郵箱空間中,用戶通過其申請的用戶名和密碼登陸到郵件服務(wù)器上查看該地址已經(jīng)收到的電子郵件。
電子郵件的傳輸過程
電子郵件系統(tǒng)采用客戶/服務(wù)器模式。電子郵件傳送需要用到以下3個重要模塊:
MUA(Mail User Agent,郵件用戶代理):用戶通過它與電子郵件服務(wù)器打交道。MUA實際上就是郵件客戶端軟件。
MTA(Mail Transfer Agent,郵件傳輸代理):它主要負(fù)責(zé)處理所有接收和發(fā)送的郵件,為MUA或者MTA提供郵件發(fā)送服務(wù),接收其他MTA發(fā)送過來的郵件。
MDA(Mail Delivery Agent,郵件投遞代理):它負(fù)責(zé)郵件本地投遞。當(dāng)MTA決定某郵件發(fā)送本地用戶時,MTA將郵件交給MDA程序進(jìn)行分發(fā),也就是說投遞到用戶的。
具體的傳遞過程如下:
1、 發(fā)件人利用MUA將郵件發(fā)送給MTA。
2、 MTA收到郵件后判斷收件人是不是本地賬戶,如果是本地賬戶,交由MDA投送到該賬戶的郵箱中,完成發(fā)送過程,跳到第5步。如果不是則執(zhí)行下一步驟。
3、 MTA根據(jù)其郵件中繼轉(zhuǎn)發(fā)設(shè)置來決定如何轉(zhuǎn)發(fā)郵件。
4、 最終目的的MTA將受到的交給他的MDA處理,有MDA將郵件投遞到收件人的郵箱中。
5、 收件人利用MUA通過POP/IMAP協(xié)議連接到郵箱所在的服務(wù)器,請求查看自己的收件箱是否有郵件,如果有郵件,將會通過它傳送個收件人的MUA。
注意:提示郵件訪問服務(wù)的是POP或者IMAP服務(wù)器軟件,而并非當(dāng)初收下郵件的MTA,兩者的角色是分離的。
郵件傳輸協(xié)議
電子郵件服務(wù)傳輸主要是用到以下3中網(wǎng)絡(luò)協(xié)議
SMTP(簡單郵件傳輸協(xié)議)
SMTP是Simple Mail Transfer Protocol。標(biāo)準(zhǔn)TCP端口是25。MUA將郵件發(fā)送到MTA,MTA將郵件發(fā)送給下一個MTA,都是要使用SMTP。SMTP的目標(biāo)是可靠高效地傳送郵件,它獨立于傳送子系統(tǒng)而且僅要求一條可以保證傳送數(shù)據(jù)單元順序的通道。
SMTP是一個“單向”的協(xié)議,它不能用戶從其他郵件服務(wù)器收取郵件。它本身是采用客戶/服務(wù)器模式,負(fù)責(zé)發(fā)送郵件的SMTP進(jìn)程就是SMTP客戶端,負(fù)責(zé)接收郵件的SMTP進(jìn)程就是SMTP服務(wù)器。一個完整的SMTP通信過程主要包括建立連接、傳送郵件、釋放連接三個過程。
建立連接:首先由發(fā)件人將要發(fā)送的郵件發(fā)送到郵件緩存,SMTP客戶端定期掃描郵件緩存,一旦發(fā)現(xiàn)有郵件,就與SMTP服務(wù)器建立TCP連接,然后發(fā)送HRLLO命令以附上發(fā)送方的主機(jī)名。
傳送郵件:SMTP客戶端使用MAIL命令開始傳送郵件,該命令提供發(fā)件人的地址;然后執(zhí)行RCPT命令,并提供收件人地址;最后執(zhí)行DATA命令傳送郵件內(nèi)容。
釋放連接:郵件傳送完畢后,SMTP客戶端發(fā)送OUT命令請求關(guān)閉TCP連接。
POP(郵局協(xié)議)
POP是Post Office Protocol。標(biāo)準(zhǔn)TCP端口為110。主要用于電子郵件的接收。MUA經(jīng)由POP協(xié)議連接到MTA的用戶收件箱,以讀取或下載用戶在收件箱中郵件。
目前用的較多的POP協(xié)議是POP3。POP3使用 TCP 作為傳輸協(xié)議。
IMAP(Internet信息訪問協(xié)議)
IMAP是Internet Message Access Protocol。標(biāo)準(zhǔn)TCP端口為143,它也是讓MUA從MTA收取郵件。目標(biāo)球IMAP協(xié)議的版本為IMAP4。
POP和IMAP兩者都可以用于收取郵件,都是采用客戶/服務(wù)器模式,兩者最主要的區(qū)別就在于他們檢索郵件的方式不同。使用POP時,郵件駐留在服務(wù)器中個,一旦接收郵件,郵件都從服務(wù)器上下載到用戶計算機(jī)上。而IMAP則能夠然該用戶了解到服務(wù)器上存儲郵件的情況,已下載的郵件仍然滯留在服務(wù)器中,以便于實現(xiàn)郵件歸檔和共享。