web-dev-qa-db-fra.com

postfix - comment redirigez-vous tous les e-mails vers un seul utilisateur, par exemple *@example.com → [email protected]

J'utilise postfix pour mon e-mail. Je sais que je peux utiliser la commande/etc/aliases et newaliases pour rediriger certains e-mails, par exemple, je peux rediriger [email protected] vers [email protected] en mettant root: user dans mes/etc/alias, puis en exécutant newaliases. Cependant, je voudrais faire l'équivalent de *: user, afin que tous les e-mails envoyés à example.com soient envoyés à [email protected].

Comment puis-je faire cela?

27
Rory

luser_relay = [email protected] dans ton main.cf c'est ce que vous voulez.

Pour désactiver la vérification des utilisateurs et accepter tous les e-mails, vous devez ajouter le local_recipient_maps = option. Documentation

19
womble

Ce que vous cherchez est une table d'alias virtuelle et vous pouvez le faire en utilisant ce qui suit ...

Vous devez d'abord éditer, ou créer s'il n'existe pas déjà, le fichier / etc/postfix/virtual.

example.com   whatever
@example.com  [email protected]

Après avoir enregistré cela, vous devrez exécuter postmap /etc/postfix/virtual afin de générer l'index / etc/postfix/virtual.db Postfix lira.

Vous devrez ensuite modifier le / etc/postfix/main.cf et assurez-vous que la ligne suivante n'est pas commentée:

virtual_alias_maps = hash:/etc/postfix/virtual

Cela permettra en fait à postfix de connaître la table des alias virtuels et de l'utiliser.

Le problème avec l'utilisation de luser_relay L'option, comme d'autres l'ont mentionné, est que cela est traité comme l'utilisateur de dernier recours pour les adresses inconnues par l'agent de livraison local. Si postfix ne gère le courrier que pour un domaine, cela peut être utilisé pour cela, mais il peut masquer d'autres erreurs de configuration et entraînera probablement des résultats inattendus si plusieurs domaines sont traités.

La seule mise en garde que je me sens obligé de mentionner est qu'en créant un alias générique de cette nature, vous ouvrez votre système de messagerie pour accepter des messages pour des adresses qui n'existeront pas et courez le risque d'avoir la boîte aux lettres remplie rapidement de spam pour inexistant boîtes aux lettres.

17
Jeremy Bouse

C'est en fait assez simple. Tout ce que vous devez faire est de mettre quelque chose comme ça dans votre main.cf fichier:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

La partie regexp fait l'affaire. Aussi dans /etc/postfix/virtual_alias vous mettez quelque chose comme ceci:

/^test/ [email protected]

Dans cet exemple, vous devriez recevoir tout le courrier dont la destination commence par "test". N'oubliez pas de postmap/etc/postfix/virtual_alias et rechargez postfix.

8
patryk

Pour combiner une réponse/un commentaire ci-dessus qui a fonctionné le plus facilement pour moi (j'ai un domaine principal):
Ajoutez ce qui suit à /etc/postfix/main.cf:

luser_relay = [email protected] (or local system user)
local_recipient_maps =

(local_recipient_maps = n'a pas de valeur définie)

J'utilise un compte Linux utilisateur local et j'ajoute également le même utilisateur à/etc/aliases afin que l'utilisateur reçoive tous les messages à root, postmaster, etc.

Vous pouvez également combiner cette même adresse dans votre virtual_alias_maps et pointez toutes les captures de domaine virtuel sur ce même compte principal.

Veuillez consulter luser_relay pour en savoir plus.

6
bshea

Si vous souhaitez utiliser une adresse fourre-tout pour mon domaine, vous pouvez utiliser /etc/aliases combiné avec une expression régulière comme suit:

Dans /etc/postfix/main.cf ajouter
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

Dans /etc/postfix/catch-all-local.regexp ajouter
!/^owner-/ your-catch-all-user

Cela devrait faire l'affaire. Cela a fonctionné pour moi et fonctionne avec virtual_alias_maps en parallèle.

3
Vasile Goian

Il existe un type de table de recherche statique moins connu dans Postfix, qui peut être utilisé exactement à cette fin:

alias_database = static:[email protected]
alias_maps = static:[email protected]

Si [email protected] n'est pas local pour ce système, vous voudrez probablement aussi supprimer tous les messages de rebond en remplaçant les lignes se terminant par bounce par discard dans master.cf pour éviter les boucles de messagerie.

0
user542704