1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> Умный дом >> Умная жизнь

Как декодировать электронное письмо в формате MIME

Большинство электронных писем, отправляемых сегодня, имеют формат MIME (многоцелевые расширения почты Интернета). Это позволяет отправлять электронные письма с версиями обычного текста и расширенного текста/HTML, встроенными изображениями и вложениями. Расширения MIME могут быть добавлены к сообщению в стандартном формате RFC/822, что обеспечивает обратную совместимость со старыми почтовыми системами.

Шаг 1

Загрузите содержимое сообщения электронной почты.

Шаг 2

Проверьте заголовок «Content-Type». Если тип содержимого составной (например, «составной/смешанный», «составной/альтернативный» и т. д.), сообщение будет состоять из нескольких разделов для анализа. Если тип содержимого составной, выполните следующие шаги.

Шаг 3

Заголовок Content-Type должен содержать уникальную строку, используемую кодом, сгенерировавшим сообщение MIME, для обозначения границ частей MIME. Пример:

Content-Type:составной/смешанный; граница="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"

Строка границы в этом случае — "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".

Шаг 4

Каждая часть MIME будет разделена граничной строкой, которой предшествуют два дефиса ("--") на пустой строке. Вам нужно будет сканировать сообщение строка за строкой в ​​поисках границ частей. Весь текст между границами кроме последнего CR/LF является частью этой части MIME.

Важно! Последняя часть MIME будет заканчиваться граничной строкой, за которой следуют еще два дефиса.

Пример:

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Первая часть MIME.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Вторая часть MIME

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Последняя часть MIME.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--

Шаг 5

Каждая часть MIME затем должна быть проанализирована. Формат каждой части MIME подобен исходному сообщению в формате RFC/822. Он будет содержать ряд заголовков, за которыми следует пустая строка, а затем данные тела.

Шаг 6

Часть MIME сама по себе может быть составной, с собственным заголовком «Content-Type» и граничной строкой. Ваш код должен рекурсивно анализировать части MIME, пока не достигнет дочерних узлов.

Шаг 7

Часть MIME может быть просто двоичным вложением. В этом случае обычно предоставляется заголовок имени файла вместе с кодировкой передачи. BASE64 — популярный тип кодирования. В этом случае все тело части MIME должно быть декодировано BASE64. В качестве примера вот первые несколько строк прикрепленного изображения JPG:

------= NextPart_003_01C755EF.43F2628D Content-Type:image/jpeg; name="testimage.jpg" Content-Transfer-Encoding:base64 Content-Description:testimage.jpg Content-Disposition:вложение; имя_файла="testimage.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAQABQQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA

Шаг 8

HTML-текст сообщения должен находиться в разделе MIME с ContentType:Text/Html внутри раздела ContentType:Multipart/Alternative MIME.

Шаг 9

Основной текст сообщения должен находиться в разделе MIME с ContentType:Text/plain внутри раздела ContentType:Multipart/Alternative MIME.

Совет

См. RFC 822 http://www.ietf.org/rfc/rfc0822.txt?number=822 и RFC 1341 http://www.ietf.org/rfc/rfc1341.txt?number=1341 для получения дополнительной информации. Если вы программируете на C#, отличная бесплатная библиотека доступна по адресу http://www.codeproject.com/csharp/mime_project.asp.


  1. Как отформатировать Straight Talk по электронной почте
  2. Как прикрепить файл к электронному письму
  3. Как пользоваться электронной почтой
  4. Как создать учетную запись электронной почты
  5. Как удалить историю электронной почты