青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

MIME郵件格式說明

郵件格式說明

Mutiple Internet Mail Extensions

Refer to Internet Official Protocol Standards RFC 822

1        概述

網絡間傳遞的電子郵件需要公共認同的格式,以便于客戶端郵箱軟件識別拆解其間的信息。郵件本身是由ASCII字符構成,總體上分為郵件頭郵件體兩部分,其間允許字符編碼、附件、壓縮等等多樣化的格式。本文檔參考網絡官方協議標準中,請求批注的郵件相關條款,總結了郵件結構及其各部分的格式說明,給出部分字符編碼的相關解釋。

RFC( Require for comment )Internet Official Protocol Standards標準所提供的網絡協議標準系列。

 

2        主體結構

郵件結構包括郵件頭、郵件體(可無),郵件體實際上是一行行的ASCII字符構成的簡單序列,它和郵件頭是靠一個空行(該行只有一個回車換行符CRLF)來區分開的。

2.1      郵件頭

1)     長字段的斷行

郵件頭由許多頭字段(header fields)組成,這些字段包括字段名(field name)和字段值(field body);字段值(field body)可以分割成多行表述,叫做“可折疊”。

斷行的規則是:在一行的線性空格處,可用CRLF(回車換行)之后至少跟一個LWSP-char(空格或TAB),把原來的單行變為多行表示。

RFC協議中推薦盡量把折疊的斷行放置在特定的空格分隔處,比如,地址字段里的多個郵件地址,折疊時盡量在各地址之間,及逗號之后斷行。

2)     字段主要結構

包括字段名(Field name),冒號(colon),字段值(Field body),結束符(CRLF);

有些字段屬于結構化字段,比如日期(Date),郵件地址(Address),有著特定的表示格式,用于系統識別。而其他字段比如”Subject” “Comments” 都被當作簡單的字符串處理。

字段表示:

field-name ":" [ field-body ] CRLF

字段值(Field body)可斷行(見1)),內容全部都是ASCII碼,元素包括句號,引用字符串,特殊token,或一般文本。字段的含義參見后文附錄。

 

3)     郵件頭構造協議

       郵件頭字段不是必須按照特定的順序安排,僅僅是注意要把郵件體放在郵件頭之后。郵件協議中推薦的做法是在放置郵件字段時,郵件按照以下順序安排:”Return-Path”, “Received”, “Date”, “From”, “Subject”, “Sender”, “To”, “cc”, 等等。

郵件協議中規定郵件由字段和郵件體正文組成,兩部分之間由一個空行(該行只有包含CRLF)分隔,也就是說,在遇見的第一個空行之后所有的內容都被當作郵件體。

?  轉發-Forwarding

一些系統允許接受者轉發信息,保留原有的郵件頭,僅添加些新的字段,這些字段以”Resent-”為前綴。及前綴”Resent-”的字段表示接受者轉發的原信息。

?  路徑字段-Trace Field

路徑信息用來追蹤信息的發送者,”via” “with” 等是記錄變量。

“Return-Path” : 該字段由信息的最后發送者添加,是關于信息原始來源的地址和回朔路徑。Reply-To 字段是有信息源添加用來直接回復(地址?),而Return-Path是一個到信息原始來源的回朔路徑。

“Received” : 由每個中繼服務站添加,用于幫助追蹤傳輸中出現的錯誤。字段內容包括,發送、接收的主機和接收時間。參數via 用于記錄信息發送后經過的物理站點,”with” 指示了使用的郵件、連接的協議。參數 id 用于標識郵件。參數for 用于記錄發送者的分發的目的地址。

?  信息源的字段-Originator Field

“From/Resent-From” : sender 必須至少存在一個。

“Sender/Resent-Sender”

“Reply-To/Resent-Reply-To”   

當自動生成回復信息的地址列表時,應當注意:如果沒有”Sender”,將會使用”From” . 接收者在回復信息時,郵件sender中的信息不會被自動使用。如果”Reply-To” 字段存在,將使用該字段信息,而不是”From”字段。如果有”From” 而沒有”Reply-To” ,將使用”From”   

?  接收者字段-Receiver Field

“To/Resent-To”

“Cc/Resent-Cc”

“Bcc/Resent-Bcc”

?  參考字段

“Message-ID/Resent-Message-ID”

“In-Reply-To”

“Reference”

“Keywords”

4)     重要參數字段

a)      “MIME-Version” : 所使用的網絡郵件格式標準版本

