Viktor Dukhovni: > I always thought that a final LMTP server only responds 2XX to an > MTA when the message is safely in the mailbox, [...]
I looked up some Sieve RFCs and found that the language implements accept-then-bounce behavior: - "reject" (RFC 3028) implements accept-then-bounce. It replies with 2XX after sending a message disposition notification which may contain non-ASCII text. - "ereject" (RFC 5429) introduces reject-instead-of-accept behavior. It either replies with 5XX plus ASCII-only text, or it replies with 2XX and sends a message disposition notification. This RFC also updates some details of the "reject" feature. This means that the Postfix "lmtp_assume_final" feature is broken. This feature (which has effect only when delivering to an LMTP server that doesn't announce DSN support) assumes that a 2XX reply implies final successful delivery. http://www.iana.org/assignments/sieve-extensions/sieve-extensions.xml has a list of Sieve extensions. Wietse