[Sequanux-ml] Postfix : correspondance utilisateur at domaine utilisateur at machine ?

Grégory Oestreicher greg at sequanux.org
Dim 7 Oct 21:25:53 CEST 2012


Hello,

On Sunday 07 October 2012 20:28:21 Adrien Caillot wrote:
> 
> Dans /etc/aliases j'ai :
> 
> root:   adrien
> adrien:         adrien.caillot at free.fr
> 
> Et si j'écris, depuis la machine, un e-mail à root ou à adrien, je le
> reçois bien sur mon adresse Free.
> Idem si j'écris depuis l'extérieur un e-mail à
> root at monserveur.mondomaine ou adrien at monserveur.mondomaine.

Dans ton /etc/postfix/main.cf je suppose que 'monserveur.mondomain' est listé 
dans 'mydestination' (soit explicitement, soit implicitement si ce n'est pas 
défini).

> Par contre, si j'écris un e-mail à root at mondomaine ou adrien at mondomaine,
> je reçois un mail d'erreur.
> 
> <adrien at mondomaine>: host mail.domaine[92.X.X.X] said: 550
>      5.1.1 <adrien at mondomaine>: Recipient address rejected: User unknown in
>      virtual alias table (in reply to RCPT TO command)

Par contre 'mondomaine' est un domaine qui est peut-être bien listé dans 
'virtual_alias_domains'. Si ce n'est pas nécessaire alors liste le comme 
domaine local, en l'ajoutant dans mydestination.

> Mes questions : est-ce que ce comportement est normal par défaut ?

Oui :)

> Est-ce que je peux le modifier pour avoir une correspondance directe
> entre une adresse machin at mondomaine et l'utilisateur machin sur le serveur ?
> 
> Cela me pose problème car j'ai installé mailman et les mailing-lists ne
> fonctionnent que si j'écris à liste at monserveur.mondomaine alors que je
> voudrais écrire directement à liste at mondomaine.
> 
> (J'ai bien trouvé une solution en mettant un alias dans
> /etc/postfix/virtual de liste at mondomaine vers
> liste at monserveur.mondomaine mais c'est très lourd à gérer si je dois
> faire ça pour toutes les listes ainsi que toutes les adresses utilisées
> par mailman pour gérer les listes (-request, etc.).)

Sans garanties car non testé, il devrait être possible d'utiliser 
recipient_canonical_maps.

Dans ton main.cf:
recipient_canonical_maps = hash:/etc/postfix/recipient_c_m

Dans /etc/postfix/recipient_c_m:
@mondomaine @monserveur.mondomaine

Un coup de 'postmap /etc/postfix/recipient_c_m' et tu peux tester. Par contre 
ça veut dire que *tous* les mails à destination d'une adresse de 'mondomaine' 
va être réécrite en 'monserveur.mondomaine'. C'est peut-être un peu brutal, et 
il serait plus propre de mettre 'mondomaine' dans mydestination.

Sinon la solution que tu as est la bonne, même si c'est la plus fastidieuse. 
Si tu veux te faciliter la vie regarde les regexp_table(5) et pcre_table(5).

> Je sèche sur ce problème, que je n'avais pourtant pas eu sur mon ancien
> serveur (Debian Lenny) avec une configuration comparable.

Il y a certainement des valeurs par défaut qui ont changé dans Postfix.

A+,
Greg


Plus d'informations sur la liste de diffusion Sequanux-ml