SMTP協議原始命令碼和工作原理_PHP教程

來源:互聯網
上載者:User
http://www.linuxforum.net Jephe Wu (2001-04-21 18:16:42)                    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)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) Jephe Wu

http://www.bkjia.com/PHPjc/531900.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/531900.htmlTechArticlehttp://www.linuxforum.net Jephe Wu (2001-04-21 18:16:42) 1.SMTP是工作在兩種情況下:一是電子郵件從客戶機傳輸到伺服器;二是從某一個伺服器傳輸到另...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.