Смотреть что такое "IMAP" в других словарях. Самое интересное про SMTP, POP3 и IMAP

Вопрос безопасности становится все более важным по мере распространения информационных технологий. Здесь приходится прорабатывать различные аспекты, которые касаются многих разработок. Так, например, многих интересует вопрос, что такое IMAP безопасность. Насколько надежен InternetAccessProtocol?


Какие преимущества он имеет? Для чего разрабатывался? Какие существуют версии? Какой механизм работы используется? Со всеми этими вопросами мы попытаемся разобраться в рамках данного обзора.

Что такое IMAP?

Безопасность переписки особенно важна в связи с тем, что в ней может содержаться различная информация. Протокол IMAP используется для обеспечения доступа к данным электронной почты только для тех пользователей, которые имеют на это право. Он был разработан на основе TCP. Данный протокол использует 143 порт. IMAP позволяет работать с почтой, которая находится на центральном сервере. Программное обеспечение, которое использует данный протокол, совершает необходимые действия так, что создается впечатление, будто вся корреспонденция хранится на компьютере пользователя.

При больших объемах пересылки может использоваться специальный сервер IMAP. Для манипуляции с письмами не требуется постоянная пересылка к получателю файлов с содержимым. Это далеко не единственный протокол, который сегодня используется в работе с почтовыми сервисами. Для отправки писем может использоваться протокол SMTP, так как в IMAP команда отправки не может гарантировать безопасность на все 100%. У этого протокола имеются некоторые известные уязвимости.

Для чего был разработан протокол IMAP?

Данный протокол разрабатывался как альтернатива известному протоколу POP3. Началось все из-за недостатков протокола POP3. Так, например, в нем не была предусмотрена возможность управления, перемещения и хранения сообщений на сервере. По этой причине был разработан протокол IMAP. Именно с помощью этого протокола пользователь может получать почту в различных местах. Это стало возможно благодаря тому, что вся нужная информация хранится на удаленном сервере.

Преимущества IMAP по сравнению с POP3

Почему же стал применяться именно протокол IMAP? Все дело в том, что помимо перечисленных выше, этот протокол предоставляет целый ряд преимуществ:

— соединение не разрывается, пока пользовательский интерфейс активен;
— сообщения будут загружены только в случае наличия со стороны клиента соответствующих требований;
— возможно осуществление одновременного доступа нескольких пользователей, при этом каждый из пользователей может следить за выполненными изменениями;
— клиент получает возможность создать, удалять или менять название ящиков. Также между ящиками можно перемещать сообщения;
— при наличии расширения IMAP 4 AccessControlList имеется возможность изменения прав доступа;
— можно также следить за состоянием самого сообщения. Данные об операциях называются флагами и хранятся на серверах;
— поиск нужного сообщения осуществляется на сервере. Существует специальный механизм расширениям.

Сообщения и их атрибуты

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

При работе с протоколом IMAP каждое сообщение получает свой собственный 32-битный код. К коду добавляется уникальный идентификатор. Код и идентификатор вместе образуют 64-битную последовательность. Она необходима для идентификации сообщения. Вот так реализуется безопасность в протоколе IMAP. Чем позднее пришло сообщение, тем большее значение будет иметь UID. Данный параметр используется в виде кода отклика в процессе выбора почтового ящика. Этот код не изменяется во время сессии или между ними. Если по техническим условиям требуется редактирование данного параметра, то UID обязательно должен быть больше, чем ранее. Для передачи информации используется порт IMAP.

Номер сообщения

Порядковый номер сообщения начинается с 1. Каждое последующее сообщение будет иметь номер больше на 1 по сравнению с предыдущим. Отличие от почтового ящика состоит в том, что данный номер может меняться во время сессии, например, в том случае, если было выполнено удаление письма.

Флаги сообщений

Данный атрибут представляет собой список, в котором имеется нуль или большое количество именованных лексем, соотнесенных с основной информацией. В протоколе IMAP 4.1 были внедрены флаги двух типов. Действовать они могут временно, например, на протяжении сессии, а могут быть постоянными. Системным называют тот флаг, для которого имя определяется в спецификации протокола. Все флаги обязательно должны начинаться с символа «\». На сегодняшний день определены следующие системные флаги:

— \seen– сообщение уже прочитано;
— \answered – ответ отправлен;
— \recent – сообщение появилось во время текущей сессии;
— \draft – сообщение было отмечено как черновой вариант;
— \flagged – пользователь отметил данное сообщение как важное;
— \deleted – пользователь удалил сообщение.

Внутренние дата и время

Каким образом определяются данные параметры и какие величины должны в них быть указаны? Если сообщение было доставлено при помощи протокола SMTP, то берется время и дата конечного адресата. Если применялась команда копирования, то берутся параметры отправителя. Можно задать собственную дату и время. Для этого необходимо использовать команду append.

Взаимодействие клиента и сервера

При использовании протокола IMAP связь устанавливается по принципу клиент-сервер. Клиент посылает от себя все полученные команды, а сервер шлет запрошенные данные и информацию на выполнение запроса. Сообщения имеют форму строк, которые завершаются специальной последовательностью. Все процедуры выполняются по команде клиента. Распознаются они при помощи специального префикса-идентификатора. В качестве данного идентификатора используется краткая буквенно-цифровая строка.