b)     “Content-type”

       郵件內容數據的類型,包括類型標識(type)和子類型標識(subtype),前者類型標識(type)聲明了數據的類型,后者子類型標識(subtype)為這種數據類型指定了特定的格式。

       比如 content-type:image/xyz; 說明數據類型是圖像型(image)的,圖像數據格式是xyz

       類型標識(type)與子類型標識(subtype)由斜杠”/”來分割。

       類型之后是參數集合parameter

郵件的數據類型分為七種,分別是: 文本(Text)、多文檔(mulipart)、消息(Message)、圖像(Image)、音頻(audio)、視頻(Video)、應用(Application)

       文本(Text)—文字類信息,其基本的子類標識是”Plain”,即沒有格式的文本。 除了需要支持指定的字符集,獲得文本信息不需要特殊的軟件。 文本子類用于多信息文本,在其上應用文字處理軟件可以美化文本的外觀,但文本的內容及涵義無需任何軟件。因此子類型包括任何可讀得文字處理格式。

       多文檔(mulipart) —包含具有獨立數據類型的多個部分。 其中定義了4個最原始的子類型:mixed(基本類型), alternative(具有可供選擇的多個格式), parallel(同時閱覽的部分), digest(都是消息型的多部內容).

消息(Message) – 未封裝的消息。該類型的消息體本身部分或全部都是RFC822格式。基本子類是 ” rfc822” ”partial”表示局部消息,允許郵件傳輸中可分塊進行。”External-body” 表示擴展大郵件。

       圖形(Image) – 需要有現實設備。子類主要是兩種應用廣泛的圖形格式:jpeg, gif

       聲頻(audio) – 基本子類 ”basic”, 需要聲頻輸出設備。

       視頻(Video) – 基本子雷 ”mpeg”, 需要視頻顯示設備。

       應用(Application) – 其他類型數據,無法解析的二進制數據。基本子類 ”octet-stream” ,用于不可解析的二進制數據情況,為用戶提供將信息寫入文件的方法。”PostScript” 表示傳輸腳本文檔。

Content-type類型默認為Content-type : text/plain; charset = us-ascii 。如果content-type沒有明確制定,那么系統會默認為該類型。

當遇到未知的類型時,將會把未知類型當作 ”application/octet-stream” 對待。

c)      Content-Transfer-Encoding 頭字段

許多郵件內容是以最原始的格式傳輸的,8位字符或二進制數據,但對于有些協議這種格式數據就不能正確傳輸了。例如RFC821限制messages必須為7US-ASCII數據,而且每行不能超過1000個字符。

因此,有必要定義機制來把數據編碼成7位短行格式。編碼的目的就是用網絡可以傳輸的方式來表達郵件內容。

       Content-Transfer-Encoding實際上就是在類型數據的本地表述和用7位郵件傳輸協議轉化的表述之間的一種映射,比如協議RFC821(SMTP)。該字段的值就是指定編碼類型的一種標識。

其值如下:

“7bit”,”8bit”, “quoted-printable”, “base64”, “binary”, “x-token”

       標識不區分大小寫,如果沒有明確指定,該字段的默認值是”7bit”

若值是”8bit”,”7bit””binary”時,表示沒有做任何編碼。(繼續翻譯)

2.2      Content-type 字段Multipart 類型說明

所有帶前綴”Content-”的字段對正文都定義有含義,而其他得頭字段一般都被郵件體部分忽略。

協議中指出,在multipart的情況下,即多個不同的數據集合合并在同一郵件體內,此時頭字段中”multipart”參數值必須存在。這時郵件體必定存在一個或多個子部分,每一個子部分都會由邊界(boundary)封裝,而且最后一個子部分后面必須跟一個結尾邊界。每一部分都會由邊界開始,然后包含著郵件子體的頭信息(header),空行,然后是郵件正文。

       如果沒有填寫content-type 的頭字段,那就是暗示相應的郵件體時US-ASCII的普通text/plain文本。

       Boundary 在作為邊界值封裝郵件時,其使用方法是值前加兩個”-”。在一些特殊情況下,這種用法也不一定適用。

       封裝部分的結尾,boundary和前面的使用格式一樣的情況下, 后面再加兩個”-”的形式表示。

Content-type字段參數的語法是把boundaries的值包含在引號之中。也可以沒有引號,但又引號是最保險的。有一些非法字符會出現在boundary值中,如果不加引號會引起錯誤。

注意封裝邊界必須在行的開始,后面是回車換行CRLF, 開頭的CRLF會被當作邊界的一部分,而不是上一塊內容的一部分。邊界后面跟一個CRLF和下一部分的郵件頭字段,或者,兩個CRLF,這種情況下不會有細一部分的郵件頭。

