Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
16.6 Протокол SMTP
Простой протокол пересылки почты (Simple Mail Transfer Protocol — SMTP) определяет способ непосредственного перемещения почтового сообщения между хостами. В протоколе SMTP для системы описываются две роли: отправителя и получателя. Отправитель действует как клиент и устанавливает соединение TCP с получателем, который работает как сервер. Для получателя используется общеизвестный порт 25. Даже если отправителем является программа почтовой службы (Message Transfer Agent — MTA), она функционирует как клиент и использует временный порт из пула доступных портов.
В течение сеанса SMTP отправитель и получатель обмениваются последовательностью команд и ответов. Сначала получатель объявляет имя своего хоста. Затем отправитель:
? Объявляет имя своего хоста
? Идентифицирует источник сообщения
? Определяет одного или нескольких получателей
? Пересылает данные почтового сообщения
? Передает строку, содержащую ".<CR><LF>", что указывает на завершение пересылки сообщения.
Отметим, что сообщение может быть доставлено нескольким получателям хоста в одной транзакции, поскольку в нем допустимо указывать нескольких получателей. В конце транзакции отправитель может:
? Начать следующую транзакцию
? Завершить работу и закрыть соединение
В стандарте определена команда TURN (возврат), позволяющая отправителю и получателю поменяться ролями. Однако эта команда редко (если вообще когда-либо) реализуется на практике.
- Глава 19 Передача почты: протокол SMTP
- Функции протоколов получения почты
- Передача данных с помощью протокола SMTP
- 5.3. Проектирование протоколов прикладного уровня
- 5.3.1. Учебный пример: SMTP, простой протокол передачи почты
- 18.2.4. Отправка почты по протоколу SMTP
- 5.2.2. Дополнительные возможности OpenSSL
- 8.6.2. Блокировка пересылки спама
- Листинг 8.2. Файл
- Использование фильтров
- Резюме