Иначе она еще называется меткой. Каждая команда имеет собственный уникальный номер. Возможны два случая, в которых отправленные клиентом данные могут быть незаконченными. Первый случай возникает тогда, когда аргумент команды имеет код, который ранее определил число октетов. Второй случай возникает, когда требуется отклик от сервера. Клиент в обоих случаях получает запрос на продолжение команды. Он обязательно должен начинаться с символа +. Передача должна быть завершена при начале поступления определенного типа данных.

Иначе начать новый процесс будет невозможно. Передача данных серверу, чтение, выделение параметров осуществляется при помощи протокольного приемника. Когда обработка команды будет завершена, клиенту будет отправлен отклик с данным уведомлением. Информация, которая не указывает на завершение выполнения инструкция, снабжена знаком *. Она называется непомеченным откликом. Также в протоколе IMAP возможна отправка данных серверов в качестве ответа на запросы клиента или по собственной инициативе. Формат данных не зависит от причины, по которой они были отправлены.

Что можно сказать про использование популярных почтовых сервисов? Простым пользователям IMAP настройки недоступны. Их можно выполнить только в том случае, если письмо отправляется при помощи специальной клиентской программы. Причем, данные настройки действуют только по отношению к входящим письмам. Для чего нужны отклики? Они сообщают пользователю об успешном или неудачном выполнении запроса. Отклик всегда использует ту же метку, которую использовала команда клиента при запуске процедуры.

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

Базируется на транспортном протоколе TCP и использует порт 143.

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

Для отправки писем используется протокол SMTP .

Цель разработки протокола IMAP

Протокол IMAP представляет собой альтернативу POP3.

POP3 имеет ряд недостатков, и наиболее серьёзный из них - отсутствие возможностей по управлению перемещением и хранением сообщений на сервере. Сообщения, как правило, загружаются с почтового сервера все сразу, после чего они с сервера удаляются, то есть отсутствует возможность выбирать сообщения для получения.

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

Преимущества по сравнению с POP3

При использовании POP3 клиент подключается к серверу только на промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих ящиках имеется много сообщений большого объёма.

Протокол POP требует, чтоб текущий клиент был единственным подключенным к ящику. IMAP позволяет одновременный доступ нескольких клиентов к ящику и предоставляет клиенту возможность отслеживать изменения, вносимые другими клиентами, подключенными одновременно с ним.

Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера.

IMAP4 имеет явный механизм расширения.

Версии протокола IMAP

  • Original IMAP (1986, спецификация отсутствует)
  • IMAP2 (1988 - RFC 1064 , 1990 - RFC 1176)
  • IMAP3 (1991, RFC 1203)
  • IMAP2bis (спецификация существует только в черновом варианте 1993 года)
  • IMAP4 (переименованный IMAP2bis)

Сообщения и их атрибуты

IMAP работает только с сообщениями и не требует каких-либо пакетов со специальными заголовками.

Каждое сообщение имеет несколько связанных с ним атрибутов. Эти атрибуты могут быть определены индивидуально или совместно с другими атрибутами.

UID

Каждому сообщению ставится в соответствие 32-битовый код, который при использовании совместно с уникальным идентификатором образует 64-битовую последовательность, гарантирующую однозначную идентификацию сообщения в почтовом ящике. Чем позже сообщение пришло, тем больше его UID.

UID ассоциируется с почтовым ящиком и посылается в виде кода uidvalidity отклика (ok) на фазе выбора почтового ящика. Если UID из предыдущей сессии по какой-то причине не может быть использован, UID должен быть инкрементирован.

UID сообщения не должно изменяться в пределах сессии, его не следует изменять и от сессии к сессии. Однако если невозможно сохранить UID сообщения в последующей сессии, каждая следующая сессия должна иметь новый уникальный код идентификатора, который должен быть больше, чем любой UID, использованный ранее.

Порядковый номер сообщения

Порядковый номер сообщения в почтовом ящике начинается с 1. Каждое сообщение, начиная со второго, имеет порядковый номер ровно на 1 больше, чем предшествующее ему.

В течение сессии допустимо изменение порядкового номера сообщения. Например, когда сообщение удаляется из почтового ящика, номера всех последующих сообщений изменяются.

Флаги сообщения

Этот атрибут представляет собой список из нуля или более именованных лексем, соотнесенный данному сообщению. Флаг устанавливается путём его добавления к этому списку и обнуляется путём его удаления. В IMAP 4.1 существует два типа флагов. Флаг может быть постоянным или действующим только на время данной сессии.

Системным флагом является флаг, имя которого определено в спецификации протокола. Все системные флаги начинаются с символа \ .

В настоящее время определены следующие системные флаги:

  • \seen - сообщение прочитано
  • \answered - на сообщение отправлен ответ
  • \flagged - сообщение отмечено как «важное»
  • \deleted - сообщение отмечено как удаленное
  • \draft - сообщение отмечено как черновик
  • \recent - недавнее сообщение (впервые появилось в ящике в ходе текущей сессии)

Внутренние дата и время сообщения на сервере

Время и дата получения сообщения. В случае доставки сообщения посредством протокола SMTP - дата и время доставки конечному адресату. Для сообщений, доставленных командой копирования - внутренняя дата и время отправителя сообщения. При использовании команды append - дата и время, заданные параметрами команды.

