溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SMTP協(xié)議工作原理

發(fā)布時(shí)間:2020-08-12 20:26:21 來源:ITPUB博客 閱讀:425 作者:wffeige 欄目:建站服務(wù)器
1.SMTP是工作在兩種情況下:
 一是電子郵件從客戶機(jī)傳輸?shù)?a title="服務(wù)器" target="_blank" href="http://kemok4.com/">服務(wù)器;
 二是從某一個(gè)服務(wù)器傳輸?shù)搅硪粋€(gè)服務(wù)器
2.SMTP是個(gè)請(qǐng)求/響應(yīng)協(xié)議,命令和響應(yīng)都是基于ASCII文本,并以CR和LF符結(jié)束。響應(yīng)包括一個(gè)表示返回狀態(tài)的三位數(shù)字代碼
3.SMTP在TCP協(xié)議25號(hào)端口監(jiān)聽連接請(qǐng)求
4.連接和發(fā)送過程:

a.建立TCP連接
b.客戶端發(fā)送HELO命令以標(biāo)識(shí)發(fā)件人自己的身份,然后客戶端發(fā)送MAIL命令服務(wù)器端正希望以O(shè)K作為響應(yīng),表明準(zhǔn)備接收
c.客戶端發(fā)送RCPT命令,以標(biāo)識(shí)該電子郵件的計(jì)劃接收人,可以有多個(gè)RCPT行服務(wù)器端則表示是否愿意為收件人接受郵件
d.協(xié)商結(jié)束,發(fā)送郵件,用命令DATA發(fā)送
e. 以.表示結(jié)束輸入內(nèi)容一起發(fā)送出去
f.結(jié)束此次發(fā)送,用QUIT命令退出。


5.另外兩個(gè)命令:
VRFY---用于驗(yàn)證給定的用戶郵箱是否存在,以及接收關(guān)于該用戶的詳細(xì)信息。
EXPN---用于擴(kuò)充郵件列表。

6.郵件路由過程:
SMTP服務(wù)器基于‘域名服務(wù)DNS中計(jì)劃收件人的域名來路由電子郵件。SMTP服務(wù)器基于DNS中的MX記錄來路由電子郵件,MX記錄注冊(cè)了域名和相關(guān)的SMTP中繼主機(jī),屬于該域的電子郵件都應(yīng)向該主機(jī)發(fā)送。

若SMTP服務(wù)器mail.abc.com收到一封信要發(fā)到shuser@sh.abc.com:

a.Sendmail請(qǐng)求DNS給出主機(jī)sh.abc.com的CNAME記錄,如有,假若CNAME到shmail.abc.com,則再次
請(qǐng)求shmail.abc.com的CNAME記錄,直到?jīng)]有為止
b.假定被CNAME到shmail.abc.com,然后sendmail請(qǐng)求@abc.com域的DNS給出shmail.abc.com的MX記錄,
   shmail    MX   5   shmail.abc.com
             10   shmail2.abc.com
c. Sendmail最后請(qǐng)求DNS給出shmail.abc.com的A記錄,即IP地址,若返回值為1.2.3.4
d. Sendmail與1.2.3.4連接,傳送這封給shuser@sh.abc.com的信到1.2.3.4這臺(tái)服務(wù)器的SMTP后臺(tái)程序

7.SMTP基本命令集:

命令       描述
------------------------------
HELO      向服務(wù)器標(biāo)識(shí)用戶身份發(fā)送者能欺騙,說謊,但一般情況下服務(wù)器都能檢測(cè)到。

MAIL      初始化郵件傳輸mail from:
RCPT      標(biāo)識(shí)單個(gè)的郵件接收人;常在MAIL命令后面可有多個(gè)rcpt to:
DATA      在單個(gè)或多個(gè)RCPT命令后,表示所有的郵件接收人已標(biāo)識(shí),并初始化數(shù)據(jù)傳輸,以.結(jié)束。
VRFY      用于驗(yàn)證指定的用戶/郵箱是否存在;由于安全方面的原因,服務(wù)器常禁止此命令
EXPN      驗(yàn)證給定的郵箱列表是否存在,擴(kuò)充郵箱列表,也常被禁用
HELP      查詢服務(wù)器支持什么命令
NOOP      無操作,服務(wù)器應(yīng)響應(yīng)OK
QUIT      結(jié)束會(huì)話
RSET       重置會(huì)話,當(dāng)前傳輸被取消
--------------------------------

8. MAIL FROM命令中指定的地址是稱作 envelope from地址,不需要和發(fā)送者自己的地址是一致的。
   RCPT TO 與之等同,指明的接收者地址稱為envelope to地址,而與實(shí)際的to:行是什么無關(guān)。
9.為什么沒有RCPT CC和RCPT BCC:?
   所有的接收者協(xié)商都通過RCPT TO命令來實(shí)現(xiàn),如果是BCC,則協(xié)商發(fā)送后在對(duì)方接收時(shí)被刪掉信封接收者
10.郵件被分為信封部分,信頭部分和信體部分
   envelope from, envelope to 與message from:, message to:完全不相干。
   evnelope是由服務(wù)器主機(jī)間SMTP后臺(tái)提供的,而message from/to是由用戶提供的。有無冒號(hào)也是區(qū)別。

11. 怎樣由信封部分檢查是否一封信是否是偽造的?
a. received行的關(guān)聯(lián)性。
   現(xiàn)在的SMTP郵件傳輸系統(tǒng),在信封部分除了兩端的內(nèi)部主機(jī)處理的之個(gè),考慮兩個(gè)公司防火墻之間
   的部分,若兩臺(tái)防火墻機(jī)器分別為A和B,但接收者檢查信封received:行時(shí)發(fā)現(xiàn)經(jīng)過了C.則是偽造的。
b. received:行中的主機(jī)和IP地址對(duì)是否對(duì)應(yīng)如:
   Receibed: from galangal.org (turmeric.com [104.128.23.115] by mail .bieberdorf.edu....
c. 被人手動(dòng)添加在最后面的received行:
    Received: from galangal.org ([104.128.23.115]) by mail .bieberdorf.edu (8.8.5)
    Received: from lemongrass.org by galangal.org (8.7.3)
    Received: from graprao.com by lemongrass.org (8.6.4)
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI