2.5. ╤∩σ÷Φ⌠ΦΩα÷Φ  MIME (Multipurpose Internet Mail Extension)

╤≥αφΣα≡≥ MIME, ΦδΦ Γ φε≥α÷ΦΦ Internet RFC-1341, ∩≡σΣφατφα≈σφ Σδ  ε∩Φ±αφΦ  ≥σδα ∩ε≈≥εΓεπε ±εεß∙σφΦ  Internet. ╧≡σΣ°σ±≥ΓσφφΦΩε∞ MIME  Γδ σ≥±  ±≥αφΣα≡≥ ∩ε≈≥εΓεπε ±εεß∙σφΦ  ARPA (RFC822). ╤≥αφΣα≡≥ RFC822 ß√δ ≡ατ≡αßε≥αφ Σδ  εß∞σφα ≥σΩ±≥εΓ√∞Φ ±εεß∙σφΦ ∞Φ. ╤ ∞ε∞σφ≥α ε∩≤ßδΦΩεΓαφΦ  ±≥αφΣα≡≥α Γετ∞εµφε±≥Φ α∩∩α≡α≥φ√⌡ ±≡σΣ±≥Γ Φ ≥σδσΩε∞∞≤φΦΩα÷ΦΘ ≤°δΦ ΣαδσΩε Γ∩σ≡σΣ Φ ±≥αδε  ±φε, ≈≥ε ∞φεπΦσ ≥Φ∩√ Φφ⌠ε≡∞α÷ΦΦ, Ωε≥ε≡√σ °Φ≡εΩε Φ±∩εδⁿτ≤■≥±  Γ ±σ≥Φ φσΓετ∞εµφε ∩σ≡σΣα≥ⁿ ∩ε ∩ε≈≥σ ßστ ±∩σ÷Φαδⁿφ√⌡ ≤⌡Φ∙≡σφΦΘ. ╥αΩ Γ ≥σδε ±εεß∙σφΦ  φσδⁿτ  ΓΩδ■≈Φ≥ⁿ π≡α⌠ΦΩ≤, α≤ΣΦε, ΓΦΣσε Φ Σ≡≤πΦσ ≥Φ∩√ Φφ⌠ε≡∞α÷ΦΦ. RFC822 φσ Σασ≥ Γετ∞εµφε±≥σΘ Σδ  ∩σ≡σΣα≈Φ Σαµσ ≥σΩ±≥εΓεΘ Φφ⌠ε≡∞α÷ΦΦ, Ωε≥ε≡≤■ φσδⁿτ  ≡σαδΦτεΓα≥ⁿ Γ ±σ∞ΦßΦ≥εΓεΘ ΩεΣΦ≡εΓΩσ ASCII. ┼±≥σ±≥Γσφφε, ≈≥ε ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ RFC822 φσ ∞εµσ≥ ß√≥ⁿ Φ ≡σ≈Φ ε ∩σ≡σΣα≈σ ≡ατ∞σ≈σφφεπε ≥σΩ±≥α Σδ  ε≥εß≡αµσφΦ  σπε ≡ατδΦ≈φ√∞Φ ±≥Φδ ∞Φ. ╬π≡αφΦ≈σφΦ  RFC822 ±≥αφεΓ ≥±  σ∙σ ßεδσσ ε≈σΓΦΣφ√∞Φ, ΩεπΣα ≡σ≈ⁿ τα⌡εΣΦ≥ εß εß∞σφσ ±εεß∙σφΦ ∞Φ Γ ≡ατφ√⌡ ∩ε≈≥εΓ√⌡ ±Φ±≥σ∞α⌡. ═α∩≡Φ∞σ≡, Σδ  ∩≡Φσ∞α/∩σ≡σΣα≈Φ ±εεß∙σφΦΘ Φτ/Γ X.400, Ωε≥ε≡√Θ ∩ετΓεδ σ≥ Φ∞σ≥ⁿ ΣΓεΦ≈φ√σ Σαφφ√σ Γ ≥σδσ ±εεß∙σφΦ , επ≡αφΦ≈σφΦ  ±≥α≡επε ±≥αφΣα≡≥α ∞επ≤≥ ±≥α≥ⁿ ⌠α≥αδⁿφ√∞Φ, ≥αΩ ΩαΩ φσ ±∩α±ασ≥ ±≥α≡√Θ Φ±∩√≥αφφ√Θ ±∩ε±εß ΩεΣΦ≡εΓΩΦ Φφ⌠ε≡∞α÷ΦΦ ∩≡ε÷σΣ≤≡εΘ uuencode, ≥αΩ ΩαΩ ²≥Φ Σαφφ√σ ∞επ≤≥ ß√≥ⁿ ∩ε-≡ατδΦ≈φε∞≤ ∩≡εΦφ≥σ≡∩≡σ≥Φ≡εΓαφ√ Γ X.400 Φ ∩≡επ≡α∞∞σ ≡α±±√δΩΦ ∩ε≈≥√ Γ Internet (mail-agent).

┬ φσΩε≥ε≡ε∞ ±∞√±δσ ±≥αφΣα≡≥ MIME ε≡≥επεφαδσφ ±≥αφΣα≡≥≤ RFC822. ┼±δΦ ∩ε±δσΣφΦΘ ∩εΣ≡εßφε ε∩Φ±√Γασ≥ Γ ταπεδεΓΩσ ∩ε≈≥εΓεπε ±εεß∙σφΦ  ≥σΩ±≥εΓεσ ≥σδε ∩Φ±ⁿ∞α Φ ∞σ⌡αφΦτ∞ σπε ≡α±±√δΩΦ, ≥ε MIME, πδαΓφ√∞ εß≡ατε∞, ±ε≡Φσφ≥Φ≡εΓαφ φα ε∩Φ±αφΦσ Γ ταπεδεΓΩσ ∩Φ±ⁿ∞α ±≥≡≤Ω≥≤≡√ ≥σδα ∩ε≈≥εΓεπε ±εεß∙σφΦ  Φ Γετ∞εµφε±≥Φ ±ε±≥αΓδσφΦ  ∩Φ±ⁿ∞α Φτ Φφ⌠ε≡∞α÷Φεφφ√⌡ σΣΦφΦ÷ ≡ατδΦ≈φ√⌡ ≥Φ∩εΓ.

