I am running a Postfix server which uses Dovecot LMTP for mail delivery. I am doing this because it plays well with sieve.
However, I have gotten some email lately with Unicode in the subject line.
This mail is received OK by Postfix, which clearly supports SMTPUTF8 - however, it dies when it gets to LMTP:
<me@myhost> (expanded from <meother@mhost>): SMTPUTF8 is required, but
was not offered by host myhost[public/lmtp]
I read in the Postfix SMTPUTF8 documentation that,
When a message is received with the SMTPUTF8 request, Postfix will deliver the message to a non-SMTPUTF8 SMTP or LMTP server ONLY if:
No message header value contains UTF-8.
The envelope sender address contains no UTF-8,
No envelope recipient address for that specific SMTP/LMTP delivery transaction contains UTF-8.
NOTE: Recipients in other email delivery transactions for that same message may still contain UTF-8.
Otherwise, Postfix will return the recipient(s) for that email delivery transaction as undeliverable. The delivery status notification message will be an SMTPUTF8 message. It will therefore be subject to the same restrictions as email that is received with the SMTPUTF8 request.
-- http://www.postfix.org/SMTPUTF8_README.html#detecting
The relevant part is "Postfix will deliver ... to a non-SMTPUTF8 ... LMTP server ONLY if ... [there is no UTF8 in the message]".
This is awkwardly-worded, but the implication is that Postfix will only pass UTF8 mail along to a downstream server if it supports UTF8.
Because I am receiving UTF8 mail, Postfix is refusing to deliver it to Dovecot LMTP.
Which brings me to a couple of questions:
- Does Dovecot LMTP support SMTPUTF8? (It appears not: http://www.dovecot.org/list/dovecot/2013-January/thread.html#87756)
- Does Postfix have a "soft fail" mode for this, whereby it can queue the mail for later delivery, bypass LMTP, or do something more intelligent than falling over?