Постфікс: необмежені адреси кожного користувача через знак "+"


10

Користувачі Gmail можуть отримати практично необмежену кількість електронних адрес за допомогою $name+$suffix@gmail.com("плюс адресація").

Я хотів би мати це для власного поштового сервера, на якому працює Postfix. Дані поштової скриньки та псевдоніми зберігаються в базі даних MySQL.

Я підозрюю, що конфігурацію псевдоніму потрібно змінити, щоб це user+foo@example.orgвідображалося на user@example.orgпоштовій скриньці, але я не можу з’ясувати, як.

Отже, чи можливо? Як?

Відповіді:


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


Ви запитували про це postfix, але це згадує exim, що це інший SMTP-сервер. До речі, зауважте, що якщо у вас справжній сервер IMAP (а не лише поштова скринька), використання LMTPнабагато швидше, ніж maildrop. І якщо ви використовуєте LMTP з Cyrus, вам цього не знадобиться.
mvp

1
користувач debian-exim, але це все ще постфікс.
cweiske


Врятував мій день с {nexthop}. Я навіть не знав, що існує. Дякую.
TCB13

Дякую за відповідь. Це мені дуже допомогло. Я використовую postfix + procmail + dovecot на сервері virtualmin. Я щойно додав рядок "primaent_delimiter = +", і адреса "плюс", здається, працює нормально. Чи варто робити щось додаткове для прокмаїлу чи голубця? Також, чи можна обмежити цей домен? Так що я можу включити цей плюс адресація лише для деяких доменів на моєму сервері? Дякую.
Вишну

3

Ви не сказали, який поштовий сервер зберігає ваші електронні листи. У наші дні це має бути один із серверів IMAP - наприклад, Сайрус, Голуб, Курьер, ...

Мені особисто подобається Сайрус ІМАП. Він підтримує це відносно легко :

Плюс адресація - дозволяє пряму доставку до певної поштової скриньки (крім INBOX). Це робиться за адресою форми: ім'я користувача + поштова папка @ домен, яка доставить папку INBOX.mailfolder користувача (або еквівалент простору імен). Ця поштова скринька повинна дозволити користувачу, що розміщує повідомлення, правом 'p'.

Додавання права "p" є важливим кроком - інакше вся пошта (використовуючи +чи ні) буде доставлена ​​на ім'я користувача INBOX.

Зверніть увагу , що ви повинні використовувати LMTP(локальний протокол передачі пошти) , щоб доставити пошту від postfixдо IMAPсервера і необхідно також налаштувати Postfix recipient_delimiter(або recipient_delimiters) , як описано тут :

recipient_delimiter = +

до тих пір, поки повідомлення не доходять до користувача / maildrop, оскільки поштова адреса не розпізнається приймаючим сервером, підтримка сервера IMAP не має значення.
cweiske

дякую, що надали підказку про "плюс звернення". з цією назвою я знайшов рішення.
cweiske

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


Дякую. Ідеально, що саме рішення Postfix не достатньо, якщо ви використовуєте Dovecot. Вам знадобиться ця додаткова конфігурація для Dovecot.
Девід Вердін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.