• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • SMTP協議原始命令碼和工作原理

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    1.SMTP是工作在兩種情況下:一是電子郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另一個 服務器 2.SMTP是個請求/響應 協議 ,命令和響應都是基于ASCII文本,并以CR和LF符結束。響應包括一個表示返 回狀態的三位數字代碼 3.SMTP在TCP 協議 25號端口監

    1.SMTP是工作在兩種情況下:一是電子郵件從客戶機傳輸到服務器;二是從某一個服務器傳輸到另一個
      服務器
    2.SMTP是個請求/響應協議,命令和響應都是基于ASCII文本,并以CR和LF符結束。響應包括一個表示返 
      回狀態的三位數字代碼
    3.SMTP在TCP協議25號端口監聽連接請求
    4.連接和發送過程:

    a.建立TCP連接
    b.客戶端發送HELO命令以標識發件人自己的身份,然后客戶端發送MAIL命令
      服務器端正希望以OK作為響應,表明準備接收
    c.客戶端發送RCPT命令,以標識該電子郵件的計劃接收人,可以有多個RCPT行 
      服務器端則表示是否愿意為收件人接受郵件
    d.協商結束,發送郵件,用命令DATA發送
    e. 以.表示結束輸入內容一起發送出去
    f.結束此次發送,用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記錄,
       shmail    MX   5   shmail.abc.com
                      10   shmail2.abc.com
    c. Sendmail最后請求DNS給出shmail.abc.com的A記錄,即IP地址,若返回值為1.2.3.4
    d. 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)

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>