┬ ±≥αφΣα≡≥σ τα≡στσ≡ΓΦ≡εΓαφε φσ±ΩεδⁿΩε ±∩ε±εßεΓ ∩≡σΣ±≥αΓδσφΦ  ≡ατφε≡εΣφεΘ Φφ⌠ε≡∞α÷ΦΦ. ─δ  ²≥εΘ ÷σδΦ Φ±∩εδⁿτ≤■≥±  ±∩σ÷Φαδⁿφ√σ ∩εδ  ταπεδεΓΩα ∩ε≈≥εΓεπε ±εεß∙σφΦ :

╤≥αφΣα≡≥ MIME ≡ατ≡αßε≥αφ ΩαΩ ≡α±°Φ≡ σ∞α  ±∩σ÷Φ⌠ΦΩα÷Φ , Γ Ωε≥ε≡εΘ ∩εΣ≡ατ≤∞σΓασ≥± , ≈≥ε ≈Φ±δε ≥Φ∩εΓ Σαφφ√⌡ ß≤Σσ≥ ≡α±≥Φ ∩ε ∞σ≡σ ≡ατΓΦ≥Φ  ⌠ε≡∞ ∩≡σΣ±≥αΓδσφΦ  Σαφφ√⌡. ╧≡Φ ²≥ε∞ ±δσΣ≤σ≥ ≤≈Φ≥√Γα≥ⁿ, ≈≥ε αφα≡⌡Φ  ≥Φ∩εΓ (ßστπ≡αφΦ≈φεσ Φ⌡ ≤ΓσδΦ≈σφΦσ) ≥εµσ φσ Σε∩≤±≥Φ∞α. ╩αµΣ√Θ φεΓ√Θ ≥Φ∩ Γ εß τα≥σδⁿφε∞ ∩ε≡ ΣΩσ Σεδµσφ ß√≥ⁿ τα≡σπΦ±≥≡Φ≡εΓαφ Γ IANA (Internet Assigned Numbers Authority). ╬±≥αφεΓΦ∞±  ∩εΣ≡εßφσσ φα ⌠ε≡∞σ Φ φατφα≈σφΦΦ ∩εδσΘ, ε∩≡σΣσδ σ∞√⌡ ±≥αφΣα≡≥ε∞.

╧εδσ Γσ≡±ΦΦ MIME (MIME-Version)

╧εδσ Γσ≡±ΦΦ ≤Ωατ√Γασ≥±  Γ ταπεδεΓΩσ ∩ε≈≥εΓεπε ±εεß∙σφΦ  Φ ∩ετΓεδ σ≥ ε∩≡σΣσδΦ≥ⁿ ∩≡επ≡α∞∞σ ≡α±±√δΩΦ ∩ε≈≥√, ≈≥ε ±εεß∙σφΦσ ∩εΣπε≥εΓδσφε Γ ±≥αφΣα≡≥σ MIME. ╘ε≡∞α≥ ∩εδ  Γ√πδ ΣΦ≥ ΩαΩ:

 MIME-Version: 1.0

╧εδσ Γσ≡±ΦΦ ≤Ωατ√Γασ≥±  Γ εß∙σ∞ ταπεδεΓΩσ ∩ε≈≥εΓεπε ±εεß∙σφΦ  Φ ε≥φε±Φ≥±  Ωε Γ±σ∞≤ ±εεß∙σφΦ■ ÷σδΦΩε∞. ╟Σσ±ⁿ ≤∞σ±≥φε ε≥∞σ≥Φ≥ⁿ, ≈≥ε Γ ε≥δΦ≈Φσ ε≥ ±≥αφΣα≡≥α RFC822, ±≥αφΣα≡≥ MIME ∩ετΓεδ σ≥ ∩σ≡σ∞σ°ΦΓα≥ⁿ ∩εδ  ταπεδεΓΩα ±εεß∙σφΦ  ± ≥σδε∞ ±εεß∙σφΦ . ╧ε²≥ε∞≤ Γ±σ ∩εδ  Σσδ ≥±  φα ΣΓα Ωδα±±α: εß∙Φσ ∩εδ  ταπεδεΓΩα, Ωε≥ε≡√σ τα∩Φ±√Γα■≥±  Γ φα≈αδσ ∩ε≈≥εΓεπε ±εεß∙σφΦ  Φ ≈α±≥φ√σ ∩εδ  ταπεδεΓΩα, Ωε≥ε≡√σ ε≥φε± ≥±  ≥εδⁿΩε Ω ε≥Σσδⁿφ√∞ ≈α±≥ ∞ ±ε±≥αΓφεπε ±εεß∙σφΦ  Φ τα∩Φ±√Γα■≥±  ∩σ≡σΣ φΦ∞Φ.

╧εδσ ≥Φ∩α ±εΣσ≡µαφΦ  ≥σδα ∩ε≈≥εΓεπε ±εεß∙σφΦ  (Content-Type)

