Question Postfix: que sont exactement les domaines alias?


Je pensais comprendre "les domaines des alias", car il s’agissait simplement d’un alias pour un autre domaine! Ainsi, lorsque je configure une boîte aux lettres du type "info@main.com" et que j'ajoute "alias.com" comme alias de domaine pour "main.com", l'adresse "info@alias.com" convient également ... Mais non !

J'ai donc ajouté ces domaines:

  • main.com
  • alias.com

J'ai créé cette boîte aux lettres:

  • info@main.com

Ensuite, j'ai mappé ces domaines d'alias:

  • alias.com => main.com

Et puis quand j'envoie un mail à info@alias.com je reçois cette erreur:

Recipient address rejected: User unknown in virtual mailbox table (state 13).

Je ne veux pas créer un alias pour chaque domaine, car j'en ai plusieurs. Je ne souhaite pas non plus utiliser de caractère générique (comme info @ *) car il existe également d'autres domaines qui ne sont pas des alias de main.com

Alors ... qu'est-ce que c'est exactement?


8
2017-08-07 21:55


origine


Je m'attendais à la même chose et je ne comprends toujours pas pourquoi c'est ne pas l'affaire. - Josh M.


Réponses:


L'explication est dans la documentation: http://www.postfix.org/VIRTUAL_README.html#virtual_alias

Vous voulez "alias mailboxes" aka virtual_mailbox_alias et virtual_mailbox_maps mais vous parlez de "domaines d'alias": http://www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class


4
2017-08-07 22:21



Je n'arrive pas à donner un sens à la documentation - comment avez-vous domain1.com alias tout boîte aux lettres à <mailbox>@domain2.com? - Josh M.
@JoshM. Vous pouvez utiliser une table de hachage dans virtual_alias_maps avec une entrée du formulaire @domain1.com @domain2.com. Voir ma réponse pour plus de détails. - Sam Hanes


Ajouter alias.com à virtual_alias_domains est la première étape correcte, mais cela indique simplement à Postfix que vous souhaitez utiliser ce domaine pour les alias. Il ne dit pas ce que les alias devraient être. Pour cela, vous devez utiliser une carte d'alias virtuelle.

Premièrement, ajoutez quelque chose comme ceci à main.cf:

virtual_alias_domains = alias.com
virtual_alias_maps = hash:/etc/postfix/virtual

Ajouter virtual_alias_maps vous obtient un fichier (/etc/postfix/virtual) qui est utilisé comme un alias virtuel. Mais que mettez-vous dans ce fichier? Selon le virtual (5) page de manuel:

Le format de saisie de la commande postmap (1) est le suivant:

  pattern address, address, ...

Lorsque le motif correspond à une adresse mail, remplacez-la par l'adresse correspondante.

et

Avec des recherches à partir de fichiers indexés tels que DB ou DBM, ou à partir de réseaux   tables telles que NIS, LDAP ou SQL, chaque requête utilisateur @ domaine produit une   séquence de motifs de requête comme décrit ci-dessous. Chaque motif de requête est envoyé à   chaque table de recherche spécifiée avant d'essayer le motif de requête suivant, jusqu'à ce qu'un   match est trouvé.

...

@domain address, address, ...

Rediriger le courrier pour d'autres utilisateurs du domaine à l'adresse.

et

Le résultat de la recherche est soumis à la réécriture d'adresse:   Quand le résultat a la forme @otherdomain, le résultat devient   le même utilisateur dans otherdomain. Cela ne fonctionne que pour le premier   adresse dans un résultat de recherche multi-adresses.

Par conséquent, en mettant cela dans /etc/postfix/virtual réalisera l'alias de domaine complet que vous souhaitez:

# map any <user>@alias.com to the matching <user>@main.com
@alias.com     @main.com

Ensuite, puisque ce fichier est une table de hachage, vous devez exécuter postmap (explication, page de manuel):

postmap /etc/postfix/virtual

Vous pouvez trouver plus d’informations sur les domaines virtuels dans la Domaine Virtuel Postfix et à propos d'alias dans le Guide de réécriture d’adresses Postfix.


6
2017-11-07 18:12



Ainsi, l’interface de PostfixAdmin a un bug, parce que l'interface (edit.php?table=aliasdomain) omet de dire à l'utilisateur que pas d'alias en fait, cela se produira si vous le marquez comme étant activé. - Peter Krauss
Je ne dirais pas que c'est un bogue, exactement, puisqu'il configure en fait un domaine d'alias virtuel. Je suppose plutôt que PostfixAdmin attend de vous que vous connaissiez les domaines d’alias virtuels de Postfix et que vous ayez également besoin d’ajouter des alias réels afin de leur permettre de faire quoi que ce soit. Ce serait probablement mieux si cela vous le disait. - Sam Hanes


@ Josh M.

Je ne sais pas si c'est la bonne manière et / ou la bonne pratique, mais j'utilise quelque chose comme ça:

virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/     virtual_alias_maps.cf

$ cat /etc/postfix/domain_rewriting 
/^(.*)@domain1.com$/     ${1}@domain2.com

1
2018-01-29 18:01



Bien que cela ne soit pas tout à fait incorrect (il fera ce que vous attendez), utiliser une table regex est moins efficace que d’utiliser une table de hachage avec @domain1.com @domain2.com syntaxe que j'ai détaillée dans ma réponse. - Sam Hanes


Ceci est ma version courte de la réponse de @ sam-hanes (qui a fonctionné pour moi)

Dans ton virtual_alias_mapsajouter :

@from.domain <tab> @to.domain

Dans la ligne de commande, faites:

 postmap /path/to/yourvirtualalismapsfile

Dans ton main.cf ajout de fichier:

virtual_alias_domains : from.domain

virtual_alias_domains indique à Postfix que toutes les adresses de boîte aux lettres qui se présentent sous la forme mailbox@from.domain sont toutes des alias.


1
2018-02-19 13:17