資源描述:
《郵件收發(fā)流程解析》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、郵件收發(fā)流程解析本文打算詳細(xì)分析一封郵件從發(fā)件人發(fā)出郵件到收件人收到郵件的過程,講述該過程涉及到的各種知識,為初步接觸郵件系統(tǒng)的系統(tǒng)管理員深入學(xué)習(xí)郵件服務(wù)器配置和反垃圾郵件軟件或者硬件的配置打下扎實(shí)的基礎(chǔ)。1)SMTP會話a.發(fā)件人在自己的郵件客戶端(比如outlook,foxmail等等,稱之為MUA【郵件用戶代理】)寫郵件,完成后,按“發(fā)送”按鈕;b.發(fā)件人郵件客戶端根據(jù)發(fā)件人先前的配置(SMTP服務(wù)器【發(fā)件人公司郵局服務(wù)器】域名或者IP地址,如果發(fā)送郵件需要身份驗(yàn)證的話,還有發(fā)件人用來向SMTP服務(wù)器表明
2、身份的用戶名和密碼),建立到發(fā)件人公司郵局服務(wù)器25號端口的TCP連接;c.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令HELO<發(fā)件人主機(jī)名>或者EHLO<發(fā)件人主機(jī)名>,向發(fā)件人公司郵局服務(wù)器表明自己的身份;d.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端,如果該郵件服務(wù)器配置了SMTP身份驗(yàn)證的話,還會把自己支持的身份驗(yàn)證加密算法返回給發(fā)件人郵件客戶端;注意:郵件服務(wù)器可以通過兩種方式來限定能夠通過它發(fā)送郵件的郵件客戶端,防止自己被當(dāng)成開放中轉(zhuǎn)(openrelay),被用來發(fā)送垃圾郵件:一種是通過IP地址來
3、限定,比如把該郵件服務(wù)器負(fù)責(zé)發(fā)送郵件的客戶端電腦的IP地址段寫到郵件服務(wù)器的相應(yīng)配置文件里;另外一種就是通過配置SMTP身份驗(yàn)證來限制,只有通過身份驗(yàn)證的客戶端才能通過它來發(fā)送郵件;e.如果郵件服務(wù)器使用SMTP身份驗(yàn)證來限制郵件客戶端,那么發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令A(yù)UTH<發(fā)件人郵件客戶端選擇的加密算法>,把自己選擇的算法發(fā)送給發(fā)件人公司郵局服務(wù)器,否則,轉(zhuǎn)到步驟k;f.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端,并用雙方協(xié)商的加密算法加密響應(yīng)數(shù)據(jù);g.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)
4、器發(fā)送命令USER<發(fā)件人用戶名>,并用雙方協(xié)商的加密算法加密命令;h.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端,并用雙方協(xié)商的加密算法加密響應(yīng)數(shù)據(jù);i.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令PASS<發(fā)件人密碼>,并用雙方協(xié)商的加密算法加密命令;j.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端,告訴發(fā)件人郵件客戶端身份驗(yàn)證的結(jié)果;k.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令MAILFROM:<發(fā)件人郵箱>,告訴郵局服務(wù)器發(fā)件人的郵箱地址;l.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端;m.發(fā)件人郵件客
5、戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令RCPTTO:<收件人郵箱>,告訴郵局服務(wù)器收件人的郵箱地址;n.發(fā)件人公司郵局服務(wù)器判斷郵件客戶端是否位于自己負(fù)責(zé)為其轉(zhuǎn)發(fā)郵件的IP地址段內(nèi),或者客戶端是否通過了SMTP身份驗(yàn)證,如果該客戶端在自己負(fù)責(zé)的IP地址段內(nèi),或者通過SMTP身份驗(yàn)證,那么允許該客戶端發(fā)送外部郵件,反之如果該客戶端既不在自己負(fù)責(zé)的IP地址段內(nèi),又沒有通過SMTP身份驗(yàn)證,那么發(fā)件人公司郵局服務(wù)器會認(rèn)為該發(fā)件人郵件客戶端是一臺外部郵件服務(wù)器,試圖通過它發(fā)送郵件,那么它會判斷RCPTTO命令的參數(shù)收件人郵
6、箱是否是本地郵箱,如果是,則允許發(fā)送,如果是外部郵箱,則拒絕發(fā)送,并用判斷的結(jié)果響應(yīng)發(fā)件人郵件客戶端;o.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送命令DATA,要求發(fā)送郵件;p.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端;q.發(fā)件人郵件客戶端向發(fā)件人公司郵局服務(wù)器發(fā)送郵件;r.發(fā)件人公司郵局服務(wù)器響應(yīng)發(fā)件人郵件客戶端,告訴其郵件已經(jīng)接收了,然后關(guān)閉連接1)SMTP會話a.發(fā)件人公司郵件服務(wù)器分析剛收到的郵件,取出其“收件人郵箱”部分(比如,zoukj@sinogrid.com),并分離出收件人郵箱的域名(sin
7、ogrid.com);b.發(fā)件人公司郵件服務(wù)器執(zhí)行DNS查詢,查詢類別為MX,查找sinogrid.com這個(gè)域的郵件服務(wù)器的IP地址(可以用nslookup命令模擬:nslookup–type=mxsinogrid.com);c.收件人公司的DNS服務(wù)器將本公司的郵件服務(wù)器列表都返回給發(fā)件人公司郵件服務(wù)器;d.發(fā)件人公司郵件服務(wù)器分析獲得的收件人公司郵件服務(wù)器列表,找出優(yōu)先級最高的郵件服務(wù)器,試圖與其建立TCP連接,如果優(yōu)先級最高的郵件服務(wù)器有多個(gè),那么就輪流使用,如果不能與優(yōu)先級高的郵件服務(wù)器建立連接,則跟
8、優(yōu)先級次高的服務(wù)器建立連接,以此類推。注意:MX查詢的返回值,形如sinogrid.comMXpreference=20,mailexchanger=mail.sinogrid.com其中的那個(gè)數(shù)值越低,則該記錄對應(yīng)的郵件服務(wù)器的優(yōu)先級就越高。e.如果收件人公司郵件服務(wù)器配置了根據(jù)發(fā)件郵件服務(wù)器的IP地址來過濾垃圾郵件,那么它會將發(fā)件人公司郵件服務(wù)器的IP地址跟自己的黑白名單進(jìn)行匹配,