मल्टीपर्पज़ इंटीरनेट मेल एक्स्टेंशन्स प्रोटोकॉल
Multipurpose Internet Mail Extensions (MIME) एक इंटरनेट मानक है जो ईमेल फ़ॉर्मेट को समर्थन देने के लिए विस्तारित करता है:
- US-ASCII के अलावा अन्य कैरेक्टर सेट में टेक्स्ट;
- गैर-पाठ अटैचमेंट;
- बहु-भाग वाले संदेश बॉडी; और
- गैर-ASCII कैरेक्टर सेट में हेडर जानकारी।
SMTP केवल 7 बिट ASCII कैरेक्टर को सपोर्ट करता है, जिसका मतलब है कि यह केवल कुछ ही भाषाओं का समर्थन करता है। लैटिन वर्णमाला पर आधारित भाषाएँ SMTP में ठीक काम करती हैं; अन्य भाषाएँ ईमेल डिलीवर होने पर सही ढंग से नहीं दिखतीं। हालांकि, MIME SMTP की ASCII कैरेक्टर सपोर्ट को विस्तारित करता है ताकि अन्य कैरेक्टर सेट, छवियाँ और ध्वनि वाले ईमेल भेजे और प्रदर्शित किए जा सकें। सामान्यतः, सभी ईमेल क्लाइंट और SMTP सर्वर MIME फ़ॉर्मेट के संदेशों को सही ढंग से मैप करते हैं।
MIME हेडर को समझना
MIME हेडर प्रोटोकॉल के बारे में जानकारी रखते हैं।
MIME-Version
यह दर्शाता है कि संदेश MIME-फ़ॉर्मेटेड है। यह इस प्रकार दिखाई देता है:
MIME-Version: 1.0
Content-Type
यह संदेश की कंटेंट टाइप दर्शाता है, जो टाइप और सबटाइप जोड़ी के रूप में दिया जाता है: उदाहरण के लिए text/plain, text/html। multipart कंटेंट टाइप में टेक्स्ट, HTML, अटैचमेंट, इमेज, ऑडियो, वीडियो आदि शामिल हो सकते हैं।
Content-Type: multipart
Content-Transfer-Encoding
यह दर्शाता है कि कंटेंट-टाइप द्वारा निर्दिष्ट एन्कोडिंग के ऊपर क्या कोई बाइनरी-टू-टेक्स्ट एन्कोडिंग स्कीम उपयोग की गई है। यदि हाँ, तो बताता है कौन सा उपयोग हुआ। हम यहाँ 7-bit, 8-bit और बाइनरी कोडिंग प्रकार निर्दिष्ट कर सकते हैं।
Encoded-Word
SMTP संदेश हेडर सामान्यतः ASCII कैरेक्टर का उपयोग करते हैं। गैर-ASCII कैरेक्टर को लिटरल स्ट्रिंग के बजाय MIME एन्कोडेड वर्ड सिंटैक्स का प्रयोग करना चाहिए। फ़ॉर्मेट है:
"=? charset ? encoding ? encoded text ?=".
Multipart- संदेश
एक MIME multipart संदेश में कंटेंट-टाइप हेडर में एक बाउंड्री होती है। यह बाउंड्री, जो किसी भी भाग में नहीं होनी चाहिए, भागों के बीच और संदेश के बॉडी की शुरुआत और अंत में रखी जाती है, इस प्रकार:
MIME-संस्करण: 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 मानक विभिन्न multipart-message सबटाइप्स को परिभाषित करता है। सबटाइप संपूर्ण संदेश के "Content-Type" हेडर में निर्दिष्ट किया जाता है।
नीचे सबसे सामान्यतः उपयोग किए जाने वाले सबटाइप्स की सूची दी गई है।
- Mixed: Multipart/mixed विभिन्न "Content-Type" हेडर वाली फाइलें इनलाइन भेजने के लिए उपयोग किया जाता है। यदि चित्र या अन्य आसानी से पढ़ी जा सकने वाली फाइलें भेजी जाएँ, तो अधिकांश मेल क्लाइंट उन्हें इनलाइन प्रदर्शित करेंगे।
- Message: एक संदेश भाग में एक ईमेल संदेश शामिल होता है।
- Digest: डाइजेस्ट कई टेक्स्ट संदेश भेजने का एक सरल तरीका है। प्रत्येक भाग का डिफ़ॉल्ट कंटेंट-टाइप "message/rfc822" है।
- Alternative: वैकल्पिक सबटाइप दर्शाता है कि प्रत्येक भाग समान (या समान) सामग्री का "वैकल्पिक" संस्करण है, प्रत्येक अलग फ़ॉर्मेट में जो उसके "Content-Type" हेडर द्वारा दर्शाया गया है।
सबसे आम तौर पर multipart/alternative ईमेल के दो भागों के साथ उपयोग किया जाता है, एक सादा टेक्स्ट (text/plain) और एक HTML (text/html)। सादा टेक्स्ट भाग पिछली संगतता प्रदान करता है जबकि HTML भाग फ़ॉर्मेटिंग और हाइपरलिंक का उपयोग करने की अनुमति देता है। अधिकांश ईमेल क्लाइंट उपयोगकर्ताओं को HTML की बजाय सादा टेक्स्ट को प्राथमिकता देने का विकल्प देते हैं; यह दर्शाता है कि स्थानीय कारक कैसे तय कर सकते हैं कि एप्लिकेशन संदेश के "सर्वोत्तम" भाग को कैसे प्रदर्शित करे।