簡述:SMTP協(xié)議是TCP/IP協(xié)議族中的一員,主要對如何將電子郵件從發(fā)送方地址傳送到接收方地址,也即是對傳輸?shù)囊?guī)則做了規(guī)定。SMTP協(xié)議的通信模型并不復(fù)雜,主要工作集中在發(fā)送SMTP和接收SMTP上:首先
SMTP協(xié)議是TCP/IP協(xié)議族中的一員,主要對如何將電子郵件從發(fā)送方地址傳送到接收方地址,也即是對傳輸?shù)囊?guī)則做了規(guī)定。SMTP協(xié)議的通信模型并不復(fù)雜,主要工作集中在發(fā)送SMTP和接收SMTP上:首先針對用戶發(fā)出的郵件請求,由發(fā)送SMTP建立一條連接到接收SMTP的雙工通訊鏈路,這里的接收SMTP是相對于發(fā)送SMTP而言的,實際上它既可以是最終的接收者也可以是中間傳送者。發(fā)送SMTP負責(zé)向接收SMTP發(fā)送SMTP命令,而接收SMTP則負責(zé)接收并反饋應(yīng)答。
1.SMTP協(xié)議的命令和應(yīng)答
從前面的通訊模型可以看出SMTP協(xié)議在發(fā)送SMTP和接收SMTP之間的會話是靠發(fā)送SMTP的SMTP命令和接收SMTP反饋的應(yīng)答來完成的。在通訊鏈路建立后,發(fā)送SMTP發(fā)送MAIL命令指令郵件發(fā)送者,若接收SMTP此時可以接收郵件則作出OK的應(yīng)答,然后發(fā)送SMTP繼續(xù)發(fā)出RCPT命令以確認郵件是否收到,如果接收到就作出OK的應(yīng)答,否則就發(fā)出拒絕接收應(yīng)答,但這并不會對整個郵件操作造成影響。雙方如此反復(fù)多次,直至郵件處理完畢。SMTP協(xié)議共包含10個SMTP命令,列表如下:
2.SMTP命令命令說明
HELLO<domain><CRLF>;識別發(fā)送方到接收SMTP的一個HELLO命令
MAILFROM:<reverse-path><CRLF><reverse-path>;為發(fā)送者地址。此命令告訴接收方一個新郵件發(fā)送的開始,并對所有的狀態(tài)和緩沖區(qū)進行初始化。此命令開始一個郵件傳輸處理,最終完成將郵件數(shù)據(jù)傳送到一個或多個郵箱中。
RCPTTO:<forward-path><CRLF><forward-path>;標識各個郵件接收者的地址
DATA<CRLF>
接收SMTP將把其后的行為看作郵件數(shù)據(jù)去處理,以<CRLF>.<CRLF>;標識數(shù)據(jù)的結(jié)尾。
REST<CRLF>;退出/復(fù)位當(dāng)前的郵件傳輸
NOOP<CRLF>;要求接收SMTP僅做OK應(yīng)答。(用于測試)
QUIT<CRLF>;要求接收SMTP返回一個OK應(yīng)答并關(guān)閉傳輸。
VRFY<string><CRLF>;驗證指定的郵箱是否存在,由于安全因素,服務(wù)器多禁止此命令。
EXPN<string><CRLF>;驗證給定的郵箱列表是否存在,擴充郵箱列表,也常禁止使用。
HELP<CRLF>;查詢服務(wù)器支持什么命令。
本文由專業(yè)服務(wù)器租用——騰佑科技(http://mubashirfilms.com)提供。
搜索詞
熱門產(chǎn)品推薦