

Почтовые протоколы. Методы борьбы со спамом
Сорокин Д. С. 4085/2

SMTP
SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это широко используемый сетевой протокол, предназначенный для передачи электронной
почты в сетях TCP/IP.
Протокол SMTP предназначен для передачи исходящей почты с использованием порта
TCP 25.

SMTP транзакции
ВSMTP-протоколе отправка одного почтового сообщения сопоставляется одной транзакции. За один сеанс связи может быть отправлено несколько сообщений, т. е. выполнено несколько транзакций.
ВSMTP- транзакции выделяют три шага (этапа). Начинается транзакция с команды MAIL, идентифицирующей отправителя. Затем следует серия из одной или нескольких команд RCPT, содержащих адрес получателя (получателей). Затем следует команда DATA, с помощью которой передается тело сообщения. Как только завершена передача тела сообщения, SMTP- транзакция также считается завершенной.

SMTP команды
MAIL FROM:<адрес отправителя> (обязательный параметр) - данная команда инициирует новую SMTP-транзакцию, в ней в качестве обязательного параметра указывается адрес отправителя, который будет использован для отправления сообщения об ошибке. Если указанный адрес отправителя допустим, то сервер посылает ответ "250 OK". Для того, чтобы определить, является ли команда допустимой, сервер пытается преобразовать доменное имя в IP- адрес, посылая запрос DNS-серверу.
RCPT TO:<адрес получателя> (обязательный параметр) - данная команда идентифицирует одного получателя при помощи обязательного параметра "адрес получателя". Эта команда может повторяться любое количество раз, т. к. в спецификации количество получателей не ограничивается каким-либо конкретным значением. Если указанный адрес получателя допустим, то сервер посылает ответ "250 OK". Для определения допустимости адреса сервер пытается преобразовать доменное имя в IP-адрес, посылая запрос DNS - серверу. Если указанный получатель неизвестен, либо доменное имя не может быть преобразовано в IP - адрес, то сервер отвечает "550 Failure".
DATA (без параметров) - данная команда означает начало передачи почтового сообщения (письма). Если команда допустима, то сервер посылает ответ "354 Intermediate" и принимает сообщение, после чего посылает ответ "250 OK". В SMTP окончание почтового сообщения помечается при помощи точки в пустой строке. Почтовое сообщение должно содержать такую заголовочную информацию, как Date, Subject, To, Cc, From.

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

POP3
POP3 (англ. Post Office Protocol Version 3 — протокол почтового отделения, версия 3) — стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению.
Протокол POP3 предназначен для получения входящей почты с использованием порта TCP 110.

POP3S
Так же как и SMTPS, POP3S работает на транспортном уровне.
Клиент подключается к серверу, используя SSL или TLS соединение.
POP3S использует 995 порт.

|
POP3 команды |
Команда |
Описание |
USER |
Идентифицирует пользователя с указанным именем |
PASS |
Указывает пароль для пары клиент-сервер |
QUIT |
Закрывает TCP-соединение |
STAT |
Сервер возвращает количество сообщений в почтовом ящике плюс размер |
|
почтового ящика |
LIST |
Сервер возвращает идентификаторы сообщений вместе с размерами |
|
сообщений |
RETR |
Извлекает сообщение из почтового ящика |
DELE |
Отмечает сообщение для удаления |
NOOP |
Сервер возвращает положительный ответ, но не совершает никаких действий |
LAST |
Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже |
|
обращались |
RSET |
Отменяет удаление сообщения, отмеченного ранее командой DELE |

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

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