在邊界之間(子部分頭一個boundary和上一部分結尾boundary之間或者正文第一個邊界之前郵件頭之后),會有一些可添加額外信息的空白空間,這些空間郵件解析時會略過。

       Multipart 子類型的簡要介紹:

              Mixed: 表示個子部間互相獨立,需要以特定的順序排列。

       Alternative: 每一子部分的是相同信息的不同版本,各部分排序,最優的排在最后,但優先使用。

       Digest: 將子部分默認成message來處理。

       Parallel:同時顯示多個子部

2.3      Content-type 字段Message類型說明

在發送郵件時,該類型會頻繁使用來封裝子mail郵件。通常的子類型是message/rfc822,該類型下沒有必須添加的參數。額外的子類型”partial” ”External-body ” 需要必要的參數。

     編碼方面,該類型只允許”7bit” “8bit” ”binary” message的頭字段通常是US_ASCII的,message體內可以按照其自身的content-transfer-encoding字段值進行編碼。

1 message/rfc822

該類型是rfc822協議的message。但不必和最外層的rfc822 message那樣有from, subject,以及目的字段。該類型可以由高版本的郵件替換,及兼容MIME message

2 message/partial

有些郵件發送機構限制郵件發送的大小,這樣,大的郵件對象(vedio等)必須分成多部分發送。 “message/partial”說明該郵件體包含了一個大郵件的一段。該類型需要 3個參數:

Id,盡可能保持唯一性,為了把各部組合到一起。

Number, 該部分在整體序列中的編號。

Total, 所分部分的總數,該參數一般在最后一部分出現。

 

