Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 14:

Протоколы электронной почты: SMTP, POP, IMAP

Окончание соединения

После того как сообщение будет успешно передано, клиент заканчивает соединение. Эта фаза имеет два шага ( рис. 14.8.).

Окончание соединения

Рис. 14.8. Окончание соединения
  1. Клиент посылает команду QUIT.
  2. Сервер отвечает кодом 221 или соответствующим другим кодом.
  3. После фазы окончания соединения TCP-соединение должно быть завершено.

Многоцелевое расширение интернет-почты

Многоцелевое расширение интернет-почты (Multipurpose Internet Mail Extensions – MIME) улучшает возможности протокола SMTP [33, 34, 35, 38, 39, 40]. Этот протокол может посылать в терминалы только 7-битовые форматы в коде ASCII. Другими словами, он имеет ограничения. Например, не могут быть использованы языки, которые не поддерживают 7-битовые символы (французский, немецкий, иврит, русский, китайский, японский). Также нельзя использовать его для посылки двоичных файлов или посылки видео- или аудиоинформации.

Многоцелевое расширение интернет-почты (MIME) — дополняющий протокол, позволяющий передавать сообщения, используя SMTP-данные, которые не имеют вид ASCII. MIME — не почтовый протокол и не отменяет SMTP; он только его расширяет.

MIME преобразовывает данные, отличающиеся от ASCII, к виду ASCII и доставляет их клиенту SMTP через Интернет. Сервер SMTP на приемной стороне получает данные в виде ASCII и доставляет к MIME, чтобы преобразовать данные в первоначальный вид.

Можно упрощенно сказать, что MIME — это набор программного обеспечения, который преобразует данные, не представленные в ASCII, в данные ASCII и, соответственно, наоборот.

MIME определяет пять заголовков, которые могут быть дополнены к исходной секции заголовков SMTP для определения параметров преобразования:

  • MIME – Version (MIME – Версия).
  • Content – Type (Содержание – Тип).
  • Content — Transfer – Encoding (Содержание – Передача – Кодирование).
  • Content – Id (Содержание – Идентификатор).
  • Content – Description (Содержание — Описание).

Рисунок 14.9. показывает исходный заголовок и расширенный заголовок. Рассмотрим их более детально.

Заголовок MIME

Рис. 14.9. Заголовок MIME

MIME – Version

В заголовке определяется используемая версия многоцелевого расширения. Если текущая версия 1.1, то:

MIME – Version 1.1

Content – Type

Этот заголовок определяет тип данных в используемом информационном блоке сообщения. Тип содержания и подтип содержания разделяется наклонной чертой ("слеш"). В зависимости от подтипа, заголовок может содержать другие параметры.

Content – Type: <type/subtype; parameters>

MIME позволяет семь различных типов данных. Они перечислены в таблице 14.3 и рассмотрены ниже более детально.

Таблица 14.3. Типы и подтипы MIME
Тип Подтип Описание
Текст Обычный Неформатированный текст
Из многих частей Смешанный Информационный блок содержит упорядоченные различные типы данных
Параллельный То же самое, что выше, но неупорядоченное
Обзорный Похожий на смешанный, но по умолчанию /RFC822*
Альтернативный Часть различных версий в одинаковом сообщении
Сообщение RFC822 Информационный блок включает в себя сообщение
Частичный Информационный – это фрагмент большого сообщения
Внешний блок Информационный блок является только ссылкой на другое сообщение
Изображение JPEG Изображение в формате JPEG
GIF Изображение в формате GIF
Видео MPEG Видео в MPEG-формате
Аудио Базовое Одиночный канал кодированной речи на 8 кГц
Прикладной текст PostScript Язык описаний страниц, разработанный фирмой Adobe Systems
Поток октетов Двоичные данные общего вида (восьмибитовые байты)
  • Текст. Исходное сообщение в 7-битовом формате ASCII и не нуждающееся в MIME-преобразовании. Имеется только один подтип, в настоящее время используется тип: обычный.
  • Из многих частей. Содержания блока информации многообразное и состоит из независимых частей. Заголовок из многих частей необходим, чтобы определить границу между каждой частью. Граница используется как параметр. Это символ строки, который повторяется перед каждой частью на отдельной линии и имеет предшествующие символы — два дефиса.

    В этом типе определены четыре подтипа: смешанный, параллельный, обзорный и альтернативный. В смешанном подтипе части должны быть представлены получателю в точном порядке, как в сообщении. Каждая часть имеет различный тип и определенную границу. Параллельный подтип похож на смешанный подтип, за исключением того, что порядок частей не имеет значения. Обзорный подтип также похож на смешанный подтип, за исключением того, что, по умолчанию, задается тип/подтип сообщений, как это будет определено ниже. В альтернативном подтипе одно и то же сообщение повторяет использование одних и тех же форматов. Следующий пример сообщения использует из многих частей смешанный подтип:

    Content-Type: multipart/mixed; boundary=xxxx
    —xxxx
    Content-Type: text/plain;
    ........................................................
    —xxxx
    Content-Type: image/gif;
    ........................................................
    —xxxx
  • Сообщение. В типе "сообщение" информационный блок содержит непосредственное почтовое сообщение, его часть или указатель на сообщение.

    Используют три подтипа: RFC822, частичный и внешний информационный блок. Подтип RFC822 применяется, если информационный блок включается в другое сообщение (в том числе заголовок и информационный блок). Подтип частичный нужен, если исходное сообщение фрагментировано в различные почтовые сообщения и это почтовое сообщение — одна из частей. Фрагменты должны быть собраны заново с помощью MIME. При этом должны быть дополнены три параметра: id (идентификатор), number (номер), total (всего). Введение id идентифицирует все сообщение, он представлен во всех фрагментах. Номер определяет последовательный порядок фрагментов. "Всего" определяет число фрагментов, составляющих исходное сообщение. Вот пример сообщения с тремя фрагментами:

    Content-Type: message/partial;
    Id="berlin.sut.ru";
    Number=1;
    Total=3;
    ........................................................
    ........................................................

    Подтип "внешний информационный блок" показывает, что информационный блок не содержит непосредственно сообщения, а только ссылку (указатель) на исходное сообщение. Ниже дан пример:

    Content-Type: message/partial;
    Name=book";
    site=sut.ru;
    access-type="ftp";
    ........................................................
    ........................................................
  • Изображение. Исходное сообщение "неподвижное изображение" указывает, что это не анимация. Применяется два подтипа: Joint Photographic Experts Group (JPEG), который использует сжатие изображения, и Graphics Interchange Format (GIF).
  • Видео. Исходное сообщение "изображение, изменяющееся по времени (анимация)" имеет только один тип — Motion Picture Experts Group (MPEG). Если анимационное изображение содержит звук, он должен быть послан отдельно с использованием типа "содержание аудио".
  • Приложение. Исходное сообщение "тип данных" предварительно не определяется. Имеется только два подтипа: поток октетов и PostScript. Поток октетов применяют, когда данные не могут быть интерпретированы как последовательность 8-битовых байтов (двоичный файл). PostScript нужен, когда данные в формате Adobe Post Script.
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989