Dear Maintainer,
When a client sends erroneous command on a session, Postfix replies with a 4xx error message, as expected.
But when too many errors occur, Postfix replies with a second error line:
"421 4.7.0 xxxxx Error: too many errors".
This second message does not respect 4.2 section of RFC 5321, which indicates:
"Every command MUST generate exactly one reply"
(http://tools.ietf.org/html/rfc5321#section-4.2)
For example (we defined smtpd_hard_error_limit=2 in our configuration):
RCPT TO:<xxx@xxxxxx-chambon.fr>
450 4.2.0 <xxx@xxxxxx-chambon.fr>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/komori-chambon.fr.html
RCPT TO:<yyy@xxxxxx-chambon.fr>
450 4.2.0 <yyy@xxxxxx-chambon.fr>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/komori-chambon.fr.html
421 4.7.0 servsmtp Error: too many errors
(Connection closed)
The expected behavior would simply be to add the "Too many errors" at the end of the first line.
Not to create a second one, which lead to analysis error of the mail protocol.
Yours faithfully,
Jeremie LEGRAND