Dovecot LMTP 拒绝来自带撇号的地址的邮件

Dovecot LMTP 拒绝来自带撇号的地址的邮件

我在 OpenBSD 服务器上安装了 OpenSMTPD / Dovecot。我最近遇到了一个问题,Dovecot LMTP 会拒绝从包含单个撇号(例如)的地址向本地用户发送的消息。显然,撇号以及许多其他特殊字符都是电子邮件地址本地部分的有效字符(即字符左侧的所有内容)。firstname.o'[email protected]@

我在日志中收到的消息是:

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")

其中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 版本是:

$ dovecot --version
2.3.5.1 (7ec6d0ade)

为了避免产生任何差异,我正在运行修补了 005_libssl 的 OpenBSD 6.5。

谢谢!

答案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'[email protected]>
250 2.1.0 OK
RCPT TO:<[email protected]>
250 2.1.5 OK
DATA
empty
.
354 OK
250 2.0.0 <[email protected]> FOOBAR Saved

如果当您在 LMTP 中手动验证时 dovecot 接受邮件,但从 MTA 接收时失败,则您需要仔细检查您的邮件服务器配置。

您的邮件服务器是否在将地址传递给 dovecot 之前以某种方式编辑了该地址?获取 LMTP 会话的记录(lmtp_rawlog_dir在 dovecot 中尝试)并比较地址是否在 SMTP 和 LMTP 之间重写。我思考使用时,dovecot-lda 和 dovecot-lmtp 有类似的限制mail.lmtp,要求其参数也是有效的命令行参数。

相关内容