Dovecot - плюс войдите в имя почтового ящика

У меня есть сборка почтового сервера с Postfix для SMTP и Dovecot для хранения почты (почтовые ящики хранятся в базе данных MySQL). Один из пользователей создал почтовый ящик со знаком плюс в его имени, например:

peter+bob@example.com

Dovecot, похоже, не обрабатывает это имя почтового ящика как обычно. Когда я пытаюсь найти этот почтовый ящик с помощью doveadm, он терпит неудачу

# doveadm user peter+bob@example.com
field   valueuserdb lookup: user peter+bob@example.com doesn't exist

С другой стороны, когда я выполняю поиск с подстановочным знаком, он показывает следующее:

# doveadm user 'peter*bob@example.com'
peter+bob@example.com
# doveadm user '*@example.com'
peter@example.com
(...)
peter+bob@example.com

В любом случае - почтовый ящик со знаком плюса непригоден, вы не можете войти в Это.

Когда почта отправляется в этот почтовый ящик - Postfix обращается с ней как с любым другим, поэтому перенаправляет ее в Dovecot (в моем случае через LMTP) на почтовый ящик peter+bob@example.com. Но Dovecot пытается доставить его на peter@example.com.(игнорируя все, что начинается со знака плюс).

Похоже, что Dovecot обрабатывает знак плюса, как Gmail или другие почтовые серверы:

https://notfaq.wordpress.com/2006/07/20/plus- адреса электронной почты для входа / http://gmailblog.blogspot.cz/2008/03/2-hidden-ways-to-get-more-from-your.html

Мой вопрос:

  1. . Действительно ли Dovecot обращается со знаком плюса особым образом, как я описал, или это какое-то некорректное поведение? Я искал документацию Dovecot и ничего не нашел, также я не нашел ничего полезного при поиске в сети.
  2. Если это функция, можно ли ее отключить (чтобы знак '+' не обрабатывался специально )?
3
задан 11 January 2016 в 12:52
1 ответ

Функция, которая (скрытая) доставляется (скрытая), называется «подадресация» или «плюс адресация» и хорошо описана на Википедия .

Опытные пользователи считают его очень полезным, и вы можете дважды подумать, прежде чем отключить его, если у вас уже есть большая база пользователей, потому что его отключение может сломать больше, чем исправить. ИМХО, вы должны исправить фронт подготовки почтового ящика -конец, чтобы отклонить имена почтовых ящиков с помощью + .

В постфиксе подадресация настраивается с помощью recipient_delimiter , просто удалите эту директиву, и подадресация будет отключена.

Как я уже упоминал, подадресация весьма полезна, и вы можете изучить, как Dovecot в настоящее время работает с подадресацией, поскольку руководство предлагает различные варианты.

Следующее будет доставлять почту для (скрытой) в определенную папку с именем extension в почтовом ящике пользователя:

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

или если у вас есть префикс пространства имен INBOX /:

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

или Dovecot может полностью игнорировать расширение и доставлять все сообщения в основной INBOX

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

3
ответ дан 3 December 2019 в 06:30

Теги

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