Le domaine de la messagerie est fort complexe et je suis loin d'être suffisamment compétent en la matière pour avoir la prétention de tout dire sur le sujet.
Nous allons conclure cette partie par quelques remarques pêle-mêle.
Received: from chris (chris.maison.mrs [192.168.0.10]) by gw1.maison.mrs (Postfix) with SMTP id A38181105FGrâce à l'aide d'un aimable lecteur, voici la solution, qui utilise les "expressions régulières". Je ne crois pas avoir vu ailleurs dans le monde une syntaxe plus obscure que celle des expressions régulières, mais leur obscurité n'a d'égale que leur puissance. Disons simplement pour ceux qui l'ignorent que les expressions régulières sont une sorte de filtre qui permet de dire si oui ou non une combinaison de caractères se trouve dans un texte donné. Ici, nous allons chercher toutes les lignes commençant par "Received:" et nous allons demander à Postfix de les supprimer.
Si vous voulez gommer de l'en-tête de vos messages sortants l'étape de votre MTA, il "suffit" donc de faire les choses suivantes :
- Créez un fichier texte nommé par exemple "header_checks" dans le répertoire /etc/postfix/
- mettez-y dedans l'expression :
/^Received:*/ IGNORE
- faites :
postmap /etc/postfix/header_checkspour construire la base de données
- ouvrez main.cf et dé commentez la ligne :
header_checks = regexp:/etc/postfix/headers_checks
- relancez postfix par
postfix reloadEt voilà. Les messages que vous enverrez depuis n'importe quel poste de votre réseau local sembleront tous provenir directement de votre passerelle.
Notez que cette "facilité" permet également d'autres choses :
- rejeter un message en fonction du contenu d'un en-tête, en donnant la directive REJECT
/^from: * chose@public\.com$/ REJECTRejettera tous les messages dont le champ from se terminera par chose@public.com
- inscrire dans les logs en fonction du contenu d'un en-tête, en donnant la directive WARN. Ceci recopie l'en-tête dans les logs, sans pour autant rejeter le message.
Bien des choses seraient encore possibles: