電子郵件因簡潔、方便,已成為目前互聯網最成功的一種應用?;ヂ摼W上有成千上萬的郵件服務器為用戶提供服務。每個服務器上有幾十至幾百萬個或更多的用戶郵箱,用戶通過用戶代理(如FoxMail、MS Express)收發郵件,郵件內容除通常的文字信息外,還可附加圖象、音頻、視頻等信息。保證郵件交換正常使用的是SMTP、POP3、MIME等協議。在郵件服務器上,一般使用文件系統來存儲用戶郵件。發送的服務器和接收的郵件服務器可以不是同一臺。同一域的郵件服務器可采用分布式結構組成服務器群。郵件服務器還可定義郵箱別名進行轉發?!?nbsp;
1.SMTP(簡單郵件傳輸協議)
1982年制定了SMTP(RFC 821)和郵件報文格式RFC 822。SMTP描述了兩個進程之間如何交換信息,郵件報文格式規定了郵件的具體格式。
郵件由首部和主體構成,主體部分是郵件的內容,首部由關鍵字、冒號及關鍵信息組成,典型首部如下:
Date:
From: a@b.c.d
To:abc@def.ghi.jkl; 123@456.789
Subject: abcdefg
CC: aa@bb.clearcase/" target="_blank" >cc.dd
BCC: 1@2.3.4
Reply-To:
用SMTP收發郵件的過程為:建立TCP連接(服務端口號25),傳送郵件,釋放連接。
傳送郵件的命令:
如果DATA命令被接收,接收方返回一個354 Intermediate應答,并認定以下的各行都是信件內容。當信件結尾收到并存儲后,接收者發送一個250 OK應答。因為郵件是在傳送通道上發送,因此必須指明郵件內容結尾,以便應答對話可以重新開始。SMTP通過在最后一行僅發送一個句號來表示郵件內容的結束,在接收方,一個對用戶透明的過程將此符號過濾掉,以不影響正常的數據。
HELO
MAIL
RCPT
DATA
RSET
SEND
SOML
SAML
VRFY
EXPN
HELP [
NOOP
QUIT
TURN
傳送郵件的應答:
500 格式錯誤,命令不可識別(此錯誤也包括命令行過長)
501 參數格式錯誤
502 命令不可實現
503 錯誤的命令序列
504 命令參數不可實現
211 系統狀態或系統幫助響應
214 幫助信息
220
221
421
250 要求的郵件操作完成
251 用戶非本地,將轉發向
450 要求的郵件操作未完成,郵箱不可用(例如,郵箱忙)
550 要求的郵件操作未完成,郵箱不可用(例如,郵箱未找到,或不可訪問)
451 放棄要求的操作;處理過程中出錯
551 用戶非本地,請嘗試
452 系統存儲不足,要求的操作未執行
552 過量的存儲分配,要求的操作未執行
553 郵箱名不可用,要求的操作未執行(例如郵箱格式錯誤)
354 開始郵件輸入,以
554 操作失敗
例子:
R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
S: HELO USC-ISIF.ARPA
R: 250 BBN-UNIX.ARPA
S: MAIL FROM:<Smith@USC-ISIF.ARPA>
R: 250 OK
S: RCPT TO:<Jones@BBN-UNIX.ARPA>
R: 250 OK
S: RCPT TO:<Green@BBN-UNIX.ARPA>
R: 550 No such user here
S: RCPT TO:<Brown@BBN-UNIX.ARPA>
R: 250 OK
S: DATA
R: 354 Start mail input; end with
S: Blah blah blah...
S: ...etc. etc. etc.
S: .
R: 250 OK
S: QUIT
R: 221 BBN-UNIX.ARPA Service closing transmission channel
共3頁: 1 [2] [3] 下一頁 |