Структура поштового повідомлення

Повідомлення електронної пошти зазвичай складається з двох частин:

заголовка (header), що містить службову інформацію, що управляє доставкою та обробкою повідомлення;

тіла (body), що містить безпосередньо призначене для користувача повідомлення: текст і прикріплені дані (графічні, звукові файли і т.п.).

Тема повідомлення

Поштове повідомлення - це простий текст в форматі ASCII. Тому заголовок повідомлення являє собою послідовність текстових рядків виду:

Стандартом поштових повідомлень передбачена велика кількість полів. Частина з них є обов'язковими, тобто без них неможливо здійснити правильну доставку повідомлень, а частина - необов'язковими. Нижче перераховані найбільш часто використовувані поля.

Message-ID - унікальний ідентифікатор повідомлення. Унікальність значення цього поля гарантується програмним забезпеченням вузла-відправника, тому воно генерується автоматично.

Date - поле "Дата". Містить дату відправки повідомлення. Значення поля встановлюється автоматично поштовим клієнтом при відправці повідомлення.

Subject - поле "Тема повідомлення". У цьому полі зазвичай вказується короткий опис (тема) повідомлення.

тіло повідомлення

Спочатку передбачалося, що поштові повідомлення можуть містити тільки текст в форматі ASCII. А оскільки можливість передачі нетекстової інформації не передбачалася, то протоколи передачі електронної пошти можуть некоректно обробляти такі повідомлення. У зв'язку з цим свого часу був розроблений спеціальний стандарт, що визначає принципи перетворення нетекстових даних на текстове подання. Цей стандарт отримав назву MIME (Multipurpose Internet Mail Extension, багатоцільове розширення пошти Інтернет).

MIME передбачає, що в тексті листа можуть передаватися такі види інформації:

текст - простий текст в форматі ASCII, а також текст у форматі RTF або HTML;

графічні зображення - файли у форматі JPEG і GIF;

дані в форматах різних додатків, наприклад, документи Microsoft Office, а також дані довільного формату (в тому числі, різні виконувані файли).

В одному поштовому повідомленні можуть бути передані дані різних типів. Такі повідомлення є структуру із загальним заголовком і декількома блоками всередині тіла, кожен з яких містить інформацію свого типу.

Це широко використовується при відправленні повідомлень з вкладеннями (attachments) - додатковими "прикріпленими" файлами, які можуть містити різнорідну інформацію. Наприклад, до текстового повідомлення можна прикріпити графічний файл c фотографією відправника.

Для забезпечення коректної передачі повідомлень c нетекстової даними в MIME передбачені два алгоритму перекодування, які здійснюють перетворення таких даних до тестового увазі:

алгоритм "Quoted-printable", призначений для заміни байтів, які не є ASCII-символами, на групу з трьох байт, що представляють собою тільки стандартні символи;

алгоритм "Base64", який здійснює перетворення трьох довільних байт в чотири ASCII-символу.

Для забезпечення коректної інтерпретації даних стандартом MIME в заголовок повідомлення вводяться додаткові спеціальні поля.

Content-type - поле "Тип вмісту". Відповідає за коректне визначення типу даних, що містяться в повідомленні заголовка повідомлення. Значення поля вказує на конкретний тип даних, або інформує про те, що тіло містить кілька різнотипних блоків.

Content-Transfer-Encoding - поле "Тип кодування вмісту". Визначає спосіб перетворення (перекодування) вихідних даних в текстовий вигляд.

Схожі статті