╧εδσ ≥Φ∩α Φ±∩εδⁿτ≤σ≥±  Σδ  ε∩Φ±αφΦ  ≥Φ∩α Σαφφ√⌡, Ωε≥ε≡√σ ±εΣσ≡µα≥±  Γ ≥σδσ ∩ε≈≥εΓεπε ±εεß∙σφΦ . ▌≥ε ∩εδσ ±εεß∙ασ≥ ∩≡επ≡α∞∞σ ≈≥σφΦ  ∩ε≈≥√ ΩαΩεπε ±ε≡≥α ∩≡σεß≡ατεΓαφΦ  φσεß⌡εΣΦ∞√ Σδ  ≥επε, ≈≥εß√ ±εεß∙σφΦσ ∩≡αΓΦδⁿφε ∩≡εΦφ≥σ≡∩≡σ≥Φ≡εΓα≥ⁿ. ▌≥α µσ Φφ⌠ε≡∞α÷Φ  Φ±∩εδⁿτ≤σ≥±  Φ ∩≡επ≡α∞∞εΘ ≡α±±√δΩΦ ∩≡Φ ΩεΣΦ≡εΓαφΦΦ/ΣσΩεΣΦ≡εΓαφΦΦ ∩ε≈≥√. ╤≥αφΣα≡≥ MIME ε∩≡σΣσδ σ≥ ±σ∞ⁿ ≥Φ∩εΓ Σαφφ√⌡, Ωε≥ε≡√σ ∞εµφε ∩σ≡σΣαΓα≥ⁿ Γ ≥σδσ ∩Φ±ⁿ∞α: ≥σΩ±≥ (text); ±∞σ°αφφ√Θ ≥Φ∩ (multipart); ∩ε≈≥εΓεσ ±εεß∙σφΦσ (message); π≡α⌠Φ≈σ±ΩΦΘ εß≡ατ (image); α≤ΣΦε Φφ⌠ε≡∞α÷Φ  (audio); ⌠Φδⁿ∞ ΦδΦ ΓΦΣσε (video); ∩≡ΦδεµσφΦσ (application). ╬ß∙α  ⌠ε≡∞α τα∩Φ±Φ ∩εδ  Γ√πδ ΣΦ≥ Γ τα∩Φ±Φ ┴σΩ≤±α-═α≤≡α ΩαΩ:

        Content-Type:= type "/" subtype *[";" parameter]
        type :=    "application"     / "audio"
		/ "image"           / "message"
		/ "multipart"       / "text"
		/ "video"           / x-token
        x-token := <─Γα ±Φ∞Γεδα "X-", τα Ωε≥ε≡√∞Φ ßστ ∩≡εßσδα
		    ±δσΣ≤σ≥ ∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ δ■ß√⌡ ±Φ∞ΓεδεΓ>
	subtype := token
        parameter:= attribute "=" value
        attribute:= token
	value := token / quoted-string
	token := 1*<δ■ßεΘ ±Φ∞Γεδ Ω≡ε∞σ ∩≡εßσδα Φ ≤∩≡αΓδ ■∙σπε ±Φ∞Γεδα,
	            ΦδΦ tspecials>
        tspecials:=  "(" /")" / "<" / ">" / "@"  ; ╬ß τα≥σδⁿφε
		 /  "," / ";" / ":" / "\" / <">  ; Σεδµφ√ ß√≥ⁿ,
		 /  "/" / "[" / "]" / "?" / "."  ; ταΩδ■≈σφ√ Γ
		 /  "="                          ; ΩαΓ√≈ΩΦ.

╬±≥αφεΓΦ∞±  ∩εΣ≡εßφσσ φα ΩαµΣε∞ Φτ ≥Φ∩εΓ, ≡ατ≡σ°σφφ√⌡ ±≥αφΣα≡≥ε∞ MIME.

Text. ▌≥ε≥ ≥Φ∩ ≤Ωατ√Γασ≥ φα ≥ε, ≈≥ε Γ ≥σδσ ±εεß∙σφΦ  ±εΣσ≡µΦ≥±  ≥σΩ±≥. ╬±φεΓφ√∞ ∩εΣ≥Φ∩ε∞ ≥Φ∩α "text"  Γδ σ≥±  "plain", ≈≥ε εßετφα≈ασ≥ ≥αΩ φατ√Γασ∞√Θ ∩δαφα≡φ√Θ ≥σΩ±≥. ╧εφ ≥Φσ ∩δαφα≡φεπε ≥σΩ±≥α ∩ε ΓΦδε±ⁿ Γ ±Γ τΦ ± ≥σ∞, ≈≥ε ±≤∙σ±≥Γ≤σ≥ σ∙σ ≡ατ∞σ≈σφφ√Θ ≥σΩ±≥, ≥.σ. ≥σΩ±≥ ±ε Γ±≥≡εσφφ√∞Φ Γ φσπε ±Φ∞Γεδα∞Φ ≤∩≡αΓδσφΦ  ε≥εß≡αµσφΦσ∞, Φ πΦ∩σ≡≥σΩ±≥, ≥.σ. ≥σΩ±≥, Ωε≥ε≡√Θ ∞εµφε ∩≡ε±∞α≥≡ΦΓα≥ⁿ φσ ∩ε±δσΣεΓα≥σδⁿφε, α ∩≡εΦτΓεδⁿφε, ±δσΣ≤  πΦ∩σ≡≥σΩ±≥εΓ√∞ ±±√δΩα∞. ─δ  εßετφα≈σφΦ  ≡ατ∞σ≈σφφεπε ≥σΩ±≥α Φ±∩εδⁿτ≤■≥ ∩εΣ≥Φ∩ "richtext", α Σδ  εßετφα≈σφΦ  πΦ∩σ≡≥σΩ±≥α ∩εΣ≥Φ∩ "html". ┬εεß∙σ πεΓε≡ , "html" - ²≥ε ±∩σ÷Φαδⁿφ√Θ ΓΦΣ ≡ατ∞σ≈σφφεπε ≥σΩ±≥α, Ωε≥ε≡√Θ Φ±∩εδⁿτ≤σ≥±  Σδ  ∩≡σΣ±≥αΓδσφΦ  πΦ∩σ≡≥σΩ±≥εΓεΘ Φφ⌠ε≡∞α÷ΦΦ Γ ±Φ±≥σ∞σ World Wide Web, Ωε≥ε≡α  ∩εδ≤≈Φδα Γ ∩ε±δσΣφσσ Γ≡σ∞  °Φ≡εΩεσ ≡α±∩≡ε±≥≡αφσφΦσ Γ Internet. ╧εφ ≥Φσ ≡ατ∞σ≈σφφεπε ≥σΩ±≥α ≥≡σß≤σ≥ ßεδσσ ∩εΣ≡εßφεπε εß±≤µΣσφΦ , ≥αΩ ΩαΩ σπε ∩σ≡σΣα≈α Φ Φφ≥σ≡∩≡σ≥α÷Φ   Γδ ■≥±  εΣφεΘ Φτ ∩≡Φ≈Φφ ∩ε ΓδσφΦ  ±≥αφΣα≡≥α MIME.