Прочие атрибуты

  • размер сообщения - число октетов в сообщении.
  • структура конверта сообщения.
  • структура тела сообщения

Взаимодействие клиента и сервера

Соединение IMAP 4.1 подразумевает установление связи между клиентом и сервером. Клиент посылает серверу команды, сервер клиенту - данные и уведомления о статусе выполнения запроса. Все сообщения, как клиента, так и сервера имеют форму строк, завершающихся специальной последовательностью.

Любая процедура начинается с команды клиента. Любая команда клиента начинается с префикса-идентификатора (обычно короткая буквенно-цифровая строка, например, A0001 , A0002 и т. д.), называемого меткой (tag). Для каждой команды клиент генерирует свою метку.

Возможны два случая, когда строка, отправленная клиентом, не представляет собой законченную команду. В первом - аргумент команды снабжается кодом, определяющим число октетов в строке. Во втором - аргументы команды требуют отклика со стороны сервера. В обоих случаях сервер посылает запрос продолжения команды, начинающийся с символа + .

Клиент должен завершить отправку одной команды, прежде чем отправить другую.

Протокольный приемник сервера читает строку команды, пришедшей от клиента, осуществляет её разбор, выделяет параметры и передает серверу данные. По завершении команды сервер посылает отклик.

Данные, передаваемые сервером клиенту, а также статусные отклики, которые не указывают на завершение выполнения команды, имеют префикс * и называются непомеченными откликами.

Данные могут быть отправлены сервером в ответ на команду клиента или по собственной инициативе. Формат данных не зависит от причины отправки.

Отклик указывает на удачное/неудачное выполнение операции. Он использует ту же метку, что и команда клиента, запустившая процедуру. Таким образом, если осуществляется более чем одна команда, метка сервера указывает на команду, вызвавшую данный отклик. Имеется три вида отклика завершения сервера: ok (успешное выполнение), no (неудача), bad (протокольная ошибка, например, не узнана команда или зафиксирована синтаксическая ошибка).

Протокольный приемник клиента IMAP 4.1 читает строку отклика от сервера и предпринимает действия в соответствии с первым символом * или + .

Клиент должен быть готов принять любой отклик сервера в любое время. Данные сервера должны быть записаны так, чтобы клиент мог их непосредственно использовать, не посылая серверу уточняющих запросов.

Состояния сервера IMAP

Сервер IMAP 4.1 находится в одном из четырёх состояний.

Большинство команд можно использовать только в определенных состояниях.

В состоянии без аутентификации клиент должен предоставить имя и пароль, прежде чем ему станет доступно большинство команд. Переход в это состояние производится при установлении соединения без предварительной аутентификации.

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

В состояние выбора система попадает, когда успешно осуществлен выбор почтового ящика.

В состояние выхода система попадает при прерывании соединения в результате запроса клиента или вследствие независимого решения сервера.

  • (1) Соединение без предварительной аутентификации
  • (2) Соединение с предварительной аутентификацией
  • (3) Соединение отвергнуто
  • (4) Успешное завершение команды LOGIN или AUTHENTICATE
  • (5) Успешное завершение команды SELECT или EXAMINE
  • (6) Выполнение команды CLOSE или неудачная команда SELECT или EXAMINE
  • (7) Выполнение команды LOGOUT , закрытие сервера, или прерывание соединения

Команды протокола IMAP

LOGIN Позволяет клиенту при регистрации на сервере IMAP использовать идентификатор пользователя и пароль в обычном текстовом виде. Это не самый лучший метод, но иногда это единственная возможность подключиться к серверу. AUTHENTICATE Позволяет клиенту использовать при регистрации на сервере IMAP альтернативные методы проверки подлинности. Индивидуальная проверка подлинности пользователей не является обязательной и поддерживается не всеми серверами IMAP. К тому же реализации такой проверки могут различаться в зависимости от сервера. Когда клиент выдает команду AUTHENTICATE , сервер отвечает на неё строкой вызова в кодировке base64 . Далее клиент должен отправить ответ на вызов сервера о проверке подлинности, также закодированный base64. Если на сервере не поддерживается метод проверки подлинности, предложенный клиентом, он включает в свой ответ слово NO . После этого клиент должен продолжить переговоры по согласованию метода проверки подлинности. Если все попытки определить метод проверки подлинности потерпели неудачу, то клиент предпринимает попытку зарегистрироваться на сервере посредством команды LOGIN . CLOSE Закрывает почтовый ящик. Когда почтовый ящик закрыт, то все сообщения, помеченные флагом \DELETED , физически удаляются из него. Не имеет параметров. LOGOUT Завершает сеанс для текущего идентификатора пользователя и закрывает все открытые почтовые ящики. Если какие-либо сообщения были помечены флагом \deleted , то с помощью этой команды они будут физически удалены из почтового ящика. CREATE Создаёт новый почтовый ящик. Имя и местоположение новых почтовых ящиков определяются в соответствии с общими спецификациями сервера. DELETE Применяется к почтовым ящикам. Сервер IMAP при получении этой команды попытается удалить почтовый ящик с именем, указанным в качестве аргумента команды. Сообщения удаляются вместе с ящиками и восстановлению не подлежат. RENAME Изменяет имя почтового ящика. Эта команда имеет два параметра - имя почтового ящика, который требуется переименовать, и новое имя почтового ящика. SUBSCRIBE Добавляет почтовый ящик в список активных ящиков клиента. В это команде используется только один параметр - имя почтового ящика, который нужно внести в список. Почтовый ящик не обязательно должен существовать, чтобы его можно было добавить в список активных ящиков - это позволяет добавлять в список активных ящиков ящики, которые ещё не созданы, или удалять их, если они пусты. UNSUBSCRIBE Удаляет почтовые ящики из списка активных. В ней так же используется один параметр - имя почтового ящика, который удаляется из списка активных ящиков клиента. При этом сам по себе почтовый ящик не удаляется. LIST Получить список всех почтовых ящиков клиента; имеет два параметра. LSUB В отличие от команды LIST используется для получения списка ящиков, активизированных командой SUBSCRIBE . Параметры - такие же, как у LIST . STATUS Формирует запрос о текущем состоянии почтового ящика. Первым параметром для этой команды является имя почтового ящика, к которому она применяется. Второй параметр - это список критериев, по которым клиент хочет получить информацию. Команда STATUS может использоваться для получения информации о состоянии почтового ящика без его открытия с помощью команд SELECT или EXAMINE . Пользователь может получить информацию по критериям:
  • MESSAGES - общее число сообщений в почтовом ящике
  • RECENT - число сообщений с флагом \recent
  • UIDNEXT - идентификатор UID, который будет назначен новому сообщению
  • UIDVALIDITY - уникальный идентификатор почтового ящика
  • UNSEEN - число сообщений без флага \seen
