Назад | Перейти на главную страницу

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

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

Сообщение, которое я получаю в журналах:

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 server error: 501 5.5.4 Invalid FROM: Invalid character in localpart возвращается dovecot-lmtp.

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

Моя версия голубятни:

$ dovecot --version
2.3.5.1 (7ec6d0ade)

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

Спасибо!

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

Вы можете убедиться, что голубятня является принятие вашего адреса путем инициирования сеанса 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, вы хотите тщательно изучить конфигурацию вашего почтового сервера.

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