"Richtext" ε∩≡σΣσδ σ≥ ≥σΩ±≥ ±ε Γ±≥≡εσφφ√∞Φ Γ φσπε ±∩σ÷Φαδⁿφ√∞Φ ≤∩≡αΓδ ■∙Φ∞Φ ∩ε±δσΣεΓα≥σδⁿφε±≥ ∞Φ, Ωε≥ε≡√σ Γ ±εε≥Γσ≥±≥ΓΦΦ ±ε ±≥αφΣα≡≥ε∞  τ√Ωα ≡ατ∞σ≥ΩΦ ΣεΩ≤∞σφ≥εΓ SGML φατ√Γα■≥±  ≥απα∞Φ. ╥απΦ ∩≡σΣ±≥αΓδ ■≥ Φτ ±σß  ∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ ±Φ∞ΓεδεΓ ≥Φ∩α "<±≥≡εΩα-±Φ∞ΓεδεΓ>". "╤≥≡εΩα-±Φ∞ΓεδεΓ" ε∩≡σΣσδ σ≥ ≤∩≡αΓδ ■∙σσ ΣσΘ±≥ΓΦσ. ╥απΦ Σσδ ≥±  φα ≥απΦ φα≈αδα ²δσ∞σφ≥α ≥σΩ±≥α ("<......>") Φ ≥απΦ Ωεφ÷α ²δσ∞σφ≥α ≥σΩ±≥α ("</......>"). ┬ Ωα≈σ±≥Γσ ∩≡Φ∞σ≡α ≥αΩεΘ ≡ατ∞σ≥ΩΦ ∞εµφε ∩≡ΦΓσ±≥Φ ±δσΣ≤■∙ΦΘ ⌠≡απ∞σφ≥ ≥σΩ±≥α:

	<bold>Now</bold> is the time for
	<italic>all</italic> good men
	 <smaller>(and <lt>women>)</smaller> to
	<ignoreme></ignoreme> come
	to the aid of their
	<nl>

┬ ²≥ε∞ ⌠≡απ∞σφ≥σ <bold> ετφα≈ασ≥ Γ√ΣσδσφΦσ "µΦ≡φ√∞" °≡Φ⌠≥ε∞, <italic> - Ω≤≡±ΦΓ, <smaller> - ∞σδΩΦΘ °≡Φ⌠≥, <lt> - τφαΩ "<", Φπφε≡Φ≡εΓαφΦσ εßετφα≈σφε ΩαΩ <ignoreme>, φεΓα  ±≥≡εΩα ΩαΩ <nl>.

╤∩σ÷Φαδⁿφ√Θ ≥Φ∩ ≡ατ∞σ≥ΩΦ ταΣασ≥±  ∩εΣ≥Φ∩ε∞ "html". ▌≥ε ≥αΩ φατ√Γασ∞√Θ πΦ∩σ≡≥σΩ±≥. ╨ατ∞σ≥Ωα πΦ∩σ≡≥σΩ±≥α ±≥≡εΦ≥±  ∩ε ≥ε∞≤ µσ ∩≡Φφ÷Φ∩≤ ΩαΩ Φ Γ ≥σΩ±≥σ ≥Φ∩α "richtext". ╬ΣφαΩε ∩≡Φ∞σφ ■≥±  ≥απΦ, ∩ετΓεδ ■∙Φσ ε∩Φ±α≥ⁿ πΦ∩σ≡≥σΩ±≥εΓ√σ ±±√δΩΦ. ╩ ≥αΩΦ∞ ≥απα∞ ε≥φε± ≥±  "<A HREF="......">.....</A>", <IMG ....>, <A NAME="...."></A>. ╥απ "<A HREF="......"> .......</A> ε∩≡σΣσδ σ≥ ±δσΣ≤■∙ΦΘ ⌠≡απ∞σφ≥ ≥σΩ±≥α, Ωε≥ε≡√Θ ß≤Σσ≥ ∩≡ε±∞α≥≡ΦΓα≥ⁿ± . ╧≡Φ ²≥ε∞ ≥σΩ±≥ ∞σµΣ≤ ≥απε∞ φα≈αδα Φ ≥απε∞ Ωεφ÷α ß≤Σσ≥ Γ√Σσδσφ Γ ∩≡επ≡α∞∞σ ∩≡ε±∞ε≥≡α ÷Γσ≥ε∞ ΦδΦ Σ≡≤πΦ∞ ±∩ε±εßε∞ Φ Φ±∩εδⁿτ≤σ≥±  ΩαΩ Ωεφ≥σΩ±≥φα  πΦ∩σ≡≥σΩ±≥εΓα  ±±√δΩα. ╥απ <IMG .....> ταΣσ≥ Γ±≥≡εσφφ√Θ Γ ≥σΩ±≥ ΣεΩ≤∞σφ≥α π≡α⌠Φ≈σ±ΩΦΘ εß≡ατ. ┬ φσΩε≥ε≡ε∞ ±∞√±δσ ²≥ε≥ ≥απ αφαδεπΦ≈σφ "multipart", Ωε≥ε≡√Θ ≡ατ≡σ°ασ≥ Ωε∞ßΦφΦ≡εΓα≥ⁿ ±εεß∙σφΦσ Φτ φσ±ΩεδⁿΩΦ⌡ ⌠≡απ∞σφ≥εΓ ≡ατφεπε ≥Φ∩α. ╥απ <A NAME...> ε∩≡σΣσδ σ≥ " Ωε≡ⁿ", ≥.σ. ∞σ±≥ε Γφ≤≥≡Φ ΣεΩ≤∞σφ≥α, φα Ωε≥ε≡εσ ∞εµφε ±ε±δα≥ⁿ±  ΩαΩ φα ∞σ≥Ω≤. ┬ Ωα≈σ±≥Γσ ∩≡Φ∞σ≡α ≥αΩεΘ ≡ατ∞σ≥ΩΦ ≥σΩ±≥α ∞εµφε ∩≡ΦΓσ±≥Φ ±δσΣ≤■∙ΦΘ ⌠≡απ∞σφ≥:

	▌≥ε ∩≡Φ∞σ≡ ≡ατ∞σ≥ΩΦ ΣεΩ≤∞σφ≥α Γ ⌠ε≡∞α≥σ HTML.
	        <H1>▌≥ε ταπεδεΓεΩ ΣεΩ≤∞σφ≥α</H1>
	        <P> - ▌≥ε ∩α≡απ≡α⌠.
	        <A HREF="test.html#mark1">
	▌≥ε ∩≡Φ∞σ≡ πΦ∩σ≡≥σΩ±≥εΓεΘ ±±√δΩΦ.</A>
	        <IMG SRC="test.gif" ALIGN=Bottom> 
	▌≥ε Γ±≥≡εσφφ√Θ image.
	        <A NAME="mark1"></A>
	▌≥ε " Ωε≡ⁿ" Γφ≤≥≡Φ ≥σΩ±≥α ΣεΩ≤∞σφ≥α.