APPEND Добавляет сообщение в конец указанного почтового ящика. В качестве аргументов указываются имя ящика, флаги сообщения (не обязательно), метка времени (не обязательно) и само сообщение - заголовок и тело. Имеются следующие флаги сообщений:
  • \Seen - прочитано
  • \Answered - написан ответ
  • \Flagged - срочное
  • \Deleted - помечено для удаления
  • \Draft - черновик
  • \Recent - новое сообщение, оно поступило в почтовый ящик после окончания прошлого сеанса
Если в команде указаны флаги, то они устанавливаются для добавляемого сообщения. В любом случае для сообщения устанавливается флаг \Recent . Если в команде задана метка времени, то это время будет установлено в качестве времени создания сообщения, в противном случае за время создания принимается текущее время. Поскольку сообщение состоит не из одной строки, используются литералы. Пример: C A003 APPEND saved-messages (\Seen) {247} S + Ready for literal data C Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C From: Fred Foobar C Subject: afternoon meeting C To: [email protected] C Message-Id: C C Hello Joe, do you think we can meet at 3:30 tomorrow? S A003 OK APPEND completed Расширение MULTIAPPEND , описанное в RFC 3502 , позволяет одной командой добавлять в почтовый ящик несколько сообщений. CHECK Устанавливает контрольную точку в почтовом ящике. Любые операции, такие, например, как запись данных из памяти сервера на его жёсткий диск, должны выполняться при соответствующем состоянии почтового ящика. Именно для проверки целостности почтового ящика после дисковых и других подобных им операций и применяется команда CHECK . Эта команда используется без параметров. EXPUNGE Удаляет из почтового ящика все сообщения, помеченные флагом \DELETED , при этом почтовый ящик не закрывается. Ответ сервера на команду EXPUNGE представляет собой отчёт о новом состоянии почтового ящика. SEARCH Поиск сообщений по критериям в активном почтовом ящике с последующим отображением результатов в виде номера сообщения. Возможен поиск сообщений, в теле которых имеется определённая текстовая строка, или имеющих определённый флаг, или полученных до определённой даты и т. д. FETCH Получить текст почтового сообщения. Команда применяется только для отображения сообщений. В отличие от POP3, клиент IMAP не сохраняет копию сообщения на клиентском ПК. STORE Изменяет информацию о сообщении. COPY Копирует сообщения из одного почтового ящика в другой. UID Используется в связке с командами FETCH , COPY , STORE или SEARCH . С её помощью в этих командах можно использовать реальные идентификационные номера UID вместо последовательности чисел из диапазона номеров сообщений. CAPABILITY Запрос у сервера IMAP информацию о его возможностях. NOOP Команда ничего не делает. Она может применяться для поддержки активности во время сеанса для того, чтобы сеанс не прекратился по таймеру интервала ожидания. Ответ сервера на команду NOOP всегда должен быть положительным. Так как сервер часто в ответе возвращает состояние выполнения той или иной команды, то NOOP вполне можно использовать как триггер для периодического запроса о состоянии сервера.

Ссылки

  • RFC 3501 Internet Message Access Protocol v4rev1 (англ.)
  • The IMAP Connection (англ.)
  • Howto: Configuring KMail with Gmail - IMAP and Disconnected IMAP (англ.)

Сегодня мы подробно расскажем про наиболее используемые в сети интернет протоколы – POP3, IMAP и SMTP. Каждый из указанных протоколов имеет определенное назначение и функциональные возможности. Давайте попробуем разобраться.

Протокол POP3 и его порты

