電子郵件
-
實時通信有兩個很嚴重的缺點:
- 電話通信的主叫和被叫必須同時在場。
- 有些電話常常不必要被打斷被叫者的工作或者休息。
-
電子郵件是互聯網上使用最多和最受歡迎的一種應用。電子郵件最主要的兩個標准是:
- 簡單郵件傳送協議SMTP(Simple mail Transfer Protocol)
- SMTP和POP3都使用TCP連接傳送郵件。
- 互聯網文本報文格式
-
一個電子郵件系統應該具有以下三個主要結構
- 這就是用戶代理,郵件服務器,郵件發送協議(SMTP)和郵件讀取協議(POP3)。
- 用戶代理UA(User Agent)就是用戶與電子郵件的接口,又稱之為電子郵件客戶端軟件,來用發送和接收郵件。
- 用戶代理至少應該具備以下種條件:
- 撰寫:給用戶提供編寫信件的環境。
- 顯示:能夠展示郵件內容。
- 處理:包括發送和接收郵件。
- 通信:發信人寫完郵件后利用郵件發送協議發送郵件。
收件人利用郵件讀取協議接收郵件。
- 用戶代理至少應該具備以下種條件:
-
電子郵件一般由信封和內容兩部分組成。在郵件的信封上,最重要的是收件人的地址,TCP/IP協議的電子郵件系統
規定電子郵件地址格式如下:用戶名@郵件服務器的域名。
簡單郵件傳送協議
- SMTP協議規定了在兩個互相通信的SMTP進程之間應該如何交換信息,由於SMTP使用的是客戶服務器方式,因此發雜發送郵件的SMTP進程就是SMTP客戶,而負責接收郵件的SMTP進程就是MNTP服務器,至於郵件內部的格式,,郵件如何存儲,這些SMTP都未作出規定。
- 發送過程
- 連接建立
- 發件人的郵箱發送到發送方的郵箱的郵箱緩存后,SMTP客戶就每隔一段時間(例如30min)就對就對郵件緩存掃描一次,如果發送有郵件,就是用SMTP熟知的端口號25與接收方的郵件的SMTP服務器建立TCP連接,在連接建立后,接收方SMTP就發出220 Service ready(服務就緒),然后SMTP客戶就向SMTP服務器發送HELO命令,附上發送方的主機名,SMTP若有能力接收郵件,則回答:“250 OK”,表示已經准備接受,若SMTP服務器不可用,則回答:"421 Service out available(服務不可用)"。
- 郵件傳送
- 郵件傳送從MAIL命令開始的。MAIL命令后面跟着發件人的地址。如:MAIL FROM heiye@qq.com。若SMTP服務器已經准備接受好郵件,則回答”250 OK“,否則返回一個代碼,例如:451(處理時出錯),452(存儲空間不夠),500(無法識別)等。
- 下面就跟着一個或者多個RCPT命令,用於把郵件發送給收件人,例如:RCPT TO:<收件人地址>。
- 接下來是DATA命令,表示要發送的郵件內容了。
- 連接釋放郵件發送完畢后,SMTP客戶應該發送一個QUIT命令。SMTP服務器返回的是”221(服務關閉)“表示SMTP同意釋放TCP連接,郵件傳送過程結束。
- 連接建立
- SMTP缺點
- 發送郵件不需要鑒別,這樣在FROM命令后面的地址可以自由地編寫,這樣就大大方便了垃圾郵箱的制造者。
- SMTP傳輸的郵件是明文,不利於保密。
郵件讀取協議POP3和IMAP
- 現在常用的郵件讀取協議有兩個:
- POP3(郵局協議第三個版本):
- POP3郵局協議是一個非常簡單的,但功能有限的郵件讀取協議。
- POP3也使用客戶服務器的工作方式,在接收郵件的用戶計算機中的用戶代理必須運行POP3運行程序,而在收件人的郵件服務器中則運行POP3服務器程序,當然,這個郵件服務器還要運行SMTP服務器程序。POP3服務器只有在用戶輸入鑒別信息(例如用戶名和口令)后才允許對郵箱進行修改。
- POP3郵局協議是一個非常簡單的,但功能有限的郵件讀取協議。
- 網際報文存儲協議IMAP(Internet Message Access Protocol)
- POP3(郵局協議第三個版本):