"Multipart". ▌≥ε≥ ≥Φ∩ ±εΣσ≡µαφΦ  ≥σδα ∩ε≈≥εΓεπε ±εεß∙σφΦ  ε∩≡σΣσδ σ≥ ±∞σ°αφφ√Θ ΣεΩ≤∞σφ≥. ╤∞σ°αφφ√Θ ΣεΩ≤∞σφ≥ ∞εµσ≥ ±ε±≥ε ≥ⁿ Φτ ⌠≡απ∞σφ≥εΓ Σαφφ√⌡ ≡ατφεπε ≥Φ∩α. ─αφφ√Θ ≥Φ∩ Φ∞σσ≥ ≡ Σ ∩εΣ≥Φ∩εΓ.

╧εΣ≥Φ∩ "mixed" - ταΣασ≥ ±εεß∙σφΦσ, ±ε±≥ε ∙σσ Φτ φσ±ΩεδⁿΩΦ⌡ ⌠≡απ∞σφ≥εΓ, Ωε≥ε≡√σ ≡ατΣσδσφ√ ∞σµΣ≤ ±εßεΘ π≡αφΦ÷σΘ, ταΣαΓασ∞εΘ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α ∩εΣ≥Φ∩α. ╧≡ΦΓσΣσ∞ ∩≡ε±≥εΘ ∩≡Φ∞σ≡:

	From: Nathaniel Borenstein <nsb@bellcore.com>
        To: Ned Freed <ned@innosoft.com>
        Subject: Sample message
        MIME-Version: 1.0
        Content-type: multipart/mixed; boundary="simple boundary"
        This is the preamble.  It is to be ignored, though it is a
	handy place for mail composers to include an explanatory
	note to non-MIME compliant readers.
        --simple boundary
        This is implicitly typed plain ASCII text.
        It does NOT end with a linebreak.
        --simple boundary
        Content-type: text/plain; charset=us-ascii
        This is explicitly typed plain ASCII text.
        It DOES end with a linebreak.
        --simple boundary--
        This is the epilogue.  It is also to be ignored.

┬ Σαφφε∞ ∩≡Φ∞σ≡σ ∩εδσ "Content-Type" ε∩≡σΣσδ σ≥ ∩εΣ≥Φ∩ "mixed" Φ π≡αφΦ÷≤ ∞σµΣ≤ ⌠≡απ∞σφ≥α∞Φ, ΩαΩ ±≥≡εΩ≤ "--simple boundary--". ┬ φα≈αδσ ΩαµΣεπε ⌠≡απ∞σφ≥α ∞εµσ≥ ß√≥ⁿ ταΣαφα ±Γε  ±≥≡εΩα ± ∩εδσ∞ "Content-Type". ╩αΩ ΓΦΣφε Φτ ∩≡Φ∞σ≡α, ±≤∙σ±≥Γ≤σ≥ ΣΓα ⌠≡απ∞σφ≥α, Ωε≥ε≡√σ φσ ε≥εß≡αµα■≥± : ∩≡σα∞ß≤δα Φ ²∩Φδεπ, Γ Ωε≥ε≡√σ ∞εµφε ∩ε∞σ±≥Φ≥ⁿ Ωε∞∞σφ≥α≡ΦΦ.

─≡≤πΦ∞ ∩εΣ≥Φ∩ε∞ ∞εµσ≥ ß√≥ⁿ ∩εΣ≥Φ∩ "alternative". ─αφφ√Θ ∩εΣ≥Φ∩ ∩ετΓεδ σ≥ ε≡παφΦτεΓα≥ⁿ Γα≡Φαßσδⁿφ√Θ ∩≡ε±∞ε≥≡ ∩ε≈≥εΓεπε ±εεß∙σφΦ  Γ ταΓΦ±Φ∞ε±≥Φ ε≥ ≥Φ∩α ∩≡επ≡α∞∞√ ∩≡ε±∞ε≥≡α. ╧≡ΦΓσΣσ∞ ∩≡Φ∞σ≡:

	From:  Nathaniel Borenstein <nsb@bellcore.com>
	To: Ned Freed <ned@innosoft.com>
	Subject: Formatted text mail
        MIME-Version: 1.0
	Content-Type: multipart/alternative; boundary=boundary42
	--boundary42
	1 ⌠≡απ∞σφ≥
	Content-Type: text/plain; charset=us-ascii
        ...plain text version of message goes here....
	--boundary42
	2 ⌠≡απ∞σφ≥
        Content-Type: text/richtext
        .... richtext version of same message goes here ...
        --boundary42
	3 ⌠≡απ∞σφ≥
        Content-Type: text/x-whatever
        .... fanciest formatted version of same  message  goes  here ...
        --boundary42--

┬ ²≥ε∞ ∩≡Φ∞σ≡σ Σδ  ≡αßε≥√ ± ∩δαφα≡φ√∞ ≥σΩ±≥ε∞ ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ αδ⌠αΓΦ≥φε-÷Φ⌠≡εΓ√⌡ ∩≡επ≡α∞∞ ∩≡ε±∞ε≥≡α ∩≡σΣφατφα≈σφ ∩σ≡Γ√Θ ⌠≡απ∞σφ≥ ≥σΩ±≥α. ─δ  ∩≡ε±∞ε≥≡α ≡ατ∞σ≈σφφεπε ≥σΩ±≥α Φ±∩εδⁿτ≤σ≥±  Γ≥ε≡εΘ ⌠≡απ∞σφ≥, Σδ  ±∩σ÷ΦαδⁿφεΘ ∩≡επ≡α∞∞√ ∩≡ε±∞ε≥≡α ∞εµσ≥ ß√≥ⁿ ∩εΣπε≥εΓδσφ ±∩σ÷Φαδⁿφ√Θ Γα≡Φαφ≥ (⌠≡απ∞σφ≥ 3).

