какие протоколы имеют отношение к электронной почте
Что такое протокол электронной почты
Многие пользователи, сталкиваясь с необходимостью настройки того или иного почтового клиента, задаются вопросом: «Что такое протокол электронной почты». Действительно, чтобы «заставить» такую программу нормально функционировать, а затем комфортно ею пользоваться, важно понимать, какой из доступных вариантов следует выбрать, и в чем его отличие от остальных. Именно о почтовых протоколах, принципе их работы и сфере применения, а также о некоторых других нюансах будет рассказано в этой статье.
Протоколы электронной почты
Всего существует три общепринятых стандарта, используемых для обмена электронными письмами (их отправки и получения) – это IMAP, POP3 и SMTP. Есть еще HTTP, который часто называют web-почтой, но прямого отношения к нашей сегодняшней теме он не имеет. Ниже рассмотрим подробнее каждый из протоколов, определив их характерные особенности и возможные различия, но прежде дадим определение самому термину.
Протокол электронной почты, если говорить максимально простым и понятным языком – это то, как именно осуществляется обмен электронной корреспонденцией, то есть, какой путь и с какими «остановками» проходит письмо от отправителя к получателю.
SMTP (Simple Mail Transfer Protocol)
Простой протокол передачи почты – именно так переводится и расшифровывается полное название SMTP. Этот стандарт широко используется для передачи электронной почты в сетях типа TCP/IP (конкретно для передачи исходящей почты используется порт TCP 25). Существует также его более «новая» разновидность – принятое в 2008 году расширение ESMTP (Extended SMTP), хотя от Simple Mail Transfer Protocol его сейчас не отделяют.
Протокол SMTP применяется почтовыми серверами и агентами как для отправки, так и для получения писем, а вот приложения-клиенты, ориентированные на рядовых пользователей, используют его только в одном направлении — отправка электронных писем на сервер для их последующей ретрансляции.
Большинство почтовых приложений, к числу которых относятся общеизвестные Mozilla Thunderbird, The Bat!, Microsoft Outlook, для получения писем используют либо POP, либо IMAP, о которых пойдет речь далее. При этом клиент от Майкрософт (Аутлук) для получения доступа к пользовательской учетной записи на собственном сервере может задействовать проприетарный протокол, но это уже выходит за рамки нашей темы.
POP3 (Post Office Protocol Version 3)
Протокол почтового отделения третьей версии (перевод с англ.) – это стандарт прикладного уровня, который используется специализированными программами-клиентами для получения электронной корреспонденции с удаленного сервера посредством того же типа соединения, что и в случае с SMTP – TCP/IP. Непосредственно в своей работе POP3 задействует порт под номером 110, однако в случае с SSL/TLS-соединением используется 995.
Как уже было сказано выше, именно этот почтовый протокол (как и следующий представитель нашего списка) наиболее часто применяется для непосредственного извлечения почты. Не в последнюю очередь это обосновано тем фактом, что POP3, наряду с IMAP, не только поддерживается большинством специализированных программ-почтовиков, но и используется лидирующими поставщиками соответствующих услуг – Gmail, Yahoo!, Hotmail и т.д.
Примечание: Стандартом в сфере является именно третья версия данного протокола. Предшествующие ей первая и вторая (POP, POP2 соответственно) на сегодняшний день считаются морально устаревшими.
IMAP (Internet Message Access Protocol)
Это – протокол прикладного уровня, используемый для доступа к электронной корреспонденции. Как и рассмотренные нами выше стандарты, IMAP основан на транспортном протоколе TCP, а для выполнения возлагаемых на него задач используется порт 143 (или 993 для соединений типа SSL/TLS).
Собственно, именно Internet Message Access Protocol предоставляет наиболее широкие возможности по работе с письмами и непосредственно почтовыми ящиками, размещенными на центральном сервере. Приложение-клиент, использующее для своей работы данный протокол, имеет полный доступ к электронной корреспонденции так, как будто она хранится не на сервере, а на компьютере пользователя.
IMAP позволяет выполнять все необходимые действия с письмами и ящиком (ящиками) непосредственно на ПК без необходимости постоянной отправки на сервер прикрепленных файлов и текстового содержимого и обратного их получения. Рассмотренный выше POP3, как мы уже обозначили, работает несколько иначе, «подтягивая» необходимые данные при подключении.
Как было сказано в самом начале статьи, HTTP – это протокол, который не предназначен для связи по электронной почте. При этом он может использоваться для доступа к почтовому ящику, составления (но не отправки) и получения электронных писем. То есть он выполняет лишь часть функций, характерных для рассмотренных выше почтовых стандартов. И все же, даже при этом его нередко называют веб-почтой. Возможно, определенную роль в этом сыграл некогда популярный сервис Hotmail, в котором используется именно HTTP.
Выбор протокола электронной почты
Итак, ознакомившись с тем, что представляет собой каждый из существующих почтовых протоколов, мы можем смело переходить к непосредственному выбору наиболее подходящего. HTTP, в силу обозначенных выше причин, интереса в данном контексте не представляет, а SMTP ориентирован на решение задач, отличных от тех, которые выдвигает перед собой рядовой пользователь. Следовательно, когда речь заходит о настройке и обеспечении корректной работы почтового клиента, выбирать следует между POP3 и IMAP.
Internet Message Access Protocol (IMAP)
В том случае, если вы желаете иметь оперативный доступ ко всей, даже не самой актуальной электронной корреспонденции, настоятельно рекомендуем остановить свой выбор на IMAP. К достоинствам данного протокола можно причислить налаженную синхронизацию, позволяющую работать с почтой на разных устройствах – как одновременно, так и в порядке очереди, благодаря чему необходимые письма всегда будут под рукой. Основной же недостаток Internet Message Access Protocol вытекает из особенностей его функционирования и заключается в сравнительно быстром заполнении дискового пространства.
Есть у IMAP и другие, не менее важные достоинства – он позволяет упорядочивать письма в программе-почтовике в иерархическом порядке, создавать отдельные директории и помещать сообщения туда, то есть выполнять их сортировку. Благодаря этому можно довольно легко организовать эффективную и комфортную работу с электронной корреспонденцией. Однако из столь полезной функции вытекает еще один недостаток – наряду с потреблением свободного места на диске, оказывается повышенная нагрузка на процессор и оперативную память. К счастью, это заметно только в процессе синхронизации, причем исключительно на маломощных устройствах.
Post Office Protocol 3 (POP3)
POP3 подойдет для настройки почтового клиента в том случае, если для вас первостепенную роль играет наличие свободного места на сервере (накопителе) и высокая скорость работы. При этом важно понимать следующее: останавливая свой выбор на этом протоколе, вы отказываете себе в синхронизации между устройствами. То есть, если вы получили, например, три письма на устройство №1 и отметили их как прочитанные, то на устройстве №2, тоже работающем по Post Office Protocol 3, они не будут отмечены таковыми.
Достоинства POP3 состоят не только в экономии дискового пространства, но и в отсутствии хотя бы мало-мальски заметной нагрузки на ЦПУ и ОЗУ. Данный протокол, независимо от качества интернет-соединения, позволяет загружать электронные письма целиком, то есть со всем текстовым содержимым и вложениями. Да, это происходит только при подключении, но вот более функциональный IMAP, при условии ограниченного трафика или низкой скорости, загрузит сообщения лишь частично, а то и вовсе покажет только их заголовки, а большую часть содержимого оставит на сервере «до лучших времен».
Заключение
В этой статье мы постарались дать максимально развернутый и понятный ответ на вопрос, что же такое протокол электронной почты. Несмотря на то, что всего их существует четыре, интерес для рядового пользователя представляют лишь два – IMAP и POP3. Первый заинтересует тех, кто привык пользоваться почтой с разных устройств, иметь быстрый доступ абсолютно ко всем (или необходимым) письмам, упорядочивать их и организовывать. Второй же является более узконаправленным – значительно более быстрым в работе, но не позволяющим организовывать ее сразу на нескольких устройствах.
Помимо этой статьи, на сайте еще 12398 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Протоколы Интернета и электронной почты
После обсуждения базовых протоколов мы можем подняться на более высокий уровень. Протоколы HTTP и FTP охватывают уровни 5—7 модели OSI.
FTP — File Transfer Protocol
FTP используется для копирования файлов с сервера и на сервер, а также для получения списка файлов и каталогов на сервере. FTP — это протокол прикладного уровня, базирующийся на TCP. Команды FTP включаются в блок данных TCP-сообщения.
Модель приложения с FTP-сервером и клиентом проиллюстрирована на следующем рисунке. Приложение-клиент представляет пользовательский интерфейс и создает FTP-запрос в соответствии с запросом пользователя и спецификацией FTP. FTP-команда посылается приложению-серверу через TCP/IP, и интерпретатор на сервере соответственно интерпретирует FTP-команду. В зависимости от FTP-команды в FTP-ответе клиенту возвращается с сервера список файлов или конкретный файл:
Протокол FTP имеет следующие характеристики:
Надежная передача данных через TCP
Анонимный доступ или аутентификация пользователя по имени и паролю
Файлы отправляются в ASCII-коде в форме, поддерживаемой целевой платформой, или как неизмененные двоичные данные.
FTP-команды можно сгруппировать в следующие категории:
Команды контроля доступа
В FTP-командах контроля доступа указывается имя пользователя (USER) и пароль (PASS), установки могут изменяться (REIN), и соединение может быть закончено (QUIT).
Команды параметров передачи
FTP-передачу можно конфигурировать с помощью команд параметров передачи. Эти команды поддерживают изменение ASCII-кода на двоичный код, сжатие данных, изменение портов для отправки.
Команды FTP-сервиса
Копирование файлов с сервера (RETR), копирование файлов на сервер (STOR), удаление файлов (DELE), переименование файлов (RNTO), создание каталогов (MKD) и запрос списка файлов (LIST) — вот некоторые команды FTP-сервиса.
Протокол FTP определен в RFC 959.
FTP-клиенты
Установка имени пользователя anonymous означает пользователя-гостя. Ответ 230 от сервера указывает, что соединение установлено и можно командой dir получить список файлов на сервере. Получив команду dir, программа ftp отправляет на сервер команду FTP LIST. Команда cd может применяться для смены директории на сервере, а команда get копирует файл клиенту, отправляя команду FTP RETR. Для закрытия соединения утилита ftp использует команду bye:
HTTP — Hypertext Transfer Protocol
HTTP — основной протокол, используемый Web-приложениями. Как и FTP, HTTP является надежным протоколом, и надежность его достигается благодаря использованию TCP. Как и FTP, HTTP также используется для передачи файлов через сеть. Но он в отличие от FTP обладает такими средствами, как кэширование, идентификация приложения-клиента, поддержка разных дополнений в формате MIME и т. д. Эти средства устанавливаются в заголовке HTTP.
Для демонстрации работы, выполняемой браузером Интернета, когда он запрашивает файлы из Web-сервера, мы можем имитировать браузер приложением telnet. Для запуска этого приложения введите telnet в диалоговом окне Run меню Start, и вы увидите приглашение Microsoft Telnet. Введите set local_echo (set localecho для Windows XP), чтобы введенные программы отображались локально. Если не устанавливать эту опцию, команды, которые мы отправляем на сервер, не будут отображаться приложением telnet.
Теперь можно соединиться с Web-cepвeром командой open. Команда open msdn.microsoft.com 80 создает TCP-соединение с портом 80 сервера на msdn.microsoft.com. Приложение telnet использует по умолчанию порт 23, следовательно, надо указать порт для HTTP-запроса. По умолчанию HTTP-сервисы предоставляются портом 80 Web-сервера.
Как только соединение инициировано, можно послать на Web-cepвep HTTP-запрос. Простой запрос состоит из строки запроса, которую нужно завершить двумя нажатиями на клавишу Enter (две последовательности CR-LF). Такая строка запроса может выглядеть, как: GET /default.asp HTTP/1.0. Сервер возвращает HTTP-ответ, содержащий информацию о статусе.
Как видно, элементарный HTTP-запрос состоит лишь из одной строки. Однако полный HTTP-запрос будет состоять из строки запроса с дополнительными заголовками и данными.
В строке запроса можно указывать такие HTTP-команды, как GET, HEAD и POST. И GET, и POST запрашивают данные от сервера. Команда GET включает параметры запроса в URL, а в команде POST параметры находятся в блоке данных. Команда HEAD означает, что мы просто хотим узнать, когда был изменен запрашиваемый файл, чтобы проверить, находится ли в кэше новейшая его версия.
За строкой запроса могут следовать общие заголовки, заголовки запроса и заголовок сущности. Информация, помещаемая в заголовки, позволяет клиенту сообщать серверу об используемом браузере и предпочтительных языках, отправлять файл cookie или запрашивать только изменившиеся файлы. В примере с telnet мы уже видели некоторую информацию из заголовков, возвращенную сервером: дату, версию сервера, длину содержания, тип содержания и признаки управления кэшем.
HTTPS — HTTP поверх SSL (Secure Socket Layer)
Для поддержки HTTPS Web-сервер должен установить сертификат, чтобы его можно было идентифицировать. По умолчанию для HTTPS-запросов используется порт 443.
SMTP — Simple Mail Transfer Protocol
SMTP — это протокол, предназначенный для отправки и получения сообщений электронной почты. Он может использоваться для пересылки электронной почты между клиентом и сервером, использующими один и тот же транспортный протокол, или для пересылки сообщений между серверами, использующими разные транспортные протоколы. SMTP имеет возможность пересылать сообщения через среду транспортной службы. Однако SMTP не позволяет читать сообщения с почтового сервера, для этого используются протоколы POP3 и IMAP.
Служба SMTP составляет часть установки Internet Information Server в Windows 2000 и Windows XP.
Стандарт протокола SMTP определен в RFC 821; формат сообщений SMTP определен в RFC 822.
POP3 — Post Office Protocol
Протокол POP3 предназначался для отсоединенной среды. В небольших конфигурациях непрактично поддерживать постоянное соединение с почтовым сервером, например в такой среде, где время соединения нужно оплачивать. При использовании POP3 клиент может обращаться к серверу и извлекать сообщения, которые хранит для него сервер. Когда сообщения считываются клиентом, они обычно (но необязательно) удаляются с сервера.
IMAP — Internet Message Access Protocol
Как и РОРЗ, протокол IMAP предназначен для доступа к почте на почтовом сервере. Аналогично клиентам POP3 клиент IMAP может работать в автономном режиме, в котором почта обрабатывается на локальной машине. По сравнению с клиентами POP3 клиенты IMAP обладают более широкими возможностями в оперативном режиме, например, они могут извлекать только заголовки или только основные части указанных почтовых сообщений, искать конкретные сообщения на сервере и устанавливать флаги, например флаг «ответ отправлен». По существу, IMAP позволяет клиенту обрабатывать удаленный почтовый ящик, как если бы он был локальным.
Протокол IMAP определен в RFC 1730.
NNTP — Network News Transfer Protocol
Протокол NNTP определен в RFC 850, 977 и 1036.
ТОП-5 бесплатных почтовых сервисов + ликбез по протоколам
Даже с появлением множества мессенджеров, мы все равно зависим от электронной почты. И, к сожалению, далеко не все почтовые сервисы бесплатные (а среди бесплатных много не самых простых в использовании или с ограниченным функционалом).
Для доступа к электронной почте используется один из трех основных протоколов электронной почты: POP3, IMAP и SMTP.
Чтобы получить доступ к этой электронной почте, клиент взаимодействует с удаленным почтовым сервером (Microsoft Outlook, Mozilla Thunderbird и Apple Mail).
Особенность: совместная работа с файлами
Кому подойдет: всем, кто уже использует продукты Google.
Gmail универсален, по данным Litmus Labs, Gmail занимает второе место на рынке почтовых услуг (после родного приложения Apple iPhone).
Как и большинство других учетных записей электронной почты сегодня, Gmail также имеет понятный календарь, где вы можете назначать встречи и напоминания.
Большим преимуществом также считается возможность использовать аккаунт Gmail для входа в свою учетную запись YouTube, а также для совместной работы над общими документами и электронными таблицами прямо с облачного Google Диска.
15 ГБ бесплатного хранилища электронной почты, есть расширенные фильтры, которые автоматически помещают электронные письма в отдельные папки по мере их поступления. Весь этот функционал бесплатный.
Особенность: несколько приложений интеграции
Кому подойдет: людям, которые используют много разных платформ для связи с другими.
Тоже есть календарь и фильтр сообщений (аналогично Gmail), но Outlook также интегрируется с рядом других популярных коммуникационных приложений.
Вы можете подключить Skype, Facebook, PowerPoint, PayPal и даже Trello, что позволяет легко комуницировать с пользователями, не являющимися пользователями Outlook, и работать с ними, не покидая папки «Входящие».
Outlook предлагает 15 ГБ бесплатного хранилища для каждого пользователя и чистый интерфейс.
Особенность: 200 пользовательских доменных имен
Кому подойдет: малый бизнес, фрилансеры и самозанятые.
Mail.com не останавливается на достигнутом и тоже ввел календарь для создания и отслеживания ваших событий каждую неделю.
Особенность: медиа и история вложений
Кому подойдет: дизайнеры и те, кто часто отправляет и получает вложения по электронной почте.
Yahoo! Mail достаточно известная платформа, находится наряду с AOL за счет хранилища с огромным объемом 1 ТБ (это терабайт) и несколькими ключевыми интеграциями в социальных сетях.
Почта также позволяет легко находить все фотографии, видео и документы, которые вы когда-либо прикрепляли или получали по электронной почте, в их собственных вкладках на боковой панели вашего почтового ящика. Это делает платформу особенно привлекательной для тех, кто регулярно делится документами.
Особенность: неограниченное хранилище
Кому подойдет: люди, которые используют электронную почту для общения.
AOL американский медийный проект, специализируется на онлайн-сервисах с собственными поисковой системой, социальной сетью Bebo, а также интернет-пейджером AIM. Провайдер первого уровня. Штаб-квартира расположена в США.
Сейчас применяются три основных протокола:
Протокол почтового отделения версия 3 оптимален, когда есть только одна учетная запись электронной почты и почтовый клиент (поэтому требуется меньшая пропускная способность интернета), но если вы используете несколько устройств для отправки сообщений, то рекомендуется оставлять эту функцию включенной, в противном случае, на другом устройстве у вас не будет доступа к отправленным сообщениям, которые не были сохранены на удаленном сервере.
Также стоит отметить, что POP3 – протокол работающий только в одном направлении, это означает, что данные берутся с удаленного сервера и отправляются на локальный клиент.
Протокол доступа к электронной почте через Интернет также как и POP3 используется для получения сообщений электронной почты на локалку, однако, он имеет существенное отличие – загружаются только лишь заголовки электронных сообщений, сам текст письма остается на сервере.
IMAP4 считается последней версией, и, в отличие от протокола POP, вы не загружаете свою электронную почту в автономный почтовый клиент.
IMAP особенно полезен тем, кто имеет более одной учетной записи электронной почты и имеют доступ к ним с нескольких устройств или из разных мест.
Простой протокол передачи почты (SMTP), используется для связи с удаленным сервером и последующей отправке сообщений с локального клиента на удаленный сервер, и в конечном итоге на сервер получателя сообщений.
POP3 и IMAP используются для одинаковый целей, но подходят к выполнению этих задач по-разному. IMAP оставляет содержимое письма на сервере, а POP3 скачивает его на ваш компьютер.
Компьютерные технологии (архив 2012г. КГУ, Богомолов)
Электронная почта во многом похожа на обычную почтовую службу.
Отправка и получение почты
Текстовая (ASCII) информация может передаваться, как есть.
Сообщение состоит из:
конверта сообщения (информация для доставки и обработки сообщения)
тела сообщения (данные отправителя)
В простом случае конверт состоит только из заголовка, который отделен от тела пустой строкой.
From: // адрес отправителя
To:
// адрес получателя
Subject: С новым годом! // тема сообщения
Mime-Version: 1.0 // инициализация Mime
X-Mailer: mPOP Web-Mail 2.19 // тип и версия почтовой программы клиента
Date: Fri, 19 Sep 2003 08:37:43 +0400 // дата отправки сообщения
Reply-To: // адрес для ответа
Content-Type: text/plain; charset=koi8-r // тип и подтип MIME
Content-Transfer-Encoding: 8bit // идентификатор типа кодировки
Message-Id: // уникальный идентификатор сообщения
С новым годом Петя! //Тело сообщения
Пример простого сообщения
Пример заголовка сообщения с отправкой нескольким пользователям (поле Cc:)
Пример заголовка сообщения с прикрепленными файлами (FileName).
—BANNERBANK_280830843726477
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 8bit
Посылаю файл wget.tgz
—BANNERBANK_280830843726477
Content-Type: application/octet-stream; name=»wget.tgz»
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=»wget.tgz»
H4sICHc5pzYAA3dnZXQxNTMudGFyAOw8a1PbyLL7NfoVfSC1GAoZm+eGbLYg
PBJXwFDYSTZ1zqlkLI3tucga7WiE8X44v/1290iybCBx2GzOrbpxbYwlzXT3
9Lt7RjseSOs36zv1rY2f/q4PbDf2dnYA/+41t/fwL36am+6v+zQAdncbzZ3G
.
.
.
vUav0Wv0Gr1Gr9Fr9Hr61/8PvGbSyABoGgA=
Пример заголовка сообщения с прикрепленным файлом
Некоторые поля заголовка:
Основной недостаток протокола, это отсутствие аутентификации и «докачки» (как в FTP, HTTP) сообщений, т.е. если вы посылаете большое письмо (10Мбайт), то в случае разрыва соединения ваше сообщение придется передавать заново, и возможно так до бесконечности. Поэтому большие письма необходимо резать на части.
События работы SMTP протокола:
Клиент инициирует соединение с сервером
Клиент посылает запросы на обслуживание
Сервер отвечает на эти запросы
Модель протокола SMTP
Последовательность команд SMTP
Протокол SMTP оговаривает последовательность SMTP-команд
Некий Vasy абонент сервера kstu.ru, посылает письма трем абонентам сервера kazan.ru (Pety, Koly, Dima) одно письмо.
Рассмотрим листинг передачи сервера kstu.ru серверу kazan.ru:
R 220 kazan.ru Simple Mail Transfer Service Ready // код ответа 220 (соединение установлено), сервер kstu.ru, протокол SMTP
S HELO kstu.ru // Соединение установлено, «Я kstu.ru», идентификация производится по kstu.ru
R 250 kazan.ru // команда принята и обработана, идентификация прошла
S MAIL FROM: // Начало почтовой транзакции, обратный адрес Vasy@kstu.ru.
R 250 OK // Сервер согласен принять сообщение от Vasy@kstu.ru
S RCPT TO:
Некоторые команды SMTP
Обязательные команды (команды которые должны присутствовать всегда)
Синтаксис некоторых команд SMTP
Команды, MAIL, SEND, SOML и SAML, имеют одинаковый синтаксис:
(обратный адрес) указывает серверу, кому в случае ошибки отослать сообщение.
(CRLF) возврат каретки.
Примечание: Команды SEND, SOML и SAML дополнительны и используются довольно редко.
Синтаксис RCPT похож на синтаксис команды MAIL:
Некоторые коды ответов SMTP
Каждая цифра в коде ответа имеет определенный смысл. Первая цифра означает, было ли выполнение команды успешно (2), неуспешно (5) или еще не закончилось (3). Как указано в приложении Е документа RFC 821, простой SMTP-клиент может анализировать только первую цифру в ответе сервера, и на основании ее продолжать свои действия. Вторая и третья цифры кода ответа разъясняют значение первой. Если вы разрабатываете SMTP-приложение, обязательно изучите конструкцию всех кодов SMTP-ответа.
211 Ответ о состоянии системы или помощь
214 Сообщение-подсказка (помощь)
220 служба готова к работе
221 служба закрывает канал связи
250 Запрошенное действие почтовой транзакции успешно завершилось
251 Данный адресат не является местным; сообщение будет передано по маршруту
354 Начинай передачу сообщения. Сообщение заканчивается комбинацией CRLF-точка-CRLF
421 служба недоступна; соединение закрывается
450 Запрошенная команда почтовой транзакции не выполнена, так как почтовый ящик недоступен
451 Запрошенная команда не выполнена; произошла локальная ошибка при обработке сообщения
452 Запрошенная команда не выполнена; системе не хватило ресурсов
500 Синтаксическая ошибка в тексте команды; команда не опознана
501 Синтаксическая ошибка в аргументах или параметрах команды
502 Данная команда не реализована
503 Неверная последовательность команд
504 У данной команды не может быть аргументов
550 Запрошенная команда не выполнена, так как почтовый ящик недоступен
551 Данный адресат не является местным; попробуйте передать сообщение по маршруту
552 Запрошенная команда почтовой транзакции прервана; дисковое пространство, доступное системе, переполнилось
553 Запрошенная команда не выполнена; указано недопустимое имя почтового ящика
554 Транзакция не выполнена
Можно использовать промежуточные сервера для доставки почты получателю.
передадим сообщение от Vasy@ksu.ru через хосты @kstu.ru, @mail.ru получателю Koly@kazan.ru
сообщение передается хосту @kstu.ru
S MAIL FROM:
S RCPT TO:
сообщение передается хосту @mail.ru
S MAIL FROM:
S RCPT TO:
ообщение передается хосту kazan.ru
S MAIL FROM:
S RCPT TO:
При этом параметры To, From и Cc остаются без изменений.
Резервные почтовые серверы (relay)
В случае если основой сервер не доступен, почта может быть отправлена на резервный, который задается в записях MX (DNS). Резервный сервер хранит почту (клиент ее получить не может) до тех пор, пока не заработает основной сервер, как только основной заработает, резервный передает всю накопившеюся почту. Резервных серверов может быть достаточно много. Как правила несколько разных серверов являются резервными по отношению к друг другу.
Когда основной сервер не доступен, почта передается на резервный,
когда основной сервер становится доступен, резервный передает почту основному.
Отправка сообщения на SMTP с помощью Telnet
Отправим письмо через Telnet.
Клиенту необходимо ввести следующие строки:
HELO
MAIL FROM:
RCPT TO:
DATA
DATE: 27-Oct-2003 12:48:32
FROM: Влад Богомолов
SUBJECT: С новым годом!
To:
Подключение и отправка письма telnet’ом (UNIX) на сервер SMTP (Дионис)
Подключение и отправка письма telnet’ом (Windows) к серверу SMTP (Дионис)
Подключение и отправка письма telnet’ом (UNIX) к серверу SMTP-Sendmail 8.12.8 (UNIX)
Первый стандарт РОРЗ определен в RFC 1225 (Post Office Protocol-Version 3, J. Myers, M. Rose November 1994).
Последняя версия RFC1939 (J. Myers, M. Rose May 1996 )
Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет.
Модель протокола POP3
Модель протокола POP
Принцип работы POP
В протоколе РОРЗ оговорены три стадии процесса получения почты:
обновление (завершение транзакции)
После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается.
Ответ сервера может иметь два значения:
Если сервер содержит несколько строк, то последняя строка должна содержать «точку».
C: USER Pety // Пользователь сообщает свое имя, оно является идентификатором почтового ящика
S: +ОК // Сервер сообщает, что все в порядке
C: PASS Petypasw // Пользователь сообщает свой пароль
S: +ОК Pety’s maildrop has 2 messages (320 octets) // Сервер сообщает, в почтовом ящике Pety есть 2 сообщения
Пример неудачной авторизации:
Пример авторизации с цифровой подписью:
C: APOP Pety K3u7yG4TfR7gE55DD4ry6G4F // Имя и шифрованный пароль
S: +ОК Pety’s maildrop has 2 messages (320 octets)
После того как стадия авторизации окончена, обмен переходит на стадию транзакции. В следующих примерах демонстрируется возможный обмен сообщениями на этой стадии.
Команда STAT (просмотр ящика) возвращает количество сообщений и общее количество байтов в сообщениях:
C: STAT
S: +ОК 2 320 // 2 сообщения, общий размер 320 байт
Команда LIST (без параметра) возвращает список сообщений в почтовом ящике и их размеры:
Команда LIST с параметром (номер сообщения) возвращает информацию о заданном сообщении:
Команда TOP возвращает заголовок, пустую строку и первые n строк тела сообщения:
Команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:
Команда DELE отмечает сообщение, которое нужно удалить:
Команда RSET снимает метки удаления со всех отмеченных ранее сообщений:
C: RSET
S: +OK maildrop has 2 messages (320 octets) // в почтовом ящике 2 сообщения были на удаление
C: QUIT
S: +OK dewey POP3 server signing off
C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)
C: QUIT
S: +OK dewey POP3 server signing off (2 messages left)
Обратите внимание на то, что отмеченные для удаления сообщения на самом деле не удаляются до тех пор, пока не выдана команда QUIT и не началась стадия обновления. В любой момент в течение сеанса клиент имеет возможность выдать команду RSET, и все отмеченные для удаления сообщения будут восстановлены.
Происходит завершение транзакции. И удаление все помеченных сообщений.
Пример работы POP3
Просмотр сообщений на POP3 сервере с помощью Telnet
Получим письмо через Telnet.
Клиенту необходимо ввести следующие строки:
Подключение и получение письма telnet’ом (UNIX) с сервера POP (Дионис)
Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. Был разработан для замены POP3.
В отличии от POP3 позволяет клиенту манипулировать сообщениями на сервере.
IMAP, как стандарт, пока не принят, он остается «предложенным стандартом».
Принцип работы IMAP
Каждая команда клиента начинается с идентификатора или тега команды, состоящую из букв и цифр, (например, А0001,А0002 и т. д.). Тег является уникальным идентификатором данной команды клиента. Ответы сервера или следующие команды клиента могут ссылаться на данную команду по ее тегу.
Строки данных, передаваемые с сервера в ответ на команду клиента, могут не содержать тег, а содержать символ «*». Это означает, что они являются промежуточными строками потока данных ответа, а идентификатор их команды содержится в последней строке потока.
Взаимодействие клиента сервером не строится по принципу «запрос-ответ«. Клиент может отправить новую команду на сервера не дожидаясь ответа на предыдущую.
Некоторые команды IMAP
Аргументом команды является строка с идентификатором (именем) и паролем клиента:
S: * OK IMAP4 revl Service Ready
С: a001 login Vasy pasword // посылка имени и пароля
S: a001OK LOGIN completed // идентификация прошла успешно
Команда LOGIN передает пароль и идентификатор пользователя по сети в открытом виде. Если пользователю необходима защита информации своей почты, он может пользоваться командой AUTHENTICATE. Например, при использовании механизма шифрования KERBEROS, аутентификация выглядит следующим образом:
S: * OK KerberosV4 IMAP4revl Server
С: А001 AUTHENTICATE KERBEROS_V4
S: + AmFYig==
C: BAcAQrJ5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT
+nZIiriJjnTNHJUtxAA+oOKPKfHEcAFs9a3CL50ebe/ydHJUwYFd
WwuQlMWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKilQh
S: + or//EoAADZI=
C: DiAF5MgA+oOIALuBkAAmw==
S: A001 OK Kerberos V4 authentication successful
После регистрации в системе клиент должен выбрать каталог (папку) сообщений, с которым он будет работать. Выбор каталога осуществляется командой SELECT. Аргументом команды является имя почтового каталога:
Если пользователю необходимо получить информацию о состоянии какого-либо каталога, достаточно воспользоваться командой EXAMINE с именем каталога в качестве аргумента команды, например:
С: А932 EXAMINE bloop
S: * 17 EXISTS
.
Команда EXAMINE возвращает те же параметры, что и команда SELECT, а отличается от команды SELECT только тем, что открывает заданный почтовый ящик исключительно на чтение.
Если необходимо запросить статус какой-либо папки, не меняя текущий каталог, можно воспользоваться командой STATUS. В качестве параметров данной команде придаются: имя папки и тип запрашиваемой информации. В зависимости от указанного типа, команда может возвращать: количество сообщений в папке, количество новых сообщении количество непрочитанных сообщений, UIDVALIDITY каталога, UID следующего сообщения, которое будет добавлено в данную папку, например:
С: A042 STATUS blob (MESSAGES UNSEEN)
S: * STATUS blob (MESSAGES 231 UNSEEN 12)
S: A042 OK STATUS completed
С: А004 LIST «/» *
S: * LIST (\Noinferiors ) «/» INBOX
S: * LIST
Ответ сервера содержит список папок в соответствии с их положением в иерархии и флаги данных папок (флаг «\Noinferiors» означает, что внутри данной папки нет, и не может быть построена иерархия).
После получения информации на каталог, пользователь может прочитать любое сообщение или определенную группу сообщении, часть сообщения или определенные атрибуты сообщения. Для этого используется команда FETCH. Аргументами данной команды являются порядковый номер сообщения и критерии запроса. Критерии содержат описание вида возвращаемой информации. Например, можно запросить части заголовков или UID-сообщений в папке, или сообщения, имеющие или не имеющие определенные флаги. Так запрос заголовков сообщений, находящихся в INBOX с порядковыми номерами от 10 до 12, будет выглядеть так:
После просмотра сообщения, пользователь может сохранить его с другими флагами, добавить или удалить флаги сообщения ( пометить данное сообщение на удаление). Для этого используется команда STORE. Аргументами команды являются: номера сообщений, идентификатор операции и перечень флагов. Например, операция добавления флага удаления («\Dеleted») трем сообщениям выглядит следующим образом:
С: АОО3 SТОRЕ 2:4 +FLAGS (\DELETED)
S: * 2 FETCH FLAGS (\Deleted \ Seen)
S: * 3 FETCH FLAGS (\Deleted )
S: * 4 FETCH FLAGS (\Deleted \Flagged \Seen)
S: A003 OK STORE completed
Ответом на выполнение команды будут переданы строки новых флагов указанных сообщений.
Пользователь также может организовать поиск сообщений по определенным критериям. Для этого используется команда SEARCH. Например, поиск всех непрочитанных сообщений, поступивших от «smith» с 1-03-96 будет выглядеть так:
C: A282 SEARCH UNSEEN FROM ‘Smith» SINCE 1-Mar-1996
S: * SEARCH 2 84 882
S: A282 OK SEARCH completed
Результатом поиска будут сообщения с последовательными номерами 2, 84 и 882.
IMAP4 позволяет не только искать и читать сообщения в каталогах, этот протокол позволяет добавлять, копировать и перемещать сообщения в каталоги. Добавление сообщения в папку можно осуществить командой APPEND:
Команда COPY копирует сообщения с заданными порядковыми номерами в указанный каталог, например:
C: A003 COPY 2:4 MEETENG
S: A003 OK COPY completed
Пример работы IMAP4
Просмотр сообщений на IMAP4 сервере с помощью Telnet
Получим письмо через Telnet.
Клиенту необходимо ввести следующие строки:
a001 login bogomolov ***********
a002 select inbox
a004 fetch 1 rfc822.header
Подключение и получение заголовка письма telnet’ом (UNIX) с сервера IMAP4 (Дионис)