Post Office Protocol 3 (POP3) это стандартный протокол почты созданные для получения электронных писем с удаленного сервера на e-mail клиент.POP3 позволяет вам сохранить почтовое сообщение на ваш компьютер и даже прочесть его, в случае, если вы находитесь не в сети. Важно отметить, что если вы решили использовать POP3 для подключения к учетной записи почты, письма, которые уже скачаны на компьютер, будут удалены с почтового сервера. Как пример, если вы используете несколько компьютеров для подключения к одному почтовому аккаунту, то протокол POP3 может быть не лучшим выбором в данной ситуации. С другой стороны, так как почта хранится локально, на ПК конкретного пользователя, это позволяет оптимизировать дисковое пространство на стороне почтового сервера.

По умолчанию, протокол POP3 использует следующие порты:

  • Порт 110 – это порт протокола POP3 по умолчанию. Не является безопасным.
  • Порт 995 – этот порт следует использовать в том случае, если вы хотите установить безопасное соединение.

Протокол IMAP и порты

Internet Message Access Protocol (IMAP) – это почтовый протокол, созданный для доступа к почте с локального почтового клиента. IMAP и POP3 – наиболее популярные в сети интернет протоколы, используемые для получения e-mail. Оба этих протокола поддерживается всеми современными почтовыми клиентами (MUA - Mail User Agent) и WEB – серверами.

В то время как POP3 позволяет доступ к почте только с одного приложения, IMAP позволяет доступ из множества клиентов. По этой причине, IMAP наиболее адаптивен в тех случаях, когда доступ к одному почтовому аккаунту необходим для нескольких пользователей.

По умолчанию, протокол IMAP использует следующие порты:

  • Порт 143 – порт по умолчанию. Не безопасен.
  • Порт 993 – порт для безопасного соединения.
Протокол SMTP и его порты

Simple Mail Transfer Protocol (SMTP) – это стандартный протокол для отправки почтовых сообщений по сети интернет.

Данный протокол описан в RFC 821 и RFC 822, впервые опубликованных в августе 1982 года. В рамках данных RFC, формат адреса должен быть в формате имя_пользователя@доменное_имя . Доставка почты, аналогична работе обычной почтовой службы: например, письмо на адрес [email protected], будет интерпретирован так: ivan_ivanov – адрес, а merionet.ru – почтовый индекс. Если доменное имя получателя отличается от доменного имени отправителя, то MSA (Mail Submission Agent) отправит письмо через Mail Transfer Agent (MTA). Главная идея MTA в том, чтобы перенаправлять письма в другую доменную зону, по аналогии, как традиционная почты отправляет письма в другой город или область. MTA так же получает почту от других MTA.

Протокол SMTP использует следующие порты.

В этой статье рассмотрены наиболее часто используемые протоколы электронной почты в Интернете - POP3, IMAP и SMTP. Каждый из них имеет определенную функцию и способ работы. В содержании статьи разъясняется, какая конфигурация лучше всего подходит для конкретных потребностей пользователя при использовании e-mail-клиента. А также раскрывается ответ на вопрос о том, какой протокол поддерживает электронную почту e-mail.

Что такое POP3?

Протокол третьей версии (POP3) — это стандартный почтовый протокол, используемый для приема электронной почты с удаленного сервера на локальный почтовый клиент. Позволяет загружать сообщения на ваш локальный компьютер и читать их, даже если пользователь находится в автономном режиме. Обратите внимание, что при использовании протокола POP3 для подключения к вашей учетной записи сообщения загружаются локально и удаляются с сервера электронной почты.

По умолчанию протокол POP3 работает на двух портах:

    порт 110 — это незашифрованный порт POP3;

    порт 995 — его нужно использовать, если вы хотите безопасно подключиться к POP3.

Что такое IMAP?

Протокол доступа к интернет-сообщениям (IMAP) — это протокол получения сообщений электронной почты, используемый для доступа к ней на удаленном веб-сервере от локального клиента. IMAP и POP3 являются двумя наиболее часто используемыми протоколами для получения писем и поддерживаются всеми современными почтовыми клиентами и веб-серверами.

Протокол POP3 предполагает, что ваш адрес электронной почты доступен только из одного приложения, а IMAP позволяет совершить одновременный вход сразу с нескольких клиентов. Вот почему IMAP подойдет лучше, если вы собираетесь получать доступ к своей электронной почте из разных мест или если ваши сообщения управляются несколькими пользователями.

Протокол IMAP работает на двух портах:

    порт 143 - это незашифрованный порт IMAP по умолчанию;

    порт 993 - его необходимо использовать, если вы хотите безопасно подключиться с помощью IMAP.

Что такое SMTP?

Протокол - это стандартный протокол для отправки электронной почты через Интернет.

SMTP работает в трех портах:

    порт 25 — это незашифрованный по умолчанию;

    порт 2525 — он открывается на всех серверах SiteGround, если порт 25 фильтруется (например, вашим интернет-провайдером), и вы хотите отправлять незашифрованные электронные письма с помощью SMTP;

    порт 465 — он используется, если вы хотите безопасно отправлять сообщения с помощью SMTP.

По каким протоколам происходит обмен электронной почтой? Понятия и термины

Термин «сервер электронной почты» относится к двум серверам, необходимым для отправки и получения писем, то есть к SMTP и POP.

