Как должен вести себя SMTP-клиент, если он получает ошибку от сервера?

Как должен вести себя SMTP-клиент, если он получает ошибку от сервера?

Рассмотрим следующий SMTP-сеанс:

220 mx.example.com ESMTP Postfix
EHLO example.com
250-mx.example.com
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
MAIL FROM:<>
250 2.1.0 Ok
RCPT TO:<[email protected]>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test
Test
.
451 4.7.1 Try again later

Что клиент должен делать после этого? Разрешено ли ему отправить RSETи попробовать еще одно письмо?

Этот вопрос в некоторой степени связан сэта проблема rspamdи я не уверен, кто ведет себя неправильно:

  • rspamd некорректно обрабатывает несколько писем в одном сеансе, если первая доставка не удалась
  • Postfix не отправляет rspamd правильные команды Milter
  • OpenSMTPd для доставки другого письма после того, как одно уже не доставлено

Связанный контент