I have an OpenSMTPD / Dovecot installation on an OpenBSD server. I recently came across an issue where Dovecot LMTP would reject a message sent to a local user from an address which contains a single apostrophe (e.g. firstname.o'[email protected]
). Apparently apostrophe, as well as a number of other special characters are valid characters in the local part of the email address (that's everything to the left of the @
character).
The message I get in the logs is:
Jun 14 11:57:34 atlantic smtpd[42606]: 21749fd12ac76b57 mda delivery evpid=56aed6237d6444a0 from=<firstname.o'[email protected]> to=<[email protected]> rcpt=<[email protected]> user=me delay=0s result=PermFail stat=Error ("mail.lmtp: LMTP server error: 501 5.5.4 Invalid FROM: Invalid character in localpart")
where example.com
is external domain and example.org
is a local one.
The part of the message: LMTP server error: 501 5.5.4 Invalid FROM: Invalid character in localpart
is returned by dovecot-lmtp
.
My question is: does anyone know of a configuration option, similar to auth_username_chars
which lists valid characters in the email address, to stop Dovecot LMTP from rejecting such emails? or maybe you know another way of getting it to accept an email from such address?
My dovecot version is:
$ dovecot --version
2.3.5.1 (7ec6d0ade)
And in case that makes any difference, I'm running OpenBSD 6.5 patched to 005_libssl.
Thanks!
<>
characters and no mismatched double quotes - I'm able to reproduce this behaviour by sending an email with a single apostrophe in the From email address. I'd really like to help troubleshoot this further, but can you elaborate on your questions please?opensmtpd
or themail.lmtp
(thatopensmtpd
uses to deliver the mail to dovecot lmtp) but I've yet to conclusively find which of the two changes the from address, and how, so that dovecot ltmp rejects it. Good tips, thanks! I'll post an update once I get somewhere with this!:
. While a valid character in the local-part, once used, the email address needs to be enclosed in double quotes, however it seems that OpenSMTPD does NOT do this part - and that's the illegal bit that dovecot LMTP rejects. Thanks a lot for your pointers, I'll touch base with the OpenSMTPD developers.