Sur un serveur de messagerie postfix, qui est configuré pour envoyer du courrier directement (site internet), je veux implémenter une vérification conditionnelle de l'en-tête pour certains domaines de réception (dans cet exemple, pour rester simple, juste avec gmail.com), pour laisser postfix utiliser un smarthost. Mais, au lieu de s'authentifier avec le smarthost smtp.google.com, il continue à envoyer les mails adressés à : *@gmail* directement (si je mets un mauvais mot de passe exprès, il ne s'en plaint pas).
J'ai créé les fichiers suivants dans /etc/postfix/ :
relay_passwd :
smtp.google.com mygmailaccount@gmail.com:mypassword
vérifications de l'en-tête :
^To: <*@gmail*>/ FILTER relay:smtp.gmail.com:25
et les référencer dans main.cf avec des options supplémentaires :
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
header_checks = regexp:/etc/postfix/header_checks
maintenant j'ai postmappé les fichiers (et depuis, redémarré postfix aussi plusieurs fois) :
# postmap relay_passwd
# postmap header_checks
et il lance un avertissement :
postmap: warning: header_checks, line 1: record is in "key: value" format; is this an alias file?
Mais je suppose que ce n'est pas le problème, n'est-ce pas ? Quoi qu'il en soit, je dois faire quelque chose de mal.
J'ai trouvé les fils de discussion suivants, mais ils ne correspondent pas tout à fait à ce que je veux :
Utiliser un relais différent dans postfix
Relais conditionnel dans postfix
Différents relayhost postfix basés sur l'utilisateur du système ?
L'ordre dans main.cf est-il pertinent ? Le regexp dans header_checks est-il correct ?
0 votes
Regarder postfix.org/header_checks.5.html le format du
header_checks
doit être/pattern/flag action
. Il manque le début de votre ligne/
. De plus, l'expression régulière est incorrecte -*
signifie "0 ou plusieurs occurrences du caractère/bloc précédent". La ligne devrait très probablement être/^To: .*<.*@gmail.*>/ FILTER relay:smtp.gmail.com:25
- noter les.*
devant l'adresse électronique pour faire correspondre les noms. Il y a encore d'autres problèmes avec les expressions rationnelles (comme le fait qu'elles correspondent à l'adresse foo@gmailwhatever.tld), mais cela devrait être un bon début.