1.SMTP是工做在兩種狀況下 安全
一是電子郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另外一個服務器. 服務器
2.SMTP是個請求/響應協議 spa
命令和響應都是基於ASCII文本,並以CR和LF符結束。響應包括一個表示返回狀態的三位數字代碼. 路由
3.SMTP在TCP協議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.com的CNAME記錄,若有,倘若CNAME到shmail.abc.com,則再次請求shmail.abc.com的CNAME記錄,直到沒有爲止.
b) 假定被CNAME到shmail.abc.com,而後sendmail請求@abc.com域的DNS給出shmail.abc.com的MX記錄,
c) shmail MX 5 shmail.abc.com
d) 10 shmail2.abc.com
e) Sendmail最後請求DNS給出shmail.abc.com的A記錄,即IP地址,若返回值爲1.2.3.4
f) Sendmail與1.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 CC和RCPT 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)