發送大郵件諸如vedio文件時,由于文件太大,超出單次發送限制,需要把文件分割成多個部分。基本過程是,把vedio類型的message,分割成多個單獨的vedio類型的message, 每個部分再由”message/partial”類型的message 封裝起來,并添加分段信息。

      當接收方收到該message時,各段落會`根據分割信息重新組合起來,新的信息僅是vedio類型,即去掉了外層的”message”類型封裝。

組合原則:

(1)  拷貝第一部分的外層” message/partial” 的頭信息,除了”content-””message-id””Encrypted””MIME-Version”,其它為必拷貝信息

(2)  把內層的封裝信息的”content-” ”message-id” “Encrypted” “MIME-Version” 的頭信息全部拷貝到新message中。

(3)  第二部分和以后部分的頭信息全部忽略。

                   

    

 

 

 

       名詞解釋(Word Description

RFC: Request For Common(Internet Official Protocol Standard)

CRLF:Carriage-return/Line-feed

 

posted on 2008-11-21 10:26 肥仔 閱讀(1811) 評論(1)  編輯 收藏 引用 所屬分類: 網絡編程

評論

# re: MIME郵件格式說明  回復  更多評論   

可以
2012-08-20 12:00 | 精創廣告
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            香蕉av777xxx色综合一区| 亚洲欧洲在线看| 亚洲日本成人女熟在线观看| 欧美wwwwww| 亚洲一区二区高清| 亚洲国产高清视频| 久久久精品网| 午夜一区不卡| 香蕉av福利精品导航| 亚洲影院在线观看| 亚洲专区一区| 欧美一区二区视频97| 亚洲欧美另类在线观看| 亚洲欧美在线磁力| 午夜精品av| 久久精品视频导航| 免费不卡在线观看| 午夜国产不卡在线观看视频| 久久成人人人人精品欧| 狠狠狠色丁香婷婷综合激情| 欧美日韩国产系列| 可以免费看不卡的av网站| 亚洲韩国青草视频| 久久狠狠婷婷| 欧美影院视频| 久久精品成人一区二区三区| 亚洲私拍自拍| 亚洲午夜久久久久久久久电影院| 亚洲激情av| 欧美激情一区二区在线| 亚洲黄色免费电影| 亚洲啪啪91| 亚洲免费小视频| 久久九九热re6这里有精品| 久久激情综合| 欧美高清你懂得| 欧美日韩第一页| 国产精品极品美女粉嫩高清在线| 国产老女人精品毛片久久| 在线免费一区三区| 亚洲先锋成人| 久久久成人网| 日韩亚洲不卡在线| 久久成人在线| 国产精品a久久久久久| 国产自产v一区二区三区c| 欧美性色aⅴ视频一区日韩精品| 国产精品久久久久毛片软件 | 亚洲制服欧美中文字幕中文字幕| 欧美一区二区啪啪| 免费成人在线视频网站| 一区二区日韩伦理片| 久久理论片午夜琪琪电影网| 欧美三级欧美一级| 亚洲二区在线观看| 性色av一区二区三区在线观看| 蜜桃av一区二区三区| 亚洲一区二区三区欧美 | 亚洲精品视频在线| 久久精品国产亚洲一区二区| 欧美视频在线看| 国产精品视屏| 亚洲欧洲日韩在线| 久久精品72免费观看| 午夜在线视频一区二区区别| 欧美新色视频| 亚洲国产高清视频| 小辣椒精品导航| 亚洲人成7777| 久久精品视频一| 欧美午夜国产| 亚洲国产日韩欧美在线99| 午夜精品www| 日韩一区二区电影网| 免费中文字幕日韩欧美| 一区免费视频| 久久天天躁夜夜躁狠狠躁2022| 亚洲资源在线观看| 国产欧美在线| 午夜一级久久| 亚洲欧美一级二级三级| 国产精品久久久久毛片软件| 亚洲男女自偷自拍| 亚洲精品中文字幕女同| 麻豆91精品| 欧美午夜精品久久久久免费视| 日韩视频三区| 亚洲人成人77777线观看| 欧美二区在线| 亚洲精品一区二区在线观看| 亚洲高清在线视频| 欧美va亚洲va国产综合| 91久久精品日日躁夜夜躁国产| 麻豆精品视频在线| 久久久精品一区| 1204国产成人精品视频| 免播放器亚洲一区| 欧美xx视频| 亚洲小少妇裸体bbw| 日韩亚洲欧美一区| 国产精品三级视频| 夜夜嗨av一区二区三区中文字幕| 免费亚洲视频| 欧美在线免费观看| 国产精品丝袜久久久久久app| 亚洲欧美一区二区三区久久 | 久久久久国产精品www| 久久久久欧美| 一区二区高清在线| 亚洲国产日韩在线| 国产精品久久久久一区二区三区共| 亚洲毛片网站| 在线综合亚洲| 国产一区激情| 亚洲成色777777女色窝| 欧美日韩三级一区二区| 欧美在线亚洲综合一区| 亚洲一区二区三区中文字幕在线| 麻豆精品传媒视频| 在线播放亚洲| 一本不卡影院| 极品少妇一区二区| 亚洲精品一区二区网址| 亚洲一二三区视频在线观看| 国产综合色产在线精品| 亚洲激情一区二区| 欧美激情一二区| 欧美国产精品va在线观看| 永久免费精品影视网站| 久久久久高清| 亚洲欧洲日本mm| 欧美第一黄网免费网站| 国产精品二区二区三区| 亚洲精品黄色| 国产精品久久久久久久午夜 | 国产精品区一区二区三| 两个人的视频www国产精品| 欧美精品亚洲二区| 美女视频网站黄色亚洲| 国产精品欧美日韩一区二区| 亚洲人成7777| 亚洲日本黄色| 欧美在线观看日本一区| 亚洲伊人网站| 欧美日韩另类字幕中文| 亚洲成色999久久网站| 在线成人h网| 久久精品国内一区二区三区| 性欧美video另类hd性玩具| 欧美日韩在线免费视频| 亚洲片区在线| 91久久中文字幕| 久久视频一区二区| 久久久久久久波多野高潮日日| 欧美三级韩国三级日本三斤| 亚洲精品欧美精品| 洋洋av久久久久久久一区| 欧美不卡在线| 亚洲国产一区在线| 亚洲精品三级| 欧美精品一区三区| 亚洲三级电影全部在线观看高清| 亚洲精品欧美一区二区三区| 欧美中文在线视频| 久久婷婷成人综合色| 国产精品久久久久久久电影| 亚洲精品日韩综合观看成人91| 99在线热播精品免费| 男女av一区三区二区色多| 久久中文字幕一区| 在线观看精品视频| 久久免费视频观看| 亚洲国产欧美日韩精品| 日韩亚洲不卡在线| 欧美日韩国产一中文字不卡| 日韩一级二级三级| 亚洲精品社区| 欧美日韩四区| 欧美一进一出视频| 亚洲欧洲精品一区二区三区不卡| 一区二区三区 在线观看视| 国产日韩一区在线| 欧美猛交免费看| 久久久噜噜噜久久中文字免| 久久综合中文| 欧美一区二区三区在线观看| 欧美性久久久| 亚欧成人在线| 小辣椒精品导航| 狠狠干成人综合网| 浪潮色综合久久天堂| 久久精品2019中文字幕| 日韩一级黄色av| 亚洲欧洲另类国产综合| 欧美激情亚洲综合一区| 亚洲综合丁香| 亚洲精品韩国| 国产综合网站| 国产精品乱看| 欧美看片网站|