╧εΣ≥Φ∩ "digest" ∩≡σΣφατφα≈σφ Σδ  ∞φεπε÷σδσΓεπε ∩ε≈≥εΓεπε ±εεß∙σφΦ , ΩεπΣα ≡ατδΦ≈φ√∞ ≈α±≥ ∞ ⌡ε≥ ≥ ∩≡Φ∩Φ±α≥ⁿ ßεδσσ Σσ≥αδⁿφ≤■ Φφ⌠ε≡∞α÷Φ■, ≈σ∞ ∩≡ε±≥ε ≥Φ∩:

	From: Moderator-Address
	MIME-Version: 1.0
	Subject: Internet Digest, volume 42
	Content-Type: multipart/digest;
		boundary="---- next message ----"
		------ next message ----
	From: someone-else
	Subject: my opinion
	...body goes here ...
		------ next message ----
	From: someone-else-again
	Subject: my different opinion
	... another body goes here...
		------ next message ------

╧≡ΦΓσΣσφφ√Θ ∩≡Φ∞σ≡ ∩εΩατ√Γασ≥ ΩαΩ ∞εµφε Γε±∩εδⁿτεΓα≥ⁿ±  ∩εΣ≥Φ∩ε∞ "digest" Σδ  ≡α±±√δΩΦ ∩ε≈≥√ ≡ατφ√∞ ∩εδⁿτεΓα≥σδ ∞ Φ ∩ε-≡ατφε∞≤ ∩εΓεΣ≤, Φ±∩εδⁿτ≤  ∩εδ  "From:" Φ "Subject" Γ Ωα≈σ±≥Γσ ≈α±≥φ√⌡ ταπεδεΓΩεΓ.

╧εΣ≥Φ∩ "parallel" ∩≡σΣφατφα≈σφ Σδ  ±ε±≥αΓδσφΦ  ≥αΩεπε ∩ε≈≥εΓεπε ±εεß∙σφΦ , ≈α±≥Φ Ωε≥ε≡επε Σεδµφ√ ε≥εß≡αµα≥ⁿ±  εΣφεΓ≡σ∞σφφε, ≈≥ε ∩≡σΣ∩εδαπασ≥ τα∩≤±Ω ±≡ατ≤ φσ±ΩεδⁿΩΦ⌡ ∩≡επ≡α∞∞ ∩≡ε±∞ε≥≡α. ╤Φφ≥αΩ±Φ± ≥αΩεπε ±εεß∙σφΦ  αφαδεπΦ≈σφ ≡α±±∞ε≥≡σφφ√∞ Γ√°σ.

╥Φ∩ "message". ─αφφ√Θ ≥Φ∩ ∩≡σΣφατφα≈σφ Σδ  ≡αßε≥√ ± εß√≈φ√∞Φ ∩ε≈≥εΓ√∞Φ ±εεß∙σφΦ ∞Φ, Ωε≥ε≡√σ εΣφαΩε φσ ∞επ≤≥ ß√≥ⁿ ∩σ≡σΣαφ√ ∩ε ∩ε≈≥σ ∩ε ≡ατφεπε ≡εΣα ∩≡Φ≈Φφα∞. ▌≥Φ ∩≡Φ≈Φφ√ εß· ±φ ■≥±  ∩εΣ≥Φ∩α∞Φ Σαφφεπε ≥Φ∩α.

╧εΣ≥Φ∩ "partial" ∩≡σΣφατφα≈σφ Σδ  ∩σ≡σΣα≈Φ εΣφεπε ßεδⁿ°επε ±εεß∙σφΦ  ∩ε ≈α±≥ ∞ Σδ  ∩ε±δσΣ≤■∙σΘ αΓ≥ε∞α≥Φ≈σ±ΩεΘ ±ßε≡ΩΦ ≤ ∩εδ≤≈α≥σδ . ╧≡ΦΓσΣσ∞ ∩≡Φ∞σ≡ ∩σ≡σΣα≈Φ α≤ΣΦε ±εεß∙σφΦ  ≡ατßΦ≥επε φα ≈α±≥Φ:

	X-Weird-Header-1: Foo
	From: Bill@host.com
	To: joe@otherhost.com
	Subject: Audio mail
	Message-ID: id1@host.com
	MIME-Version: 1.0
	Content-type: message/partial;
		id="ABC@host.com";
	        number=1; total=2
	X-Weird-Header-1: Bar
	X-Weird-Header-2: Hello
	Message-ID: anotherid@foo.com
	Content-type: audio/basic
	Content-transfer-encoding: base64
	... first half of encoded audio data goes here...
        and the second half might look something like this:
	From: Bill@host.com
	To: joe@otherhost.com
	Subject: Audio mail
	MIME-Version: 1.0
	Message-ID: id2@host.com
	Content-type: message/partial;
		id="ABC@host.com"; number=2; total=2
	... second half of encoded audio data goes here...

└≥≡Φß≤≥√ ∩εΣ≥Φ∩α ε∩≡σΣσδ ■≥ ΦΣσφ≥Φ⌠ΦΩα≥ε≡ ±εεß∙σφΦ  (id), φε∞σ≡ ∩ε≡÷ΦΦ (number) Φ εß∙σσ ≈Φ±δε ∩ε≡÷ΦΘ (total). ╤δσΣ≤σ≥ εß≡α≥Φ≥ⁿ ΓφΦ∞αφΦσ φα ≥ε, ≈≥ε ΩαµΣα  ≈α±≥ⁿ Φ∞σσ≥ ±Γεσ ∩εδσ "Content-Type". ▌≥ε ετφα≈ασ≥, ≈≥ε Γ±σ ±εεß∙σφΦσ ∞εµσ≥ ±ε±≥ε ≥ⁿ Φτ ≈α±≥σΘ ≡ατφ√⌡ ≥Φ∩εΓ.

