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


27

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 root@example.com vers user@example.com en insérant root: usermon / etc / aliases puis en exécutant newaliases. Cependant, je voudrais faire l'équivalent de *: user, afin que tous les e-mails à example.com soient envoyés à user@example.com.

Comment puis-je faire cela?

Réponses:


19

luser_relay = user@example.comdans main.cfce que tu veux.

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


1
J'ai ajouté cela à main.cf et redémarré postfix. J'ai obtenu l'erreur suivante dans /var/log/main.info: <pre> 550 5.1.1 <myrandom@example.org>: adresse du destinataire rejetée: utilisateur inconnu dans la table des destinataires locaux; de = <me@gmail.com> à = <myrandom@example.org> </pre>
Rory

Ainsi, example.org n'est pas dans votre liste de domaines de destinataires locaux, ou quelque chose d'autre a été mal configuré.
womble

7
Je l'ai fait fonctionner. En plus de l'option luser_relay que vous avez mentionnée, vous devez également ajouter l'option "local_recipient_maps =". Cette page de documentation postfix explique que: postfix.org/postconf.5.html#luser_relay
Rory

Cette méthode conserve-t-elle l'adresse e-mail À? (les cartes virtuelles le réécrivent et l'adresse d'origine de To: est perdue.)
user14645

1
Les questions @Sverre sont des questions, pas des commentaires sur des réponses de sept ans à des questions tangentiellement liées.
womble

17

Ce que vous recherchez 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  user@example.com

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

Vous devrez ensuite modifier le fichier /etc/postfix/main.cf et vous assurer 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 lié à l'utilisation de l' luser_relayoption, comme d'autres l'ont mentionné, est qu'il 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.


8

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

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

La regexppartie fait l'affaire. En outre, /etc/postfix/virtual_aliasvous mettez quelque chose comme ceci:

/^test/ you@yourdomain.com

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.


6

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 = user@domain.com (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_mapset pointer toutes les captures de domaine virtuel vers ce même compte principal.

Veuillez consulter luser_relay pour en savoir plus.


3

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

En /etc/postfix/main.cfplus
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

En /etc/postfix/catch-all-local.regexpplus
!/^owner-/ your-catch-all-user

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


0

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

alias_database = static:user@example.com
alias_maps = static:user@example.com

Si user@example.com n'est pas local pour ce système, vous souhaiterez probablement également ignorer tous les messages de rebond en remplaçant les lignes se terminant bouncepar discardin master.cfpour éviter les boucles de messagerie.


-4

Je déteste être un killjoy, mais votre problème est que vous utilisez Postfix. Postfix rend précisément cet exercice très difficile. Je sais: j'ai dû le faire il y a quelques années et il a fallu des jours et des jours pour bien faire les choses. L' luseroption est la bonne, mais il y a aussi d'autres choses à faire. (Et même le nom de l'option montre que les auteurs de Postfix ne voulaient pas vraiment le supporter.)

Je recommande de passer à Courier. Courier prend en charge cette méthode «fourre-tout» d'une manière beaucoup plus sensée en raison de la façon dont elle étend son système d'alias existant.


1
Postfix ne rend pas le tout difficile. Les alias virtuels sont le moyen standard de faire des catchalls dans Postfix et ils sont très faciles. Cela dit, sur tout sauf un serveur de messagerie jouet pour votre propre domaine personnel, les fourre-tout sont une très mauvaise idée.
Rob Chanter le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.