Установка и настройка сетевого протокола imap4. Версии протокола IMAP

08.04.2019

Базируется на транспортном протоколе 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. Каждый из них имеет определенную функцию и способ работы. В содержании статьи разъясняется, какая конфигурация лучше всего подходит для конкретных потребностей пользователя при использовании 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

POP3 — протокол для приема сообщений электронной почты.

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

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

IMAP

IMAP — протокол, поддерживающий прием и возможность управления электронной почтой прямо на почтовом сервере.

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

SMTP

SMTP-сервер — это почтовый сервер, поддерживающий только отправку электронной почты.

При использовании SMTP-сервера используется порт 25. Некоторые интернет-провайдеры блокируют порт 25. В этом случае, вам нужно либо обратиться к администратору сети, чтобы он разблокировал порт, либо использовать альтернативный порт 587.