Сервер входящей почты — это сервер, связанный с вашей учетной записью адреса электронной почты. Для нее не может быть более одного входящего почтового сервера. Для доступа к входящим сообщениям необходим почтовый клиент — программа, которая может получать электронную почту из учетной записи, позволяя пользователю читать, пересылать, удалять и отвечать на сообщения. В зависимости от вашего сервера, вы можете использовать выделенный почтовый клиент (например, Outlook Express) или веб-браузер. Так, Internet Explorer применяют для доступа к учетным записям на основе электронной почты. Письма хранятся на сервере входящей почты до его загрузки. После того, как вы загрузили свою почту с почтового сервера, сделать повторно это будет нельзя. Чтобы успешно загрузить данные, необходимо ввести правильные настройки в электронной почтовой программе. Большинство входящих почтовых серверов используют один из следующих протоколов: IMAP, POP3, HTTP.

Исходящий почтовый сервер (SMTP)

Это сервер, используемый только для отправки писем (для переноса их из вашей почтовой клиентской программы в приемник). Большинство исходящих почтовых серверов используют Protocol) для отправки корреспонденции. В зависимости от ваших сетевых параметров сервер исходящей почты может принадлежать вашему интернет-провайдеру или серверу, на котором вы настраиваете свою учетную запись. В качестве альтернативы вы можете использовать SMTP-сервер на основе подписки, который позволит вам отправлять электронные письма с любой учетной записи. Из-за проблем со спамом большинство исходящих почтовых серверов не позволяют отправлять электронные письма, если вы не вошли в свою сеть. Сервер с открытым ретранслятором позволит вам использовать его для отправки электронных писем, независимо от того, принадлежите ли вы к его сетевой группе или нет.

Порты электронной почты

Для сетей порт означает конечную точку логического соединения. Номер порта определяет его тип. Ниже перечислены порты электронной почты по умолчанию:

    POP3 - порт 110;

    IMAP - порт 143;

    SMTP - порт 25;

    HTTP - порт 80;

    безопасный SMTP (SSMTP) - порт 465;

    безопасный IMAP (IMAP4-SSL) - порт 585;

    IMAP4 через SSL (IMAPS) - порт 993;

    Secure POP3 (SSL-POP) - порт 995.

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

В основном протокол относится к стандартному методу, используемому на каждом конце канала связи. Чтобы иметь дело с электронной почтой, вы должны использовать специальный клиент для доступа к почтовому серверу. В свою очередь, они могут обмениваться информацией друг с другом, используя при этом совершенно различные протоколы.

Протокол IMAP

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

Протокол POP3

Протокол передачи электронной почты POP (Post Office Protocol 3) обеспечивает простой, стандартизированный способ доступа пользователей к почтовым ящикам и загрузки сообщений на их компьютеры.

При использовании протокола POP все ваши сообщения электронной почты будут загружены с почтового сервера на локальный компьютер. Вы также можете оставить копии своих электронных писем на сервере. Преимущество заключается в том, что после загрузки ваших сообщений вы можете отключить интернет-соединение и прочитать свой e-mail на досуге, не прибегая к дополнительным расходам на связь. С другой стороны, с помощью этого протокола вы получаете и загружаете много нежелательных сообщений (включая спам или вирусы).

Протокол SMTP

Протокол используется агентом передачи почты (MTA) для доставки электронных сообщений на определенный сервер получателя. SMTP можно использовать только для отправки электронных писем, а не для их получения. В зависимости от настроек вашей сети или интернет-провайдера вы можете использовать SMTP-протокол только в определенных условиях.

Протоколы HTTP

HTTP не является протоколом, предназначенным для связи по электронной почте, но его можно использовать для доступа к вашему почтовому ящику. Его также нередко называют веб-электронной почтой. Он может использоваться для составления или получения электронных писем из вашей учетной записи. Hotmail - хороший пример использования HTTP в качестве протокола электронной почты.

Управляемые передачи файлов и сетевые решения

Ваша способность отправлять и получать электронную почту в основном обусловлена ​тремя протоколами TCP. Ими являются SMTP, IMAP и POP3.

SMTP

Начнем с SMTP, потому что его основная функция отличается от двух других. Протокол SMTP, или Simple Mail Transfer Protocol, в основном используется для отправки электронной почты от почтового клиента (например, Microsoft Outlook, Thunderbird или Apple Mail) на сервер электронной почты. Он также используется для ретрансляции или пересылки почтовых сообщений с одного почтового сервера на другой. Это необходимо в случае, если у отправителя и получателя есть разные поставщики услуг электронной почты.

SMTP, который указан в RFC 5321, использует порт 25 по умолчанию. Он также может использовать порт 587 и порт 465. Последний, который был представлен как порт выбора для безопасного SMTP (a.k.a. SMTPS), считается устаревшим. Но на самом деле он по-прежнему используется несколькими поставщиками почтовых услуг.

POP3

Протокол почтового отделения, или POP, используется для извлечения сообщений электронной почты с Последняя версия, которая широко используется, - это версия 3, отсюда и термин «POP3».

POP, версия 3, указанная в RFC 1939, поддерживает расширения и несколько механизмов аутентификации. Функции проверки подлинности необходимы, чтобы злоумышленники не получали доступ к сообщениям пользователей.

