Hello !
Sur un serveur j'ai plusieurs services qui envoient des mails, et j'aurais besoin de rediriger tous les mails qui sortent, vers une seule adresse mail (pas gérée par le postfix du serveur) sauf pour un seul service identifié par le From: ou là, les mails doivent partir normalement (sans être redirigés).
J'ai pas mal fouillé le net et je trouve un max de catch-all pour la redirection (ce que je sais déjà faire) mais pas trouvé grand chose pour mon besoin.
Donc en mixant plusieurs petits trucs, j'ai fini par faire ça :
dans le main.cf
header_checks = pcre:/etc/postfix/headers_check
et donc dans headers_check
/From:((?!projects@mondomaine.fr).)*$/ REDIRECT redirect@mondomaine.fr
ou projects@mondomaine.fr est le From: qui ne doit pas être redirigé.
Quand je joue avec
postmap -q "From: root <root@mondomaine.fr>" pcre:/etc/postfix/headers_check
j'ai bien
REDIRECT redirect@mondomaine.fr
Mais quand j'envoie un mail en ligne de commande, par ex.
php -r "mail('toto@example.com', 'test', 'test');"
dans les logs, je vois malheureusement
[…] 4DA7541BAE: from=<root@projects.mondomaine.fr>, size=348, nrcpt=1 (queue active)
[…] 4DA7541BAE: to=<toto@example.com>, relay=mx1.ovh.net[137.74.125.138]:25, delay=7, delays=0.98/0/5.9/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as D8BA3ED2)
[…] 4DA7541BAE: removed
Donc le mail part bien sans être redirigé.
Est-ce que ce que je veux faire est possible ?
Et surtout pouquoi avec postman la regexp matche, et que postfix semble s'en cogner (même pas de log de header_checks) ?
J'ai fais un peu de nettoyage des infos au-dessus, mais ca ne change rien à la compréhension je pense.
Merci d'avance.
# recipient_canonical_map + sender_dependent_relayhost_maps
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
A priori je verrais ça comme ça:
mise en place d'un process smtp supplementaire avec une recipient_canonical_map qui re-ecrit les destinataires vers redirect@mondomaine.fr
dans le main, ajout d'un sender_dependent_relayhost_maps qui gère l'exception du projets@mondomaine.fr
Quelque chose dans ce gout la:
master.cf
main.cf
/etc/postfix/sender_dependent_relayhost_maps
/etc/postfix/recipient_canonical_map
[^] # Re: recipient_canonical_map + sender_dependent_relayhost_maps
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
En théorie ta solution devrait marcher d'ailleurs,
Il existe une autre methode moins bourine que la mienne avec les restrictions classes, et autre trouvable ici:
https://serverfault.com/questions/284702/redirect-specific-e-mail-address-sent-to-a-user-to-another-user
[^] # Re: recipient_canonical_map + sender_dependent_relayhost_maps
Posté par fanto30 . Évalué à 1.
Merci de t'être penché sur le problème :-).
Je vais essayer ta proposition.
Mais ce que j'arrive pas comprendre c'est pourquoi postfix ne traite pas le fichier header_checks (alors qu'en testant avec postman c'est pile poil ce dont j'ai besoin).
C'est vraiment un truc de fou.
J'avais vu le lien que tu as mis, mais ca me semble être plutôt pour marcher dans l'autre sens, en réception.
Je suis sidéré de ne rien trouver sur le net, ça m'avait semblé plutôt trivial comme besoin au départ …
[^] # Re: recipient_canonical_map + sender_dependent_relayhost_maps
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1. Dernière modification le 14 juin 2017 à 12:41.
postmap ne fait que tester une map, il ne permet pas de determiner si postfix comprendra son resultat au moment ou cette map sera utilisée.
Il y a quelques warnings sur (smtp_)header_checks et REDIRECT qui parlent de l'impossibilité d'utiliser REDIRECT lors des checks smtp:
mais dans le même temps de nombreux exemples existent de REDIRECT basé sur des sujets, from,…
c'est possible dans l'exemple, mais pour postfix la reception ou l'emission c'est peut ou prou la même chose à ce niveau.
Hum trivial faut pas exagerer non plus ;)
Et il y a max d'exemple sur le net d'ailleurs de header_checks+REDIRECT
D'ailleurs, n'aurait tu pas un "receive_override_options=no_header_body_checks" qui trainerait quelque part dans ta configuration (main/master) ? Il est dangereux de ne fournir qu'un extrait de config, surtout avec postfix
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.