鸽舍 – 加号login邮箱名称

我有一个邮件服务器与邮政编译与SMTP和Dovecot的邮件存储(邮箱存储在MySQL数据库)。 其中一个用户在其名称中创build了带有加号的邮箱,如下所示:

[email protected]

鸽舍似乎没有像往常一样处理邮箱的名字。 当我尝试查找与doveadm邮箱,它失败

 # doveadm user [email protected] field valueuserdb lookup: user [email protected] doesn't exist 

另一方面,当我用通配符进行查找时,会显示:

 # doveadm user 'peter*[email protected]' [email protected] # doveadm user '*@example.com' [email protected] (...) [email protected] 

无论如何 – 加号的邮箱是不可用的,你不能login到它。

当邮件发送到那个邮箱 – Postfix把它当作任何邮件处理,所以它把它转发到Dovecot(在我的情况下通过LMTP)到邮箱[email protected]。 但是Dovecot试图把它交给[email protected](忽略以加号开头的所有内容)。

似乎Dovecot正在处理Gmail或其他邮件服务器的加号:

https://notfaq.wordpress.com/2006/07/20/plus-sign-in-email-addresses/ http://gmailblog.blogspot.cz/2008/03/2-hidden-ways-to-get-更从-your.html

我的问题是:

  1. Dovecot是否真的像我描述的那样以特殊的方式加上标志或是这种不正当的行为? 我search达夫科特文档,没有发现任何东西,我没有发现任何有用的,而searchnetworking。
  2. 如果这是一个function,它可以被禁用(所以'+'的标志不会被视为特别)?

[email protected]传递给[email protected]function称为“子寻址”“加上寻址” ,在Wikipedia上有很好的描述。

高级用户觉得它非常有用,如果你已经拥有一个庞大的现有用户群,你可能会考虑禁用它,因为禁用这个用户群可能会比修复它更多。 恕我直言,你应该补丁你的邮箱configuration前端拒绝邮箱名称与+

在后缀子寻址configuration与recipient_delimiter ,只需删除该指令和子寻址将被禁用。

正如我已经提到的,子寻址是非常有用的,你可能想要调查Dovecot目前如何处理子寻址,因为手册提供了不同的选项。

以下内容将邮件[email protected]发送到用户邮箱中的特定文件夹extension

dovecot unix -nn – – pipe flags = DRhu user = vmail:vmail argv = / usr / local / libexec / dovecot / dovecot-lda -f $ {sender} -d $ {user} @ $ {nexthop} -m $ {延期}

或者如果你有一个INBOX /命名空间前缀:

dovecot unix – nn – – pipe flags = DRhu user = vmail:vmail argv = / usr / local / libexec / dovecot / dovecot-lda -f $ {sender} -d $ {user} @ $ {nexthop} -m INBOX / $ {}扩展

或Dovecot可以完全忽略扩展,并将所有消息发送到主INBOX

dovecot unix -nn – – pipe flags = DRhu user = vmail:vmail argv = / usr / lib / dovecot / dovecot-lda -f $ {sender] -a $ {recipient} -d $ {user} @ $ {nexthop}