一封MIME郵件可以由多個不同類型的MIME消息組合而成,一個MIME消息表示郵件中的一個基本MIME資源或若干基本MIME消息的組合體。每個MIME消息的數據格式與RFC822數據格式相似,也包括頭和體兩部分,分別稱為MIME消息頭和MIME消息體,它們之間使用空行分隔。MIME消息體中包含了資源的具體內容,MIME消息頭中則包含了對資源的描述信息。多個相同層次的MIME消息必須形成一個MIME組合消息,它們共同作為所形成的MIME組合消息的MIME消息體,相互之間采用某種分隔標識符進行分隔,MIME組合消息的消息頭中需要描述其中的多個MIME消息的組合類型和分隔標識符。一個MIME組合消息還可以再與其他MIME消息共同形成一個更大的MIME組合消息,這樣就形成了一種多層嵌套的組合關系,一封MIME郵件就是按這種組合方式所形成的一個最頂層的MIME組合消息。
MIME協議采用這種多層組合方式可以表達出復雜的郵件內容,例如,對于在OutLook Express中顯示出的如圖4所示效果的一封復雜郵件,可以采用圖5所示的MIME組合結構來表達。
圖4中的郵件正文為一段HTML格式的文本和其引用的一個圖片資源,該郵件還包含兩個附件:一個是WAV聲音文件,一個是EXE可執行文件。該郵件的MIME結構如圖5所示,其中的HTML文本內容、圖片資源和兩個附件用四個獨立的MIME消息表示,HTML文本內容和圖片資源又組合成一個表示郵件正文的MIME組合消息,這個MIME組合消息再與兩個附件對應的MIME消息組合成了一個更大的MIME組合消息,這就形成了整封郵件的MIME消息。
?
圖4
圖5
?
?
?
轉自 https://www.cnblogs.com/dusthunter/archive/2013/02/03/2890689.html