10

Пользователи Gmail могут получить практически неограниченные адреса электронной почты , используя $name+$suffix@gmail.com ("плюс адресация").

Я хотел бы иметь это для моего собственного почтового сервера, на котором работает Postfix. Данные почтового ящика и псевдонима хранятся в базе данных MySQL.

Я подозреваю, что необходимо изменить конфигурацию псевдонима, чтобы user+foo@example.org сопоставлен с почтовым ящиком user@example.org , но я не могу понять, как это сделать.

Так возможно ли это? Как?

3 ответа3

13

Помимо настройки

recipient_delimiter = +

Мне также пришлось изменить master.cf , чтобы maildrop получал не только получателя, но и реального пользователя:

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=Debian-exim argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}

Сообщение в блоге: http://cweiske.de/tagebuch/postfix-plus-addressing.htm

3

Вы не сказали, какой почтовый сервер хранит ваши письма. В наши дни это должен быть один из серверов IMAP - например, Cyrus, Dovecot, Courier, ...

Мне лично нравится Cyrus IMAP. Это поддерживает это относительно легко:

Плюс адресация - позволяет прямую доставку в определенный почтовый ящик (кроме INBOX). Это делается с помощью адреса в форме: username+mailfolder @ domain, который будет доставлен в папку INBOX.mailfolder пользователя (или эквивалент пространства имен altname). Этот почтовый ящик должен позволять отправляющему пользователю право 'p'.

Добавление права «p» является важным шагом - в противном случае вся почта (использующая + или нет) будет доставлена на имя пользователя INBOX.

Обратите внимание, что вы должны использовать LMTP (локальный почтовый транспортный протокол) для доставки почты из postfix на сервер IMAP а также вам необходимо настроить postfix recipient_delimiter (или recipient_delimiters), как описано здесь:

recipient_delimiter = +
2

master.cf для Dovecot:

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver
 -f ${sender} -a ${recipient} -d ${user}@${domain}

В Postfix 2.4 и более ранних версиях используйте ${nexthop} вместо ${domain}

http://wiki2.dovecot.org/LDA/Postfix

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .