โปรโตคอล Multipurpose Internet Mail Extensions

ทำความเข้าใจส่วนหัว MIME

ส่วนหัว MIME มีข้อมูลเกี่ยวกับโปรโตคอล

MIME-Version

บ่งบอกว่าข้อความอยู่ในรูปแบบ MIME จะปรากฏเป็น:

MIME-Version: 1.0

Content-Type

บ่งบอกประเภทเนื้อหาของข้อความโดยระบุเป็นคู่ประเภทและแบบย่อย เช่น text/plain, text/html ประเภท multipart สามารถมีข้อความ, HTML, ไฟล์แนบ, รูปภาพ, เสียง, วิดีโอ ฯลฯ

Content-Type: multipart

Content-Transfer-Encoding

บ่งบอกว่ามีการใช้โครงร่างการเข้ารหัสจากไบนารีเป็นข้อความบน content-type หรือไม่ หากมี ให้ระบุว่าเป็นแบบใด เราสามารถกำหนดประเภทการเข้ารหัส 7-bit, 8-bit และ binary ได้ที่นี่

Encoded-Word

ส่วนหัวของข้อความ SMTP ปกติใช้ตัวอักษร ASCII ตัวอักษรที่ไม่ใช่ ASCII จะต้องใช้ไวยากรณ์ MIME encoded word แทนสตริงตรงรูปแบบคือ:

"=? charset ? encoding ? encoded text ?=".

Multipart-Messages

ข้อความ MIME multipart จะมี boundary ในหัวข้อ content-type boundary นี้ต้องไม่ปรากฏในส่วนใดส่วนหนึ่งและจะวางระหว่างส่วนต่างๆ และที่จุดเริ่มต้นและจบของส่วนเนื้อความดังนี้:

MIME-version: 1.0


 Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.

--frontier

Content-type: text/plain

This is the body of the message.

--frontier

Content-type: application/octet-stream

Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg

Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==

--frontier--

แต่ละส่วนประกอบด้วยหัวข้อเนื้อหาและส่วนเนื้อหาของตัวเอง

แบบย่อย Multipart

มาตรฐาน MIME กำหนดแบบย่อยของข้อความหลายส่วนหลายประเภท แบบย่อยจะระบุในหัวข้อ "Content-Type" ของข้อความทั้งหมด

ต่อไปนี้คือรายการของแบบย่อยที่ใช้บ่อยที่สุด

  • Mixed: Multipart/mixed ใช้สำหรับส่งไฟล์ที่มีหัวข้อ "Content-Type" แตกต่างกันในตัว หากส่งรูปภาพหรือไฟล์ที่อ่านง่าย ไคลเอนต์อีเมลส่วนใหญ่จะแสดงเป็นอินไลน์
  • Message: ส่วนข้อความประกอบด้วยอีเมลหนึ่งฉบับ
  • Digest: digest เป็นวิธีง่ายๆ ในการส่งข้อความหลายข้อความ รูปแบบเนื้อหาเริ่มต้นของแต่ละส่วนคือ "message/rfc822"
  • Alternative: แบบย่อย Alternative ระบุว่าทุกส่วนเป็นเวอร์ชัน "alternative" ของเนื้อหาเดียวกัน (หรือคล้ายกัน) แต่ละส่วนในรูปแบบที่แตกต่างกันโดยระบุในหัวข้อ "Content-Type"

โดยทั่วไป multipart/alternative จะใช้สำหรับอีเมลที่มีสองส่วน คือข้อความธรรมดา (text/plain) และ HTML (text/html) ส่วนข้อความธรรมดาให้ความเข้ากันได้ย้อนหลังขณะที่ส่วน HTML อนุญาตให้ใช้การจัดรูปแบบและลิงก์หลายรูปแบบ ไคลเอนต์อีเมลส่วนใหญ่เสนอทางเลือกให้ผู้ใช้เลือกรับข้อความธรรมดาเหนือ HTML; นี่เป็นตัวอย่างว่าปัจจัยท้องถิ่นอาจมีผลต่อการที่แอปพลิเคชันเลือกส่วน "ที่ดีที่สุด" ของข้อความที่จะแสดง