Tâche #14582
Scénario #17185: Traitement express- PNE-SR (39-41)
exim4: Pb lors de la remontées des message d'alerte, il n'est pas possible d'identifier le serveur qui a émis le message
Description
template "/usr/share/eole/creole/distrib/exim-rewrite.conf"
#### #### All message To: root #### %if %%nom_domaine_local != %%domaine_messagerie_etab #root@%%nom_domaine_local %%force_to %%to_flags root@%%nom_domaine_local %%force_from %%to_flags #root@%%domaine_messagerie_etab %%force_to %%to_flags root@%%domaine_messagerie_etab %%force_from %%to_flags %else #root@%%nom_domaine_local %%force_to %%to_flags root@%%nom_domaine_local %%force_from %%to_flags %end if %end if
substituer la variable force_to par force_from, j'ai dupliquer l'ancienne ligne mise en commentaire
Demandes liées
Historique
#1 Mis à jour par Emmanuel IHRY il y a plus de 8 ans
- Tâche parente changé de #14487 à #14733
#2 Mis à jour par Daniel Dehennin il y a environ 8 ans
- Description mis à jour (diff)
#3 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Fichier config.eol ajouté
- Statut changé de Nouveau à En cours
Contexte :
pouvoir envoyer des messages en utilisant les variables creole system_mail_from & system_mail_from_for_headers
Avec la configuration issue du fichier config.eol joint, voici ce qu'indique le fichier /etc/exim4/eole.d/rewrite.conf :
###################################################################### # REWRITE CONFIGURATION # ###################################################################### begin rewrite #### #### All message To: root #### root@cete-ouest.i2 postmaster T #### #### Force From: and To: envelope and Reply-To header #### \N^([^@]+)@esbl-grr.*$\N "${if eq {$received_protocol}{local}{essai@cete-ouest.i2} fail}" Ffrs \N^([^@]+)@esbl-grr.*$\N "${if eq {$received_protocol}{local}{postmaster} fail}" T
En l'état la règle de réécriture ne fonctionne pas. Les messages sont envoyés en root@cete-ouest.i2
En modifiant le fichier de la façon suivante :
root@cete-ouest.i2 essai@cete-ouest.i2 Ffrs
après relance d'exim, les mails arrivent bien en essai@cete-ouest.i2
Il semble donc que la règle de réécriture ne soit pas appliquée et que ce signalement corresponde en fait à celui-ci : https://dev-eole.ac-dijon.fr/issues/14729
#4 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Tâche parente changé de #14733 à #15002
#5 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Assigné à mis à Thierry Bertrand
- Temps estimé mis à 3.00 h
- Restant à faire (heures) mis à 3.0
#6 Mis à jour par Thierry Bertrand il y a environ 8 ans
on peut contourner le problème en utilisant les règles de réécriture étendue.
Dans notre cas, l'utilisation du pattern
root@cete-ouest.i2 essai@cete-ouest.i2 Ffrs
fait le boulot
#7 Mis à jour par Michel BALLY il y a environ 8 ans
un contournement possible sur la conf du serveur en mode expert dans la famille messagerie
la variable Activer les règles de réécriture étendue à passer à oui et rajouter dans schéma de réécriture :
root@domaine
serveur@domaine
Ffrs
#8 Mis à jour par Daniel Dehennin il y a environ 8 ans
Est-il possible d’avoir le résultat de la commande suivante:
for var in domaine_messagerie_etab \ system_mail_from \ system_mail_from_for_headers \ system_mail_to \ system_mail_to_for_headers \ exim_relay_smtp do echo "${var}=$(CreoleGet ${var})" done
#9 Mis à jour par Thierry Bertrand il y a environ 8 ans
domaine_messagerie_etab=cete-ouest.i2 system_mail_from=essai@cete-ouest.i2 system_mail_from_for_headers=oui system_mail_to=postmaster system_mail_to_for_headers=non exim_relay_smtp=smtp.melanie2.i2
#10 Mis à jour par Daniel Dehennin il y a environ 8 ans
J’ai fait le test suivant depuis un amon, qui utilise le scribe du même établissement comme relais SMTP:
- Envoyer les mails à l’admin du scribe
CreoleSet system_mail_to admin@etb1.ac-test.fr
- Désactiver la réécriture de l’entête
From:
CreoleSet system_mail_from_for_headers non
- Désactiver la réécriture de l’enveloppe
MAIL FROM
CreoleSet --default system_mail_from
- Reconfigure
- Envoyer un mail à root
echo bidule | mail -s 'test mail' root
J’obtiens :
- Dans les logs de l’Amon :
2016-02-26T11:36:04.153473+01:00 amon.etb1.lan exim[17388]: 2016-02-26 11:36:04 1aZFki-0004WS-48 <= root@etb1.lan U=root P=local S=487 2016-02-26T11:36:04.508417+01:00 amon.etb1.lan exim[17390]: 2016-02-26 11:36:04 1aZFki-0004WS-48 => admin@etb1.ac-test.fr R=satellite_route T=remote_smtp H=scribe.etb1.lan [10.1.3.5] X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128 C="250 OK id=1aZFki-0006aE-9o" 2016-02-26T11:36:04.508741+01:00 amon.etb1.lan exim[17390]: 2016-02-26 11:36:04 1aZFki-0004WS-48 Completed
- Dans les logs du Scribe :
2016-02-26T11:36:04.456657+01:00 scribe.etb1.lan exim[25310]: 2016-02-26 11:36:04 1aZFki-0006aE-9o Classified as ham (score -0.8) 2016-02-26T11:36:04.485927+01:00 scribe.etb1.lan exim[25310]: 2016-02-26 11:36:04 1aZFki-0006aE-9o <= root@etb1.lan H=(amon.etb1.lan) [10.1.3.1] P=esmtps X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128 S=768 id=E1aZFki-0004WS-48@amon.etb1.lan 2016-02-26T11:36:04.592573+01:00 scribe.etb1.lan exim[25312]: 2016-02-26 11:36:04 1aZFki-0006aE-9o => /home/mail/admin/ <admin@etb1.ac-test.fr> R=ldap_route T=directory_ldap 2016-02-26T11:36:04.592955+01:00 scribe.etb1.lan exim[25312]: 2016-02-26 11:36:04 1aZFki-0006aE-9o Completed
- Le source du message affiché par roundcube
Return-path: <root@etb1.lan> Envelope-to: admin@etb1.ac-test.fr Delivery-date: Fri, 26 Feb 2016 11:27:18 +0100 Received: from [10.1.3.1] (helo=amon.etb1.lan) by scribe.etb1.lan with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from <root@etb1.lan>) id 1aZFcE-0006SN-BS for admin@etb1.ac-test.fr; Fri, 26 Feb 2016 11:27:18 +0100 Received: from root by amon.etb1.lan with local (Exim 4.82) (envelope-from <root@etb1.lan>) id 1aZFcE-0004Oc-58 for admin@etb1.ac-test.fr; Fri, 26 Feb 2016 11:27:18 +0100 Date: Fri, 26 Feb 2016 11:27:18 +0100 To: root@amon.etb1.ac-test.fr User-Agent: Heirloom mailx 12.5 6/20/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <E1aZFcE-0004Oc-58@amon.etb1.lan> From: root <root@amon.etb1.ac-test.fr> X-Spam-Status: No X-Spam-Score: -0.1 bidule
Le champs From:
du mail est bien de la forme <user>
@
<nom_machine>
.
<domaine_messagerie_etab>
.
Est-il possible d’avoir la valeur de la variable nom_domaine_local
?
#11 Mis à jour par Thierry Bertrand il y a environ 8 ans
root@esbl-grr:~# CreoleGet nom_domaine_local cete-ouest.i2
#12 Mis à jour par Daniel Dehennin il y a environ 8 ans
Voici la situation:
Les adresses électroniques systèmes ont par défaut une des formes suivante :
user
@
%%nom_domaine_local
si l’expéditeur ne précise pas le nom de domaine, par exemple en exécutant la commande suivante:root@internet:~# echo "Test" | mail -s "Test mail from shell" -r root root
user
@
%%nom_machine.%%domaine_messagerie_etab
pour le maître si l’expéditeur utilise la configuration définie dans/etc/mailname
user
@
%%conteneur.%%nom_machine.%%domaine_messagerie_etab
pour les conteneurs si l’expéditeur utilise la configuration définie dans/etc/mailname
Si la valeur de %%nom_domaine_local
est différente de la valeur de %%domaine_messagerie_etab
, alors on force les formes suivantes, pour le maître et les conteneurs uniquement :
user
@
%%nom_machine.%%domaine_messagerie_etab
pour le maîtreuser
@
%%conteneur.%%nom_machine.%%domaine_messagerie_etab
pour les conteneurs
Dans le cas de cette demande, nous avons:
%%nom_domaine_local
==
%%domaine_messagerie_etab
- les messages d’alertes sont envoyés avec des adresses sans domaine
le serveur SMTP va donc compléter les adresses avec @
%%nom_domaine_local
.
La solution la plus simple est donc de définir:
%%nom_domaine_local
au nom DNS utilisé sur le réseau%%domaine_messagerie_etab
au nom de domaine que vous souhaitez voir dans les mails.
#13 Mis à jour par Daniel Dehennin il y a environ 8 ans
Daniel Dehennin a écrit :
La solution la plus simple est donc de définir:
%%nom_domaine_local
au nom DNS utilisé sur le réseau%%domaine_messagerie_etab
au nom de domaine que vous souhaitez voir dans les mails.
Faire attention en revanche s’il y a une gestion de boîte mail en local, dans quel cas cette solution ne s’applique pas.
#14 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Tâche parente changé de #15002 à #15299
#15 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Assigné à
Thierry Bertrandsupprimé - Tâche parente changé de #15299 à #15626
#16 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Statut changé de En cours à Nouveau
#17 Mis à jour par christophe guerinot il y a environ 8 ans
- Assigné à mis à christophe guerinot
#18 Mis à jour par christophe guerinot il y a environ 8 ans
- Statut changé de Nouveau à En cours
#19 Mis à jour par christophe guerinot il y a environ 8 ans
- Statut changé de En cours à Nouveau
#20 Mis à jour par christophe guerinot il y a environ 8 ans
- Assigné à
christophe guerinotsupprimé
#21 Mis à jour par Thierry Bertrand il y a environ 8 ans
- Tâche parente changé de #15626 à #15871
#22 Mis à jour par Daniel Dehennin il y a environ 8 ans
Voir si #15374 n’a pas corrigé le problème, correctif à partir de 2.5.2.
#23 Mis à jour par Thierry Bertrand il y a presque 8 ans
- Tâche parente changé de #15871 à #16085
#24 Mis à jour par Thierry Bertrand il y a presque 8 ans
- Tâche parente changé de #16085 à #16199
#25 Mis à jour par Emmanuel IHRY il y a presque 8 ans
- Tâche parente changé de #16199 à #16578
#26 Mis à jour par Thierry Bertrand il y a plus de 7 ans
- Tâche parente changé de #16578 à #16726
#27 Mis à jour par Daniel Dehennin il y a plus de 7 ans
Une autre option, au lieu de différencier le %%nom_domaine_local
et %%domaine_messagerie_etab
serait de modifier le préfixe de qualification des adresses mail.
C’est à dire que lorsque quelqu’un envoi un mail sans spécifier le domaine de l’expéditeur avec un @<nom de domaine>
, le serveur ajoute un nom de domaine automatiquement.
Par défaut il s’agit de %%nom_domaine_local
, nous pourrions le forcer à @%%nom_machine.%%nom_domaine_local
, ce qui fait que la règle de réécriture du From
est bien prise en compte, même si cela devient inutile dans le cas d’identifier le serveur source puisque le nom de la machine fait partie de l’adresse mail de l’expéditeur.
Par contre si un expéditeur envoie manuellement avec un From
utilisant le domaine @%nom_domaine_local
, elle ne se sera pas réécrite.
#28 Mis à jour par Emmanuel IHRY il y a plus de 7 ans
- Tâche parente changé de #16726 à #16958
#29 Mis à jour par Emmanuel IHRY il y a plus de 7 ans
- Tâche parente changé de #16958 à #17185
#30 Mis à jour par Thierry Bertrand il y a plus de 7 ans
- Statut changé de Nouveau à Ne sera pas résolu
#31 Mis à jour par Emmanuel IHRY il y a plus de 7 ans
- Restant à faire (heures) changé de 3.0 à 0.0