451 is the correct error code as defined by RFC 821.
Most probably that problem is in malformed message. Qmail rejects it with the same error code as Postfix.
I don't dispute it's the correct error code. But what is malforming my messages then?
Just a regular plain text message to my email address, from someone who sends me emails all of the time randomly comes up with this error. It then causes Postfix to have a fit and all other messages received by Postfix get that error message until Postfix is restarted.
Even if one of my users sends out an email it comes up with the same error code:
Transcript of session follows.
Out: 220 myserver.info ESMTP Postfix
In: EHLO Lenovo
Out: 250-myserver.info
Out: 250-PIPELINING
Out: 250-SIZE 10240000
Out: 250-ETRN
Out: 250-STARTTLS
Out: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: AUTH DIGEST-MD5
Out: 334
bm9uY2U9IldvYmhUVmw1ZkR3VTg5Zm9yNHppa3k0b2tYTm5SZ3JnaUt6SEgzaFZoL0U9IixyZWFsbT0iczE1MzQxMzc3Lm9ubGluZWhvbWUtc2VydmVyLmluZm8iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=
In:
dXNlcm5hbWU9Imp1c3Rpbi5idXJ0IixyZWFsbT0icmVub3duc2VydmljZXMuY28udWsiLG5vbmNlPSJXb2JoVFZsNWZEd1U4OWZvcjR6aWt5NG9rWE5uUmdyZ2lLekhIM2hWaC9FPSIsZGlnZXN0LXVyaT0ic210cC9yZW5vd25zZXJ2aWNlcy5jby51ayIsY25vbmNlPSIyNDQzZDI5NjQyMTRkMGQ0OWQxMzYzYjY5MmM4YWViYyIsbmM9MDAwMDAwMDEscmVzcG9uc2U9OTQ2MWU3YWQzNGVjZTZiODg4M2FiNzdiNDRjN2I5ZWIscW9wPWF1dGgsY2hhcnNldD11dGYtOA==
Out: 535 5.7.0 Error: authentication failed: authentication failure
In: AUTH LOGIN
Out: 334 VXNlcm5hbWU6
In: anVzdGluLmJ1cnRAcmVub3duc2VydmljZXMuY28udWs=
Out: 334 UGFzc3dvcmQ6
In: Y2FyZ28=
Out: 235 2.0.0 Authentication successful
In: MAIL FROM: <
[email protected]> (ONE OF MY USERS)
Out: 250 2.1.0 Ok
In: RCPT TO: <
[email protected]>
Out: 451 4.3.0 Error: queue file write error
In: RCPT TO: <
[email protected]>
Out: 451 4.3.0 Error: queue file write error
In: RCPT TO: <
[email protected]>
Out: 451 4.3.0 Error: queue file write error
In: QUIT
Out: 221 2.0.0 Bye
If malformation is the reason behind this then it's the implementation that is malforning these messages surely?
Thanks.