Postfix: adresses illimitées par utilisateur via le signe «+»

10

Les utilisateurs de Gmail peuvent obtenir des adresses e-mail pratiquement illimitées en utilisant [email protected]("plus l'adressage").

J'aimerais avoir cela pour mon propre serveur de messagerie, qui exécute Postfix. Les données de la boîte aux lettres et de l'alias sont stockées dans une base de données MySQL.

Je soupçonne que la configuration d'alias doit être modifiée, de sorte que cela [email protected]soit mappé à la [email protected]boîte aux lettres, mais je n'arrive pas à savoir comment.

Alors, est-ce possible? Comment?

cweiske
la source

Réponses:

13

En dehors du cadre

recipient_delimiter = +

J'ai également dû modifier master.cf, de sorte que maildrop obtienne non seulement le destinataire, mais le véritable utilisateur:

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

Article de blog: http://cweiske.de/tagebuch/postfix-plus-addressing.htm

cweiske
la source
Vous avez demandé postfix, mais cela mentionne exim, qui est un serveur SMTP différent. BTW, notez que si vous avez un vrai serveur IMAP (pas seulement une boîte aux lettres), l'utilisation LMTPest beaucoup plus rapide que maildrop. Et si vous utilisez LMTP avec Cyrus, vous n'en aurez pas besoin.
mvp
1
l'utilisateur est debian-exim, mais c'est toujours postfix.
cweiske
J'ai sauvé ma journée avec {nexthop}. Je ne savais même pas que cela existait. Je vous remercie.
TCB13
Merci pour la réponse. Cela m'a beaucoup aidé. J'utilise postfix + procmail + dovecot sur un serveur virtualmin. Je viens d'ajouter la ligne "recipient_delimiter = +" et l'adressage plus semble fonctionner correctement. Dois-je faire quelque chose de plus pour procmail ou pigeonnier? Est-il également possible de restreindre ce domaine au niveau? Pour que je puisse activer cet adressage plus uniquement pour certains domaines sur mon serveur? Merci.
Vishnu
3

Vous n'avez pas précisé quel serveur de messagerie stocke vos e-mails. De nos jours, ce devrait être l'un des serveurs IMAP - comme Cyrus, Dovecot, Courier, ...

Personnellement, j'aime Cyrus IMAP. Il prend cela en charge avec une relative facilité :

Plus l'adressage - permet la livraison directe à une boîte aux lettres particulière (autre qu'une boîte de réception). Cela se fait via une adresse du formulaire: nom d'utilisateur + mailfolder @ domain, qui sera livrée dans le dossier INBOX.mailfolder de l'utilisateur (ou équivalent altnamespace). Cette sous-boîte aux lettres doit accorder à l'utilisateur qui publie le droit «p».

L'ajout de «p» à droite est une étape importante - sinon tout le courrier (en utilisant +ou non) sera remis au nom d'utilisateur INBOX.

Notez que vous devez utiliser LMTP(protocole de transport de courrier local) pour livrer votre courrier à partir postfixde IMAPserveur et doivent également postfix configurer recipient_delimiter(ou recipient_delimiters) comme décrit ici :

recipient_delimiter = +
mvp
la source
tant que les e-mails n'atteignent pas l'utilisateur / maildrop car l'adresse e-mail n'est pas reconnue par le serveur de réception, la prise en charge du serveur IMAP n'a pas d'importance.
cweiske
merci d'avoir donné un indice sur "plus l'adressage". avec ce nom, j'ai trouvé la solution.
cweiske du
2

La master.cfligne pour Dovecot:

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

Avec Postfix 2.4 et versions antérieures, utilisez ${nexthop}plutôt que${domain}

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

DmitrySandalov
la source
Merci. Ideed, La solution postfix seule ne suffit pas si vous utilisez Dovecot. Vous aurez besoin de cette configuration supplémentaire pour Dovecot.
David Verdin