Postfix: nieograniczona liczba adresów użytkowników za pomocą znaku „+”

10

Użytkownicy Gmaila mogą uzyskać praktycznie nieograniczoną liczbę adresów e-mail za pomocą [email protected](„plus adresowanie”).

Chciałbym to mieć dla mojego własnego serwera poczty, na którym działa Postfix. Dane skrzynki pocztowej i aliasu są przechowywane w bazie danych MySQL.

Podejrzewam, że konfiguracja aliasu musi zostać zmodyfikowana, aby została [email protected]zmapowana do [email protected]skrzynki pocztowej, ale nie wiem, jak to zrobić.

Czy to możliwe? W jaki sposób?

cweiske
źródło

Odpowiedzi:

13

Oprócz ustawienia

recipient_delimiter = +

Musiałem także zmodyfikować master.cf, aby wiadomość nie tylko trafiła do odbiorcy, ale do prawdziwego użytkownika:

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

Wpis na blogu: http://cweiske.de/tagebuch/postfix-plus-addressing.htm

cweiske
źródło
Pytałeś o to postfix, ale wspomina o eximinnym serwerze SMTP. BTW, pamiętaj, że jeśli masz prawdziwy serwer IMAP (nie tylko skrzynkę pocztową), korzystanie LMTPjest znacznie szybsze niż wysyłanie wiadomości. A jeśli korzystasz z LMTP z Cyrus, nie będziesz tego potrzebować.
mvp,
1
użytkownik jest debian-exim, ale nadal jest postfiks.
cweiske
Uratowałem mój dzień dzięki {nexthop}. Nawet nie wiedziałem, że istnieje. Dziękuję Ci.
TCB13
Dziękuję za odpowiedź. Bardzo mi pomogło. Używam postfix + procmail + dovecot na serwerze virtualmin. Właśnie dodałem wiersz „recipient_delimiter = +” i adresowanie plus wygląda dobrze. Czy powinienem zrobić coś dodatkowego dla procmaila lub dovecot? Czy można również ograniczyć tę domenę? Czy mogę włączyć to adresowanie tylko dla niektórych domen na moim serwerze? Dzięki.
Wisznu,
3

Nie powiedziałeś, który serwer pocztowy przechowuje twoje e-maile. W dzisiejszych czasach powinien to być jeden z serwerów IMAP - takich jak Cyrus, Dovecot, Courier, ...

Osobiście lubię Cyrus IMAP. Obsługuje to ze względną łatwością :

Adresowanie plus - umożliwia bezpośrednią dostawę do określonej skrzynki pocztowej (innej niż skrzynka odbiorcza). Odbywa się to za pośrednictwem adresu w postaci: nazwa użytkownika + folder poczty @ domena, która dostarczy do folderu INBOX.mailfolder użytkownika (lub odpowiednika przestrzeni nazw). Ta skrzynka podrzędna musi umożliwiać użytkownikowi wysyłającemu prawo „p”.

Prawidłowe dodanie „p” jest ważnym krokiem - w przeciwnym razie cała poczta (przy użyciu +lub nie) zostanie dostarczona do nazwy użytkownika INBOX.

Należy pamiętać, że należy użyć LMTP(lokalny protokół transportowy poczty elektronicznej), aby dostarczyć pocztę od postfixdo IMAPserwera, a także muszą Postfix konfiguracyjnym recipient_delimiter(lub recipient_delimiters) jak opisano tutaj :

recipient_delimiter = +
mvp
źródło
tak długo, jak e-maile nie docierają do użytkownika / skrzynki pocztowej, ponieważ adres poczty elektronicznej nie jest rozpoznawany przez serwer odbierający, obsługa serwera IMAP nie ma znaczenia.
cweiske
dzięki za podpowiedź na temat „plus adres”. o tej nazwie znalazłem rozwiązanie.
cweiske
2

master.cfLinia dla Dovecot:

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

W wersji Postfix 2.4 i wcześniejszych użyj ${nexthop}zamiast${domain}

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

Dmitrij Sandałow
źródło
Dzięki. Ideed, samo rozwiązanie Postfiksa nie wystarczy, jeśli używasz Dovecot. Będziesz potrzebował tej dodatkowej konfiguracji dla Dovecot.
David Verdin