─≡≤πΦ∞ ∩εΣ≥Φ∩ε∞  Γδ σ≥±  "External-Body", Ωε≥ε≡√Θ ∩ετΓεδ σ≥ ±±√δα≥ⁿ±  φα Γφσ°φΦσ, ε≥φε±Φ≥σδⁿφε ±εεß∙σφΦ , Φφ⌠ε≡∞α÷Φεφφ√σ Φ±≥ε≈φΦΩΦ. ▌≥ε≥ ∩εΣ≥Φ∩ ∩ε⌡εµ φα πΦ∩σ≡≥σΩ±≥εΓ≤■ ±±√δΩ≤ Φτ ≥Φ∩α "text". ╧≡ΦΓσΣσ∞ ΩεφΩ≡σ≥φ√Θ ∩≡Φ∞σ≡:

	From: Whomever
	Subject: whatever
	MIME-Version: 1.0
	Message-ID: id1@host.com
	Content-Type: multipart/alternative; boundary=42
	--42
        Content-Type: message/external-body;
		name="BodyFormats.ps";
		site="thumper.bellcore.com";
		access-type=ANON-FTP;
		directory="pub";
		mode="image";
		expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
	Content-type: application/postscript
	--42
	Content-Type: message/external-body;
		name="/u/nsb/writing/rfcs/RFC-XXXX.ps";
		site="thumper.bellcore.com";
		access-type=AFS
		expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
	Content-type: application/postscript
	--42
	Content-Type: message/external-body;
		access-type=mail-server
		server="listserv@bogus.bitnet";
		expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
	Content-type: application/postscript
	get rfc-xxxx doc
	--42--

┬ Σαφφε∞ ∩≡Φ∞σ≡σ ∩≡ΦΓσΣσφε Φ±∩εδⁿτεΓαφΦσ "External-Body" Φ "multipart/alternative". ┬±σ ±εεß∙σφΦσ ≡ατßΦ≥ε φα φσ±ΩεδⁿΩε ⌠≡απ∞σφ≥εΓ. ┬ ΩαµΣε∞ Φτ ⌠≡απ∞σφ≥εΓ φα⌡εΣΦ≥±  ±±√δΩα φα Γφσ°φΦΘ ⌠αΘδ. ╨σαδⁿφε ≥σδα ∩ε≈≥εΓεπε ±εεß∙σφΦ  φσ≥ (π≡αφΦ÷√ ∩≡επ≡α∞∞α∞Φ ∩≡ε±∞ε≥≡α φσ ε≥εß≡αµα■≥± ). ╬ΣφαΩε σ±δΦ ∩≡επ≡α∞∞α ∩≡ε±∞ε≥≡α ±∩ε±εßφα ≡αßε≥α≥ⁿ ± Γφσ°φΦ∞Φ ∩≡ε≥εΩεδα∞Φ, ≥ε ∞εµφε ±±√δΩΦ ≡ατ≡σ°Φ≥ⁿ αΓ≥ε∞α≥Φ≈σ±ΩΦ, τα∩≤±Ωα  ±εε≥Γσ≥±≥Γ≤■∙ΦΘ ±σ≡ΓΦ±.

╤≥αφΣα≡≥φ√∞ ∩εΣ≥Φ∩ε∞ ≥Φ∩α "message"  Γδ σ≥±  "rfc822". ─αφφ√Θ ∩εΣ≥Φ∩ ε∩≡σΣσδ σ≥ ±εεß∙σφΦ  ±≥αφΣα≡≥α RFC822.

╥Φ∩√ ε∩Φ±αφΦ  φσ≥σΩ±≥εΓεΘ Φφ⌠ε≡∞α÷ΦΦ. ╥αΩΦ⌡ ≥Φ∩εΓ Φ∞σσ≥±  ≈σ≥√≡σ:

═ατφα≈σφΦσ Σαφφ√⌡ ≥Φ∩εΓ  ±φε Φτ φατΓαφΦ  - εßετφα≈σφΦσ Σαφφ√⌡ Σδ  ∩ε±δσΣ≤■∙σΘ εß≡αßε≥ΩΦ ΩαΩ Σαφφ√⌡ Γ ⌠ε≡∞α≥α⌡, ε∩≡σΣσδ σ∞√⌡ ∩εΣ≥Φ∩ε∞.

╧εδσ ≥Φ∩α ΩεΣΦ≡εΓαφΦ  ∩ε≈≥εΓεπε ±εεß∙σφΦ  (Content-Transfer-Encoding). ╠φεπΦσ Σαφφ√σ ∩σ≡σΣα■≥±  ∩ε ∩ε≈≥σ Γ Φ⌡ Φ±⌡εΣφε∞ ΓΦΣσ. ▌≥ε ∞επ≤≥ ß√≥ⁿ 7bit ±Φ∞Γεδ√, 8bit ±Φ∞Γεδ√, 64base ±Φ∞Γεδ√ Φ ≥.∩. ╬ΣφαΩε ∩≡Φ ≡αßε≥σ Γ ≡ατφε≡εΣφ√⌡ ∩ε≈≥εΓ√⌡ ±≡σΣα⌡ φσεß⌡εΣΦ∞ε ε∩≡σΣσδΦ≥ⁿ ∞σ⌡αφΦτ∞ Φ⌡ ∩≡σΣ±≥αΓδσφΦ  Γ ±≥αφΣα≡≥φε∞ ΓΦΣσ - US-ASCII. ─δ  ²≥επε ±≤∙σ±≥Γ≤■≥ ∩≡ε÷σΣ≤≡√ ΩεΣΦ≡εΓαφΦ  ≥αΩεπε ±ε≡≥α Σαφφ√⌡. ═αΦßεδσσ °Φ≡εΩε ∩≡Φ∞σφ σ∞α  - uuencode. ─δ  ≥επε, ≈≥εß√ ∩≡Φ ∩εδ≤≈σφΦΦ Σαφφ√σ ß√δΦ ß√ ∩≡αΓΦδⁿφε ≡α±∩αΩεΓαφ√ Φ ΓΓσΣσφε Γ ±≥αφΣα≡≥ ∩εδσ "╤ontent-Transfer-Encoding". ╤Φφ≥αΩ±Φ± ²≥επε ∩εδ  ±δσΣ≤■∙ΦΘ:

	Content-Transfer-Encoding:= "BASE64" / "QUOTED-PRINTABLE" /
		                    "8BIT"   / "7BIT" /
		                    "BINARY" / x-token

