簡述:SMTP-簡單郵件傳輸協(xié)議(SimpleMailTransferProtocol),是定義郵件傳輸的協(xié)議,它是基于TCP服務的應用層協(xié)議,由RFC821所定義。SMTP協(xié)議規(guī)定的命令是以明文方式進行的
SMTP-簡單郵件傳輸協(xié)議(SimpleMailTransferProtocol),是定義郵件傳輸的協(xié)議,它是基于TCP服務的應用層協(xié)議,由RFC821所定義。SMTP協(xié)議規(guī)定的命令是以明文方式進行的。為了說明SMTP的工作原理,我們以向163發(fā)送郵件為實例進行說明。
在linux環(huán)境下,使用"telnet smtp.163. com 25"連接smtp.163. com的25號端口(SMTP的標準服務端口);在windows下使用telnet程序,遠程主機指定為smtp.163. com,而端口號指定為25,然后連接smtp.163. com:交互過程如下:
[lix@nslix]$telnet smtp.163. com 25
220 163 .com Anti-spam GT for Coremail System (163com[071018])
HELO smtp.163 .com
250 OK
auth login
334 dXNlcm5hbWU6
USER base64加密后的用戶名
334 UGFzc3dvcmQ6
PASS base64加密后的密碼
235 Authentication successful
MAILFROM:XXX@163 .COM
250 Mail OK
RCPTTO:XXX@163 .COM
250 Mail OK
DATA
354 End data with .
QUIT250 Mail OK queued as smtp5,D9GowLArizfIFTpIxFX8AA==.41385S2 1211766217
HELO是客戶向對方郵件服務器發(fā)出的標識自己的身份的命令,這里假設發(fā)送者為ideal;MAILFROM命令用來表示發(fā)送者的郵件地址;RCPTTO:標識接收者的郵件地址,這里表示希望發(fā)送郵件給XXX@163. COM,如果郵件接收者不是本地用戶,例如RCPTTO:ideal,則說明希望對方郵件服務器為自己轉發(fā)(Relay)郵件,若該機器允許轉發(fā)這樣的郵件,則表示該郵件服務器是OPENRELAY的,否則說明該服務器不允許RELAY;DATA表示下面是郵件的數據部分,輸入完畢以后,以一個"."開始的行作為數據部分的結束標識;QUIT表示退出這次會話,結束郵件發(fā)送。
這就是一個簡單的發(fā)送郵件的會話過程,其實當使用outlookexpress等客戶軟件發(fā)送時,后臺進行的交互也是這樣的,當然,SMTP協(xié)議為了處理復雜的郵件發(fā)送情況如附件等等,定義了很多的命令及規(guī)定,具體可以通過閱讀RFC821來獲得。
當你的一個朋友向你發(fā)送郵件時,他的郵件服務器和你的郵件服務器通過SMTP協(xié)議通信,將郵件傳遞給你郵件地址所指示的郵件服務器上(這里假設你的本地郵件服務器是Linux系統(tǒng)),若你通過telnet協(xié)議直接登錄到郵件服務器上,則可以使用mail等客戶軟件直接閱讀郵件,但是若你希望使用本地的MUA(MailUserAgent,如outlookexpress等客戶軟件)來閱讀郵件,則本地客戶端通過POP3或IMAP協(xié)議與郵件服務器交互,將郵件信息傳遞到客戶端(如:win98系統(tǒng))。
如果你向你的朋友回復一封信件時,你所使用的MUA也是通過SMTP協(xié)議與郵件服務(一般為發(fā)送郵件地址對應的email地址)器通信,指示其希望郵件服務器幫助轉發(fā)一封郵件到你朋友的郵件地址指定的郵件服務器中。若本地郵件服務器允許你通過它轉發(fā)郵件,則服務器通過SMTP協(xié)議發(fā)送郵件到對方的郵件服務器。這就是接受和發(fā)送郵件的全部過程。
本文由專業(yè)服務器托管——騰佑科技(http://www.158100.cn)提供。
搜索詞
熱門產品推薦