Иллюстрированный самоучитель по электронной почте

Спецификация MIME (Multipurpose Internet Mail Extension)

Поле типа кодирования почтового сообщения (Content-Transfer-Encoding). Многие данные передаются по почте в их исходном виде. Это могут быть 7bit символы, gbit символы, 64base символы и т.п. Однако при работе в разнородных почтовых средах необходимо определить механизм их представления в стандартном виде – US-ASCII. Для этого существуют процедуры кодирования такого сорта данных. Наиболее широко применяемая – uuencode. Для того, чтобы при получении данные были бы правильно распакованы и введено в стандарт поле "Content-Transfer-Encoding". Синтаксис этого поля следующий:

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

Каждая из альтернатив применяется в своем подходящем случае. Альтернативы "8bit", "Tbit", "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 <boldxitalic>richtext.</italicx/bold> <nlxnl>Isn't it <biggerxbigger>cool?
</biggerx/big-ger>
--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 позволяет расширить область применения электронной почты, обеспечить доступ к другим информационным ресурсам сети в стандартных форматах.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.