Для початківців користувачів Інтернету.
Жорсткий SMM: Вичавити з соцмереж максимум
2.5. Специфікація MIME (Multipurpose Internet Mail Extension)
У певному сенсі стандарт MIME ортогонален стандарту RFC822. Якщо останній докладно описує в заголовку поштового повідомлення текстове тіло листи і механізм його розсилки, то MIME, головним чином, зорієнтований на опис в заголовку листа структури тіла поштового повідомлення і можливості складання листа з інформаційних одиниць різних типів.
У стандарті зарезервовано кілька способів подання різнорідної інформації. Для цієї мети використовуються спеціальні поля заголовка поштового повідомлення:
- поле версії MIME, яке використовується для ідентифікації повідомлення, підготовленого в новому стандарті;
- поле опису типу інформації в тексті листа, яке дозволяє забезпечити правильну інтерпретації даних;
- поле типу кодування інформації в тексті листа, що вказує на тип процедури декодування;
- два додаткових поля, зарезервованих для більш детального опису тіла повідомлення.
Стандарт MIME розроблений як розширюється специфікація, в якій мається на увазі, що число типів даних буде рости в міру розвитку форм представлення даних. При цьому слід враховувати, що анархія типів (безмежне їх збільшення) теж не припустима. Кожен новий тип в обов'язковому порядку повинен бути зареєстрований в IANA (Internet Assigned Numbers Authority). Зупинимося докладніше на формі і призначення полів, обумовлених стандартом.
Поле версії MIME (MIME-Version)
Поле версії вказується в заголовку поштового повідомлення і дозволяє визначити програму розсилки пошти, що повідомлення підготовлено в стандарті MIME. Формат поля виглядає як:
Поле версії вказується в загальному заголовку поштового повідомлення і відноситься до всього повідомленням цілком. Тут доречно зазначити, що на відміну від стандарту RFC822, стандарт MIME дозволяє перемішувати поля заголовка повідомлення з тілом повідомлення. Тому все поля діляться на два класи: загальні поля заголовка, які записуються на початку поштового повідомлення і приватні поля заголовка, які відносяться тільки до окремих частин складеного повідомлення і записуються перед ними.
Поле типу змісту тіла поштового повідомлення (Content-Type)
Зупинимося докладніше на кожному з типів, дозволених стандартом MIME.
"Richtext" визначає текст з вбудованими в нього спеціальними керуючими послідовностями, які відповідно до стандарту мови розмітки документів SGML називаються тегами. Таги вдають із себе послідовність символів типу "<строка-символов>"." Рядок-символів "визначає котра управляє вплив. Таги діляться на таги початку елемента тексту ("<.>") І теги кінця елемента тексту (""). Як приклад такої розмітки можна навести такий фрагмент тексту:
У цьому фрагменті
"Multipart". Цей тип змісту тіла поштового повідомлення визначає змішаний документ. Змішаний документ може складатися з фрагментів даних різного типу. Даний тип має ряд підтипів.
Підтип "mixed" - задає повідомлення, що складається з декількох фрагментів, які розділені між собою кордоном, що задається як параметр підтипу. Наведемо простий приклад:
Підтип "digest" призначений для багатоцільового поштового повідомлення, коли різним частинам хочуть приписати більш детальну інформацію, ніж просто тип:
Наведений приклад показує як можна скористатися підтипом "digest" для розсилки пошти різним користувачам і по-різному приводу, використовуючи поля "From:" і "Subject" в якості приватних заголовків.
Тип "message". Даний тип призначений для роботи зі звичайними поштовими повідомленнями, які проте не можуть бути передані поштою по різного роду причин. Ці причини пояснюються підтипами даного типу.
Підтип "partial" призначений для передачі одного великого повідомлення по частинам для подальшої автоматичної збірки у одержувача. Наведемо приклад передачі аудіо повідомлення розбитого на частини:
Атрибути підтипу визначають ідентифікатор повідомлення (id), номер порції (number) і загальне число порцій (total). Слід звернути увагу на те, що кожна частина має своє поле "Content-Type". Це означає, що всі повідомлення може складатися з частин різних типів.
Іншим підтипом є "External-Body", який дозволяє посилатися на зовнішні, щодо повідомлення, інформаційні джерела. Цей підтип схожий на гіпертекстове посилання на тип "text". Наведемо конкретний приклад:
Стандартним підтипом типу "message" є "rfc822". Даний підтип визначає повідомлення стандарту RFC822.
Типи опису нетекстової інформації. Таких типів є чотири:
Призначення даних типів зрозуміло з назви - позначення даних для подальшої обробки як даних в форматах, визначених підтипом.
Поле типу кодування поштового повідомлення (Content-Transfer-Encoding). Багато дані передаються по пошті в їх початковому вигляді. Це можуть бути 7bit символи, 8bit символи, 64base символи і т.п. Однак при роботі в різнорідних поштових середовищах необхідно визначити механізм їх подання в стандартному вигляді - US-ASCII. Для цього існують процедури кодування такого сорту даних. Найбільш широко застосовувана - uuencode. Для того, щоб при отриманні дані були б правильно розпаковані і введено в стандарт поле "Сontent-Transfer-Encoding". Синтаксис цього поля наступний:
Підводячи підсумки обговорення, ще раз слід зазначити, що стандарт MIME дозволяє розширити область застосування електронної пошти, забезпечити доступ до інших інформаційних ресурсів мережі в стандартних форматах.