Клиент POP3 получает электронную почту следующим образом:

    подключается к почтовому серверу на порту 110 (или 995 для соединений SSL/TLS);

    удаляет копии сообщений, хранящихся на сервере;

    отключается от сервера.

    Хотя клиенты POP могут быть настроены так, чтобы сервер мог продолжать хранить копии загруженных сообщений, описанные выше шаги являются обычной практикой.

    IMAP

    IMAP, особенно текущая версия (IMAP4), является более сложным протоколом. Это позволяет пользователям группировать связанные сообщения и размещать их в папках, которые, в свою очередь, могут быть организованы иерархически. Он также оснащен флагами сообщений, которые указывают, было ли сообщение прочитано, удалено или получено. Он даже позволяет пользователям выполнять поиск по почтовым ящикам сервера.

    Логика работы (настройки imap4):

    • подключается к почтовому серверу через порт 143 (или 993 для соединений SSL / TLS);

      извлекает сообщения электронной почты;

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

    Обратите внимание, что сообщения не удаляются на сервере. Это может иметь серьезные последствия. Спецификации IMAP можно найти в RFC 3501.

    Выбор между IMAP и POP3

    Поскольку основная функция SMTP принципиально отлична, дилемма выбора лучшего протокола обычно включает только IMAP и POP3.

    Если для вас важно место для хранения на сервере, то выбирайте POP3. Сервер с ограниченным объемом памяти является одним из основных факторов, которые могут заставить вас поддержать POP3. Поскольку IMAP оставляет сообщения на сервере, он может потреблять пространство памяти быстрее, чем POP3.

    Если вы хотите получить доступ к почте в любое время, то лучше остановиться на IMAP. Есть одна веская причина, по которой IMAP был предназначен для хранения сообщений на сервере. Он используется для поиска сообщений с нескольких устройств — иногда даже одновременно. Поэтому если у вас есть iPhone, планшет Android, ноутбук и рабочий стол и вы хотите читать электронную почту с любого или всех этих устройств, то IMAP будет лучшим выбором.

    Синхронизация - еще одно преимущество IMAP. Если вы получаете доступ к сообщениям электронной почты с нескольких устройств, скорее всего, захотите, чтобы все они отображали любые действия, которые вы выполняли.

    Например, если вы читаете сообщения A, B и C, то хотите, чтобы они также были помечены как «прочитанные» на других устройствах. Если вы удалили письма B и C, то захотите, чтобы те же сообщения удалялись из вашего почтового ящика на всех гаджетах. Все эти синхронизации могут быть достигнуты только в том случае, если вы используете IMAP.

    Поскольку IMAP позволяет пользователям упорядочивать сообщения в иерархическом порядке и размещать их в папках, это помогает пользователям лучше организовывать свою корреспонденцию.

    Разумеется, все функциональные возможности IMAP имеют свою цену. Эти решения сложнее реализовать, и в конечном итоге протокол потребляет намного больше ЦП и ОЗУ, особенно когда он выполняет процесс синхронизации. Фактически высокая загрузка процессора и памяти может произойти как на стороне клиента, так и на стороне сервера, если есть тонна сообщений для синхронизации. С этой точки зрения протокол POP3 менее затратен, хотя и менее функционален.

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

    Скорость — преимущество, которое варьируется и зависит от ситуации. POP3 имеет возможность загружать все почтовые сообщения при подключении. А IMAP может при необходимости (например, при недостаточном количестве трафика) загружать только заголовки сообщений или определенные части и оставлять вложения на сервере. Только когда пользователь решит, что оставшиеся части стоят загрузки, они станут доступны для него. Поэтому IMAP можно считать более быстрым.

    Однако если все сообщения на сервере должны загружаться каждый раз, то POP3 будет работать гораздо быстрее.

    Как вы можете увидеть, каждый из описываемых протоколов имеет свои преимущества и недостатки. Вам решать, какие функции или возможности важнее.

    Также желаемый способ доступа к e-mail-клиенту определяет предпочтительность протокола. Пользователи, работающие только с одной машины и использующие веб-почту для доступа к своим новым электронным письмам, оценят POP3.

    Однако пользователи, которые обмениваются почтовыми ящиками или получают доступ к своим электронным письмам с разных компьютеров, предпочтут IMAP.

    Спам-брандмауэры с SMTP, IMAP и POP3

    Большинство брандмауэров для спама имеют дело только с протоколом SMTP и защищают его. Серверы отправляют и получают электронную почту SMTP, и они будут проверяться спамом-брандмауэром на шлюзе. Однако некоторые брандмауэры для спама дают возможность защищать POP3 и IMAP4, когда внешним пользователям нужны эти службы для доступа к их электронной почте.

    Брандмауэры SMTP прозрачны для конечных пользователей; для клиентов нет изменений конфигурации. Пользователи по-прежнему получают и отправляют почтовые сообщения на сервер электронной почты. Так, Exchange или Dominos должны настраивать маршрутизацию сообщений на брандмауэр на основе прокси-сервера при отправке электронной почты, а также обеспечивать возможность отправки писем с брандмауэра.

О том, как почта отправляется с вашего компьютера на сервер и достигает сервера адресата, мы уже рассказывали. В этом материале мы хотели бы рассказать вам о последнем звене в этой цепочке – серверах и протоколах приема почтовых сообщений. Вы узнаете о том, как работают протоколы POP3 и IMAP, с помощью которых вы принимаете почту с сервера на свой компьютер. О первом протоколе можно сказать немного — в силу его примитивности, а вот второй протокол представляет собой гораздо более интересное изобретение.

