RFC 5321 § 4.1.1.5 (RSET) заявляет, что «любые сохраненные данные отправителя, получателей и почты ДОЛЖНЫ быть отброшены».Это относится к командам MAIL FROM
, RCPT TO
и, предположительно, DATA
.
Однако, после получения .
после DATA
, сообщение "ДОЛЖНО" быть доставлено (что может привести ксбой, но не частичный сбой, см. § 4.1.1.4 ).Это очищает буфер от всего, что RSET
должен делать.
Это означает, что RSET
просто вызывает ответ 250 OK
от принимающего сервера (keep-alive, очень похоже на NOOP
) и подтверждаетотправителю, что действительно нет ни одного сохраненного отправителя или получателя, поставленного в очередь для следующего сообщения.
Я не знаю способа прервать команду DATA
для выдачи RSET
.Единственный известный мне способ сделать это - разорвать соединение и установить новое - и, чтобы быть в безопасности в случае какой-то странной возможности возобновления, я бы выпустил RSET
сразу после EHLO
илиHELO
(что в спецификации написано NOOP
).Если бы был такой способ, он должен быть в RFC 5321 § 4.1.1.4 , § 4.1.1.5 и / или § 3.3 .