В SMTP, должны ли RCPT TO: и TO: соответствовать?
При отправке электронного письма список получателей предоставляется во время диалога SMTP с помощью команды RCTP TO :. Далее в команде DATA указываются поля заголовка, такие как "To", "Cc", "bcc". Должен ли этот список получателей RCPT TO соответствовать заголовкам, указанным в команде DATA?
Кроме того, если получатель указан не в RCPT TO, а в поле "Кому" заголовка электронной почты, будет ли он доставлен получателю не в RCPT TO?
Ответы
Ответ 1
Нет, они не должны совпадать. Когда сообщение отправляется, SMTP-сервер (aka Message Transfer Agent или MTA) создает так называемый SMTP-конверт, который содержит получателей и отправителя сообщения (см. RFC5321):
SMTP переносит почтовый объект. Почтовый объект содержит конверт и содержимое. Конверт SMTP отправляется в виде серии SMTP-протокола единиц (описано в Разделе 3). Он состоит из создателя адрес (к которому должны направляться отчеты об ошибках), один или несколько адреса получателей и дополнительный материал расширения протокола.
На самом деле, часто, что RCPT TO: Command имеет больше получателей, что заголовок сообщения - один общий случай - использование "слепых копий" bcc: (см. RFC5321):
Адреса, которые не отображаются в разделе заголовка сообщения, могут появляться в командах RCPT для SMTP-сервера по ряду причин. два наиболее распространенных включают использование почтового адреса в качестве "списка exploder" (один адрес, который разрешается на несколько адресов) и появление "слепых копий".
Ответ 2
Этот список RCPT для списка получателей должен совпадать с заголовками указано в команде DATA?
Неа.
если получатель не указан в RCPT TO, но в поле To заголовок электронной почты, он будет доставлен получателю не в RCPT TO?
RCPT. Здесь (измененный) расшифровка с моего собственного клиента SMTP, где я делаю то, что вы спрашиваете:
CLIENT: MAIL FROM:<[email protected]>
SERVER: 250 2.1.0 OK
CLIENT: RCPT TO:<[email protected]>
SERVER: 250 2.1.5 OK
CLIENT: DATA
SERVER: 354 Go ahead
CLIENT: Subject: Test email
CLIENT: From:'John Doe'<[email protected]>
CLIENT: To:'John Doe'<[email protected]>
CLIENT: This is a test...
CLIENT: .
Сообщение успешно отправлено на адрес "[email protected]".
Ответ 3
Протокол SMTP (RFC 2821) указывает следующее:
Когда используется формат RFC 822 [7, 32], почтовые данные включают в себя элементы заголовка заметки, такие как Дата, Тема, Кому, Копия, От. Сервер SMTP
системы НЕ ДОЛЖНЫ отклонять сообщения на основе воспринимаемых дефектов в RFC 822 или MIME [12] заголовка сообщения или тела сообщения.
И это:
Команда DATA может выйти из строя только в двух точках протокола обмен:
- Если не было MAIL или команды RCPT, или все такие команды были отклонены, сервер МОЖЕТ вернуть "команду из последовательности", (503) или "нет действительных получателей" (554) ответ в ответ на DATA команда. Если один из этих ответов (или любой другой ответ 5yz) полученный клиент НЕ ДОЛЖЕН отправлять данные сообщения; Больше как правило, данные сообщений НЕ ДОЛЖНЫ быть отправлены, если ответ 354 получен.
Из этих утверждений заголовки и RCPT TO: командный контент не должны совпадать (хотя они должны совпадать), а не с использованием RCPT TO: МОЖЕТ привести к ошибке, чтобы предотвратить продолжение с помощью команды DATA.