Суть протокола POP3 довольно проста. POP-сервер получает от своего SMTP-сервера почтовые сообщения и "разбрасывает" их по ящикам конкретных пользователей. Все, на что он способен – отдавать почту и обозначать флажками прочитанные сообщения. Эти задачи с легкостью выполняет любой, даже самый примитивный почтовый клиент. С протоколом IMAP все гораздо сложнее: у него значительно больше функций, а значит, и требований к почтовому клиенту.

IMAP-протокол реализует технологию "псевдолокального" почтового ящика. Это значит, что вы можете управлять своим ящиком на сервере так, как будто он находится на локальной машине. При этом существует возможность удобной работы с IMAP-папками на сервере. Это очень гибкий инструмент, позволяющий вам создавать и удалять каталоги. То же самое можно проделывать и с самими сообщениями: сортировать их по папкам, удалять или даже перемещать на другой сервер. При этом два почтовых ящика на разных серверах могут синхронизироваться автоматически — это удобно, если вы хотите хранить резервную копию писем где-то еще.

Протокол был разработан для использования на медленных каналах, а значит, хорошо подойдет тем, кто работает с модемными соединениями. А хранение писем и папок на сервере позволяет вам использовать один ящик в любом месте, где есть Интернет. Больше не нужно носить с собой компакт-диски с важными письмами, достаточно просто оставить их в отдельной папке на IMAP-сервере. Кроме того, во время работы по протоколу IMAP не возникает привычной ситуации, когда у вас обрывается связь на сотом письме, и клиент начинает закачивать все письма заново.

Продвинутая система для работы с папками и сообщениями на сервере позволяет вам создавать древовидные структуры папок. Если к вам пришло много писем, то вы не обязаны скачивать их все, можно получить только заголовки и тогда нужные письма при просмотре будут скачиваться автоматически. На сервере IMAP действует хорошая система флагов. Вы можете помечать письма флагами "Прочитано", "Послан ответ", "Помечено", "Удалено", "Черновик" или "Новое сообщение". Согласитесь, все как на вашем любимом почтовом клиенте, только при этом письма находятся на сервере и пребывают в полной сохранности и доступности из любой точки света.

Взаимодействие почтового клиента и сервера IMAP осуществляется так же, как и работа с POP3-серверами. Клиент и сервер обмениваются друг с другом командами и ответами, используя транспортный протокол. При использовании протокола TCP они работают через 143 порт.

Сначала клиент и сервер должны обменяться приветствиями, после этого клиент отправляет данные на сервер и ждет ответа. В конце сессии канал закрывается. Интересная особенность протокола IMAP заключается в том, что сервер не должен отвечать на команды по очереди. То есть во время ожидания ответа на запрос клиент может продолжать отправлять запросы. Сервер будет отвечать на них в порядке выполнения, обрабатывая запросы одновременно. Это очень удобно, поскольку позволяет вам запускать трудоемкие задачи на сервере (такие, как поиск писем по определенному критерию) и не останавливать работу сервера с другими запросами (например, скачивание определенного письма).

Итак, когда вам может пригодиться протокол IMAP вместо стандартного POP3? Во-первых, если вы выходите в Сеть не через один компьютер или пользуетесь несколькими почтовыми программами. Во-вторых, если вы не хотите скачивать и оставлять на жестком диске все письма одновременно, например, из соображений безопасности. В-третьих, если вы хотите иметь возможность получить доступ к вашей корреспонденции из любой точки света. Ну, и нелишними будут операции поиска, хорошая система вложенных каталогов и флагов состояния почты.

Теперь, когда мы немного разобрались с функциями протокола IMAP, попробуем найти то программное обеспечение, которое бы наилучшим образом работало с этим протоколом. Вся информация об этом была получена с официального сайта протокола .

К сожалению, несмотря на то, что протокол был разработан давно, программное обеспечение для работы с ним найти не так-то просто. Наиболее популярный почтовый клиент The Bat! работает с протоколом IMAP довольно однообразно. Он использует его так же, как и POP3 — для скачивания писем на локальную машину и удаления их на сервере. Никаких дополнительных функций, ради которых, собственно, протокол и создавался, не поддерживается. Правда, сейчас планируется выпуск новой версии программы, в которой обещают сделать полную поддержку протокола IMAP, однако пока приходится искать другие программные решения.

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

Когда вы будете выбирать программу для себя, то обратите внимание на некоторые параметры таблицы. Например, очень желательно, чтобы ваш почтовый клиент поддерживал параметр «Disconnected use». Это значит, что в этом случае вы сможете использовать почтовую программу, не имея постоянного доступа к Интернету. Вы подсоединитесь к серверу, скачаете новые письма или заголовки, ответите на них, произведете нужные действия с папками, а затем еще раз соединитесь, и изменения совершатся на сервере автоматически. Это очень удобно, когда приходится выходить в Интернет через модем с повременной оплатой соединения, чтобы не увеличивать свои расходы на доступ в Сеть.

Таким образом, подводя итог вышесказанному, можно сказать, что IMAP – это более продвинутый формат, чем простой протокол POP3. Его использование оправдано для тех, кто пользуется своим почтовым ящиком из разных точек мира и желает все время иметь доступ к своей почте. Он удобен тем, что позволяет работать в онлайновом режиме со своим ящиком и выполнять над ним множество операций. Для того чтобы воспользоваться всеми преимуществами IMAP, нужно иметь соответствующий почтовый клиент (их список вы найдете на сайте протокола).

Статьи по теме: