Dovecot LMTP отклоняет почту с адреса с апострофом

У меня есть установка OpenSMTPD / Dovecot на сервере OpenBSD. Недавно я столкнулся с проблемой, когда Dovecot LMTP отклонял сообщение, отправленное локальному пользователю с адреса, содержащего один апостроф (например, (скрытый) По-видимому, апостроф, а также ряд других специальных символов являются допустимыми символами в локальной части адреса электронной почты (это все, что находится слева от символа @ ).

В журналах я получаю следующее сообщение:

Jun 14 11:57:34 atlantic smtpd[42606]: 21749fd12ac76b57 mda delivery evpid=56aed6237d6444a0 from=<firstname.o'lastname@example.com> to=<me@example.org> rcpt=<me@example.org> user=me delay=0s result=PermFail stat=Error ("mail.lmtp: LMTP server error: 501 5.5.4 Invalid FROM: Invalid character in localpart")

где example.com - внешний домен и example.org является локальным.

Часть сообщения: Ошибка сервера LMTP: 501 5.5.4 Invalid FROM: Недействительный символ в localpart возвращается ] dovecot-lmtp .

Мой вопрос: знает ли кто-нибудь о параметре конфигурации, подобном auth_username_chars , который перечисляет допустимые символы в адресе электронной почты, чтобы Dovecot LMTP не отклонял такие электронные письма? или, может быть, вы знаете другой способ заставить его принимать электронную почту с такого адреса?

My dovecot Versio n равно:

$ dovecot --version
2.3.5.1 (7ec6d0ade)

И если это имеет значение, я использую OpenBSD 6.5 с исправлением до 005_libssl.

Спасибо!

1
задан 14 June 2019 в 17:08
1 ответ

Игнорируя дебаты о том, должен ли LDA требовать любой удаленный адрес для соответствия спецификации, я действительно считаю, что парсер dovecot очень близок к RFC5322, и то, что вы видите, это , а не dovecot LMTP, отвергающий адрес с апострофом.

Вы можете проверить, что dovecot принимает ваш адрес, инициировав сеанс LMTP самостоятельно:

$ nc -U /var/dovecot/lmtp
220 example.com Dovecot ready.
LHLO example.com
250-example.com
MAIL FROM:<firstname.o'lastname@example.com>
250 2.1.0 OK
RCPT TO:<postmaster@example.com>
250 2.1.5 OK
DATA
empty
.
354 OK
250 2.0.0 <postmaster@example.com> FOOBAR Saved

Если dovecot принимает почту, когда вы вручную верифицируете в LMTP, но не получает ее при получении из MTA, вы хотите тщательно проверить конфигурацию вашего почтового сервера.

Почтовый сервер каким-то образом редактирует адрес перед передачей его dovecot? Получите транскрипт сеанса LMTP (попробуйте lmtp_rawlog_dir в dovecot) и сравните, если адрес переписан между SMTP и LMTP. Я думаю, что аналогичные ограничения, которые применяются к dovecot-lda, в отличие от dovecot-lmtp, применяются при использовании mail.lmtp, что требует, чтобы его параметры также были действительными аргументами командной строки.

.
1
ответ дан 3 December 2019 в 23:04

Теги

Похожие вопросы