╩αµΣα  Φτ αδⁿ≥σ≡φα≥ΦΓ ∩≡Φ∞σφ σ≥±  Γ ±Γεσ∞ ∩εΣ⌡εΣ ∙σ∞ ±δ≤≈ασ. └δⁿ≥σ≡φα≥ΦΓ√ "8bit", "7bit", "BINARY" ≡σαδⁿφε φΦΩαΩεπε ∩≡σεß≡ατεΓαφΦ  φσ ≥≡σß≤■≥, ≥αΩ ΩαΩ ∩ε≈≥α ∩σ≡σΣασ≥±  ßαΘ≥α∞Φ Φ SMTP φσ Σσδασ≥ ≡ατδΦ≈Φ  ∞σµΣ≤ φΦ∞Φ. ╬ΣφαΩε εφΦ ΓΓσΣσφ√ Σδ  ±≥≡επε±≥Φ ε∩Φ±αφΦ  ≥Φ∩εΓ. "BASE64" εß√≈φε Φ±∩εδⁿτ≤σ≥±  Γ ±Γ τΩσ ± ≥Φ∩ε∞ "text/ISO-8859-1", "x-token" ∩ετΓεδ σ≥ ∩εδⁿτεΓα≥σδ■ ε∩Φ±α≥ⁿ ±Γε■ ∩≡ε÷σΣ≤≡≤ ∩≡σεß≡ατεΓαφΦ .

─ε∩εδφΦ≥σδⁿφ√σ φσεß τα≥σδⁿφ√σ ∩εδ . ╩αΩ ≤µσ πεΓε≡Φδε±ⁿ ≡αφσσ, ±≥αφΣα≡≥ ε∩≡σΣσδ σ≥ σ∙σ ΣΓα Σε∩εδφΦ≥σδⁿφ√⌡ ∩εδ : "Content-ID" Φ "Content-Description". ╧σ≡Γεσ ∩εδσ ε∩≡σΣσδ σ≥ ≤φΦΩαδⁿφ√Θ ΦΣσφ≥Φ⌠ΦΩα≥ε≡ ±εΣσ≡µαφΦ , α Γ≥ε≡εσ ±δ≤µΦ≥ Σδ  Ωε∞∞σφ≥α≡Φ  ±εΣσ≡µαφΦ . ═Φ ≥ε, φΦ Σ≡≤πεσ ∩≡επ≡α∞∞α∞Φ ∩≡ε±∞ε≥≡α εß√≈φε φσ ε≥εß≡αµα■≥± .

┬ ταΩδ■≈σφΦΦ εß±≤µΣσφΦ  ±≥αφΣα≡≥α MIME Ωε∞∩δσΩ±φ√Θ ∩≡Φ∞σ≡ ßστ Ωε∞∞σφ≥α≡ΦσΓ:

	MIME-Version: 1.0
	From: Nathaniel Borenstein <nsb@bellcore.com>
	Subject: A multipart example
	Content-Type: multipart/mixed;
		boundary=unique-boundary-1
	This is the preamble area of a multipart message.
	Mail readers that understand multipart format
	should ignore this preamble.
	If you are reading this text, you might want to
	consider changing to a mail reader that understands
	how to properly display multipart messages.
	--unique-boundary-1
	...Some text appears here...
	[Note that the preceding blank line means
	no header fields were given and this is text,
	with charset US ASCII.  It could have been
	done with explicit typing as in the next part.]
	--unique-boundary-1
	Content-type: text/plain; charset=US-ASCII
	This could have been part of the previous part,
	but illustrates explicit versus implicit
	typing of body parts.
	--unique-boundary-1
	Content-Type: multipart/parallel;
		boundary=unique-boundary-2
	--unique-boundary-2
	Content-Type: audio/basic
	Content-Transfer-Encoding: base64
	... base64-encoded 8000 Hz single-channel
	u-law-format audio data goes here....
	--unique-boundary-2
	Content-Type: image/gif
	Content-Transfer-Encoding: Base64
	... base64-encoded image data goes here....
	--unique-boundary-2--
	--unique-boundary-1
	Content-type: text/richtext
	This is <bold><italic>richtext.</italic></bold>
	<nl><nl>Isn't it <bigger><bigger>cool?</bigger></bigger>
	--unique-boundary-1
	Content-Type: message/rfc822
	From: (name in US-ASCII)
	Subject: (subject in US-ASCII)
	Content-Type: Text/plain; charset=ISO-8859-1
	Content-Transfer-Encoding: Quoted-printable
	... Additional text in ISO-8859-1 goes here ...
	--unique-boundary-1--

╧εΣΓεΣ  Φ≥επΦ εß±≤µΣσφΦ , σ∙σ ≡ατ ±δσΣ≤σ≥ ε≥∞σ≥Φ≥ⁿ, ≈≥ε ±≥αφΣα≡≥ MIME ∩ετΓεδ σ≥ ≡α±°Φ≡Φ≥ⁿ εßδα±≥ⁿ ∩≡Φ∞σφσφΦ  ²δσΩ≥≡εφφεΘ ∩ε≈≥√, εßσ±∩σ≈Φ≥ⁿ Σε±≥≤∩ Ω Σ≡≤πΦ∞ Φφ⌠ε≡∞α÷Φεφφ√∞ ≡σ±≤≡±α∞ ±σ≥Φ Γ ±≥αφΣα≡≥φ√⌡ ⌠ε≡∞α≥α⌡.

═αταΣ | ╤εΣσ≡µαφΦσ | ┬∩σ≡σΣ