郵件服務器:SMTP協議原始命令碼和工做原理

 

1.SMTP是工做在兩種狀況下 安全

一是電子郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另外一個服務器. 服務器

2.SMTP是個請求/響應協議 spa

命令和響應都是基於ASCII文本,並以CRLF符結束。響應包括一個表示返回狀態的三位數字代碼. 路由

3.SMTPTCP協議25號端口監聽鏈接請求 get

4.鏈接和發送過程: 域名

a)     創建TCP鏈接 後臺

b)     客戶端發送HELO命令以標識發件人本身的身份,而後客戶端發送MAIL命令 服務器端

c)     服務器端正但願以OK做爲響應,代表準備接收 請求

d)     客戶端發送RCPT命令,以標識該電子郵件的計劃接收人,能夠有多個RCPT 防火牆

e)     服務器端則表示是否願意爲收件人接受郵件

f)      協商結束,發送郵件,用命令DATA發送

g)     .表示結束輸入內容一塊兒發送出去

h)     結束這次發送,用QUIT命令退出。

5.另外兩個命令:

VRFY---用於驗證給定的用戶郵箱是否存在,以及接收關於該用戶的詳細信息。

EXPN---用於擴充郵件列表。

6.郵件路由過程:

SMTP服務器基於‘域名服務DNS中計劃收件人的域名來路由電子郵件。SMTP服務器基於DNS中的MX記錄來路由電子郵件,MX記錄註冊了域名和相關的SMTP中繼主機,屬於該域的電子郵件都應向該主機發送。

SMTP服務器mail.abc.com收到一封信要發到shuser@sh.abc.com:

a)     Sendmail請求DNS給出主機sh.abc.comCNAME記錄,若有,倘若CNAMEshmail.abc.com,則再次請求shmail.abc.comCNAME記錄,直到沒有爲止.

b)     假定被CNAMEshmail.abc.com,而後sendmail請求@abc.com域的DNS給出shmail.abc.comMX記錄,

c)     shmail MX 5 shmail.abc.com

d)     10 shmail2.abc.com

e)     Sendmail最後請求DNS給出shmail.abc.comA記錄,即IP地址,若返回值爲1.2.3.4

f)      Sendmail1.2.3.4鏈接,傳送這封給shuser@sh.abc.com的信到1.2.3.4這臺服務器的SMTP後臺程序

7.SMTP基本命令集:

命令 描述

------------------------------

HELO 向服務器標識用戶身份

發送者能欺騙,說謊,但通常狀況下服務器都能檢測到。

MAIL 初始化郵件傳輸

mail from:

RCPT 標識單個的郵件接收人;常在MAIL命令後面

可有多個rcpt to:

DATA 在單個或多個RCPT命令後,表示全部的郵件接收人已標識,並初始化數據傳輸,以.結束。

VRFY 用於驗證指定的用戶/郵箱是否存在;因爲安全方面的緣由,服務器常禁止此命令

EXPN 驗證給定的郵箱列表是否存在,擴充郵箱列表,也常被禁用

HELP 查詢服務器支持什麼命令

NOOP 無操做,服務器應響應OK

QUIT 結束會話

RSET 重置會話,當前傳輸被取消

--------------------------------

8. MAIL FROM命令

指定的地址是稱做 envelope from地址,不須要和發送者本身的地址是一致的。

RCPT TO 與之等同,指明的接收者地址稱爲envelope to地址,而與實際的to:行是什麼無關。

9.爲何沒有RCPT CCRCPT BCC:?

全部的接收者協商都經過RCPT TO命令來實現,若是是BCC,則協商發送後在對方接收時被刪掉信封接收者

10.郵件被分爲信封部分,信頭部分和信體部分

envelope from, envelope to message from:, message to:徹底不相干。

evnelope是由服務器主機間SMTP後臺提供的,而message from/to是由用戶提供的。有無冒號也是區別。

11. 怎樣由信封部分檢查是否一封信是不是僞造的?

a)     received行的關聯性。
如今的SMTP郵件傳輸系統,在信封部分除了兩端的內部主機處理的之個,考慮兩個公司防火牆之間 的部分,若兩臺防火牆機器分別爲A和B,但接收者檢查信封received:行時發現通過了C.則是僞造的。

b)     received:行中的主機和IP地址對是否對應如:
Receibed: from galangal.org (turmeric.com [104.128.23.115] by mail .bieberdorf.edu....

c)     被人手動添加在最後面的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)

本文來源:http://www.comingchina.com

相關文章
相關標籤/搜索