• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            子彈 の VISIONS

            NEVER back down ~~

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              112 Posts :: 34 Stories :: 99 Comments :: 0 Trackbacks
            來自:
              250WAA10568Messageacceptedfordelivery

              任務(wù)完成了,你可以繼續(xù)發(fā)送下封郵件,也可以斷開同服務(wù)器的連接。如果要斷開同服務(wù)器的連接就用QUIT命令。在這種情況下,服務(wù)器會(huì)返回一個(gè)代碼為221的回應(yīng)并斷開連接。

              QUIT

              221ns.cinfo.ruclosingconnection

            -----------
            SMTP協(xié)議是TCP/IP協(xié)議族中的一員,主要對(duì)如何將電子郵件從發(fā)送方地址傳送到接收方地址,也即是對(duì)傳輸?shù)囊?guī)則做了規(guī)定。SMTP協(xié)議的通信模型并不復(fù)雜,主要工作集中在發(fā)送SMTP和接收SMTP上:首先針對(duì)用戶發(fā)出的郵件請(qǐng)求,由發(fā)送SMTP建立一條連接到接收SMTP的雙工通訊鏈路,這里的接收SMTP是相對(duì)于發(fā)送SMTP而言的,實(shí)際上它既可以是最終的接收者也可以是中間傳送者。發(fā)送SMTP負(fù)責(zé)向接收SMTP發(fā)送SMTP命令,而接收SMTP則負(fù)責(zé)接收并反饋應(yīng)答。可大致用下面的通訊模型示意圖來表示:


            -------
            SMTP協(xié)議原始命令碼和工作原理
            1.SMTP是工作在兩種情況下:一是電子郵件從客戶機(jī)傳輸?shù)椒?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記錄,
            shmailMX5shmail.abc.com
            10shmail2.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初始化郵件傳輸
            mailfrom:
            RCPT標(biāo)識(shí)單個(gè)的郵件接收人;常在MAIL命令后面
            可有多個(gè)rcptto:
            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.MAILFROM命令中指定的地址是稱作envelopefrom地址,不需要和發(fā)送者自己的地址是一致的。
            RCPTTO與之等同,指明的接收者地址稱為envelopeto地址,而與實(shí)際的to:行是什么無關(guān)。
            9.為什么沒有RCPTCC和RCPTBCC
            所有的接收者協(xié)商都通過RCPTTO命令來實(shí)現(xiàn),如果是BCC,則協(xié)商發(fā)送后在對(duì)方接收時(shí)被刪掉信封接收者
            10.郵件被分為信封部分,信頭部分和信體部分
            envelopefrom,envelopeto與messagefrom:,messageto:完全不相干。
            evnelope是由服務(wù)器主機(jī)間SMTP后臺(tái)提供的,而messagefrom/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:fromgalangal.org(turmeric.com[104.128.23.115]bymail.bieberdorf.edu....
            c.被人手動(dòng)添加在最后面的received行:
            Received:fromgalangal.org([104.128.23.115])bymail.bieberdorf.edu(8.8.5)
            Received:fromlemongrass.orgbygalangal.org(8.7.3)
            Received:fromgraprao.combylemongrass.org(8.6.4)
            --------
            SMTP協(xié)議的命令和應(yīng)答
            從前面的通訊模型可以看出SMTP協(xié)議在發(fā)送SMTP和接收SMTP之間的會(huì)話是靠發(fā)送SMTP的SMTP命令和接收SMTP反饋的應(yīng)答來完成的。在通訊鏈路建立后,發(fā)送SMTP發(fā)送MAIL命令指令郵件發(fā)送者,若接收SMTP此時(shí)可以接收郵件則作出OK的應(yīng)答,然后發(fā)送SMTP繼續(xù)發(fā)出RCPT命令以確認(rèn)郵件是否收到,如果接收到就作出OK的應(yīng)答,否則就發(fā)出拒絕接收應(yīng)答,但這并不會(huì)對(duì)整個(gè)郵件操作造成影響。雙方如此反復(fù)多次,直至郵件處理完畢。SMTP協(xié)議共包含10個(gè)SMTP命令,列表如下:

            SMTP命令命令說明
            HELLO<domain><CRLF>識(shí)別發(fā)送方到接收SMTP的一個(gè)HELLO命令
            MAILFROM:<reverse-path><CRLF><reverse-path>為發(fā)送者地址。此命令告訴接收方一個(gè)新郵件發(fā)送的開始,并對(duì)所有的狀態(tài)和緩沖區(qū)進(jìn)行初始化。此命令開始一個(gè)郵件傳輸處理,最終完成將郵件數(shù)據(jù)傳送到一個(gè)或多個(gè)郵箱中。
            RCPTTO:<forward-path><CRLF><forward-path>標(biāo)識(shí)各個(gè)郵件接收者的地址
            DATA<CRLF>
            接收SMTP將把其后的行為看作郵件數(shù)據(jù)去處理,以<CRLF>.<CRLF>標(biāo)識(shí)數(shù)據(jù)的結(jié)尾。
            REST<CRLF>退出/復(fù)位當(dāng)前的郵件傳輸
            NOOP<CRLF>要求接收SMTP僅做OK應(yīng)答。(用于測(cè)試)
            QUIT<CRLF>要求接收SMTP返回一個(gè)OK應(yīng)答并關(guān)閉傳輸。
            VRFY<string><CRLF>驗(yàn)證指定的郵箱是否存在,由于安全因素,服務(wù)器多禁止此命令。
            EXPN<string><CRLF>驗(yàn)證給定的郵箱列表是否存在,擴(kuò)充郵箱列表,也常禁止使用。
            HELP<CRLF>查詢服務(wù)器支持什么命令

            注:<CRLF>為回車、換行,ASCII碼分別為13、10(十進(jìn)制)。

              SMTP協(xié)議的每一個(gè)命令都會(huì)返回一個(gè)應(yīng)答碼,應(yīng)答碼的每一個(gè)數(shù)字都是有特定含義的,如第一位數(shù)字為2時(shí)表示命令成功;為5表失敗;3表沒有完成。一些較復(fù)雜的郵件程序利用該特點(diǎn),首先檢查應(yīng)答碼的首數(shù)字,并根據(jù)其值來決定下一步的動(dòng)作。下面將SMTP的應(yīng)答碼列表如下:

            應(yīng)答碼說明
            501參數(shù)格式錯(cuò)誤
            502命令不可實(shí)現(xiàn)
            503錯(cuò)誤的命令序列
            504命令參數(shù)不可實(shí)現(xiàn)
            211系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng)
            214幫助信息
            220<domain>服務(wù)就緒
            221<domain>服務(wù)關(guān)閉
            421<domain>服務(wù)未就緒,關(guān)閉傳輸信道
            250要求的郵件操作完成
            251用戶非本地,將轉(zhuǎn)發(fā)向<forward-path>
            450要求的郵件操作未完成,郵箱不可用
            550要求的郵件操作未完成,郵箱不可用
            451放棄要求的操作;處理過程中出錯(cuò)
            551用戶非本地,請(qǐng)嘗試<forward-path>
            452系統(tǒng)存儲(chǔ)不足,要求的操作未執(zhí)行
            552過量的存儲(chǔ)分配,要求的操作未執(zhí)行
            553郵箱名不可用,要求的操作未執(zhí)行
            354開始郵件輸入,以"."結(jié)束
            554操作失敗
            --------








            久久精品国产秦先生| 午夜精品久久影院蜜桃| 热re99久久精品国99热| 久久久精品人妻一区二区三区蜜桃| 久久国产欧美日韩精品| 岛国搬运www久久| 伊人色综合九久久天天蜜桃| 久久亚洲国产成人精品性色| 色综合久久天天综合| 久久久久99这里有精品10| 久久久婷婷五月亚洲97号色| 精品一久久香蕉国产线看播放| 一本一本久久a久久综合精品蜜桃| 九九精品99久久久香蕉| 欧美久久一区二区三区| 久久福利青草精品资源站| 久久人人爽人人精品视频| 97久久天天综合色天天综合色hd| 三级韩国一区久久二区综合| av无码久久久久不卡免费网站| 久久91精品国产91| 99久久夜色精品国产网站| 久久水蜜桃亚洲av无码精品麻豆| 一个色综合久久| 久久夜色撩人精品国产| 国产免费久久久久久无码| 国产精品美女久久久久久2018| 久久久久久久久久久精品尤物 | 久久精品国产99国产精品亚洲| 99久久精品费精品国产 | 国产精品女同一区二区久久| 午夜精品久久久久久99热| 精品多毛少妇人妻AV免费久久 | 久久无码AV一区二区三区| 久久精品中文字幕一区| 91久久香蕉国产熟女线看| 久久久久夜夜夜精品国产| 久久线看观看精品香蕉国产| 97久久精品国产精品青草| 久久青青草原精品影院| 99久久精品免费看国产一区二区三区 |