16.6 Протокол SMTP

We use cookies. Read the Privacy and Cookie Policy

16.6 Протокол SMTP

Простой протокол пересылки почты (Simple Mail Transfer Protocol — SMTP) определяет способ непосредственного перемещения почтового сообщения между хостами. В протоколе SMTP для системы описываются две роли: отправителя и получателя. Отправитель действует как клиент и устанавливает соединение TCP с получателем, который работает как сервер. Для получателя используется общеизвестный порт 25. Даже если отправителем является программа почтовой службы (Message Transfer Agent — MTA), она функционирует как клиент и использует временный порт из пула доступных портов.

В течение сеанса SMTP отправитель и получатель обмениваются последовательностью команд и ответов. Сначала получатель объявляет имя своего хоста. Затем отправитель:

? Объявляет имя своего хоста

? Идентифицирует источник сообщения

? Определяет одного или нескольких получателей

? Пересылает данные почтового сообщения

? Передает строку, содержащую ".<CR><LF>", что указывает на завершение пересылки сообщения.

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

? Начать следующую транзакцию

? Завершить работу и закрыть соединение

В стандарте определена команда TURN (возврат), позволяющая отправителю и получателю поменяться ролями. Однако эта команда редко (если вообще когда-либо) реализуется на практике.