Tâche #35574
Scénario #35547: L'adresse d'envoi des mails Zéphir a changé suite à la MAJ
Étude
100%
Historique
#1 Mis à jour par Benjamin Bohard il y a 8 mois
Pour la question du mode local ou distant, le critère de sélection est la valeur de la variable MAIL_ADRESSE dans la configuration Zéphir qui est toujours "localhost". En définitive, le mode devrait toujours être local sauf à modifier le fichier de configuration.
Le champ d’en-tête mail_from est également tiré de la configuration Zéphir (MAIL_ACCOUNT) qui est soit équivalent à la variable creole system_mail_from, soit une chaîne vide si l’autre variable n’est pas disponible.
#2 Mis à jour par Benjamin Bohard il y a 8 mois
- Statut changé de Nouveau à En cours
#3 Mis à jour par Benjamin Bohard il y a 7 mois
- system_mail_from = bbohard@cadoles.com
- send_mail('from@cadoles.com', 'to@cadoles.com', 'subject', 'message')
Retour d’exim dans les logs
oct. 11 08:44:17 zephir exim[527685]: 2023-10-11 08:44:17 1qqSx7-002DH3-Kr <= bbohard@cadoles.com U=root P=local S=429 oct. 11 08:44:17 zephir exim[527686]: 2023-10-11 08:44:17 1qqSx7-002DH3-Kr == to@cadoles.com R=satellite_route T=remote_smtp defer (-54): retry time not reached for any host for 'cadoles.com'
Contenu du message
cat /var/spool/exim4/input/1qqSx7-002DH3-Kr-H 1qqSx7-002DH3-Kr-H root 0 0 <bbohard@cadoles.com> 1697006657 0 -received_time_usec .646499 -received_time_complete 1697006657.660171 -ident root -received_protocol local -body_linecount 1 -max_received_linelength 44 -auth_id root -auth_sender root@ac-test.fr -allow_unqualified_recipient -allow_unqualified_sender -local -tls_resumption A XX 1 to@cadoles.com 178P Received: from root by zephir.ac-test.fr with local (Exim 4.95) (envelope-from <bbohard@cadoles.com>) id 1qqSx7-002DH3-Kr for to@cadoles.com; Wed, 11 Oct 2023 08:44:17 +0200 045 Content-Type: text/plain; charset="us-ascii" 018 MIME-Version: 1.0 032 Content-Transfer-Encoding: 7bit 017 subject: subject 023F From: from@cadoles.com 019T To: to@cadoles.com 050I Message-Id: <E1qqSx7-002DH3-Kr@zephir.ac-test.fr> 034* X-rewrote-sender: root@ac-test.fr 041* X-rewrote-sender: root@zephir.ac-test.fr 038 Date: Wed, 11 Oct 2023 08:44:17 +0200
L’envelope-from est bien construit à partir de la variable system_mail_from alors que le header from est celui passé en argument à la fonction send_mail
msg = MIMEText(message) msg['From'] = mailfrom
#4 Mis à jour par Benjamin Bohard il y a 7 mois
Dans le cadre de l’envoi par Zéphir, dans uucp_rpc.py, le contenu du from est établi dans la configuration /usr/lib/python3/dist-packages/zephir/config.py
MAIL_ACCOUNT = conf.get_creole("system_mail_from", "") or ""
Cette variable n’est pas modifiée, ni dans /usr/lib/python3/dist-packages/zephir/backend/config.py, ni dans uucp_rpc.py.
#5 Mis à jour par Benjamin Bohard il y a 7 mois
La piste du rewrite ne semble pas cohérente avec l’observation faite : le from réécrit est celui de l’enveloppe alors que c’est celui de l’en-tête qui ne correspond pas à ce qu’on attend.
#6 Mis à jour par Benjamin Bohard il y a 7 mois
Dans le cas précis, le problème via de la combinaison d’un nom de messagerie d’établissement différent du nom de domaine et de l’absence de réécriture de l’entête from.
Avec le passage de la variable system_mail_from_for_headers à oui, le comportement est celui souhaité.
#7 Mis à jour par Benjamin Bohard il y a 7 mois
- protocole local
- from avec le nom de domaine de la machine
- domaine de messagerie d’établissement différent du nom de domaine machine
- pas de réécriture des en-tête (seulement enveloppe)
Le nom de l’émetteur est réécrit avec le nom de domaine de messagerie, celui-là n’est pas réécrit dans l’en-tête from
###################################################################### # REWRITE CONFIGURATION # ###################################################################### begin rewrite # If mail is local: prefix local domain with machine name *@ac-test.fr "${if eq {$received_protocol}{local}\ {$local_part@zephir.cadoles.com}\ fail}" Eh #### #### All message To: root #### root@ac-test.fr touser@ac-test.fr T root@cadoles.com touser@ac-test.fr T #### #### Force From: and To: envelope and Reply-To header #### \N^([^@]+)@zephir.ac-test.fr*$\N "${if eq {$received_protocol}{local}{unkown@cadoles.com} fail}" Fr \N^([^@]+)@zephir.cadoles.com$\N "${if eq {$received_protocol}{local}{unkown@cadoles.com} fail}" Fr \N^([^@]+)@zephir.ac-test.fr$\N "${if eq {$received_protocol}{local}{touser@ac-test.fr} fail}" T \N^([^@]+)@zephir.cadoles.com$\N "${if eq {$received_protocol}{local}{touser@ac-test.fr} fail}" T
Exemple avec send_mail('bbohard@ac-test.fr', 'to@cadoles.com', 'subject', 'message')
cat /var/spool/exim4/input/1qqVx3-002LJ6-41-H 1qqVx3-002LJ6-41-H root 0 0 <unkown@cadoles.com> 1697018185 0 -received_time_usec .124989 -received_time_complete 1697018185.128574 -ident root -received_protocol local -body_linecount 1 -max_received_linelength 44 -auth_id root -auth_sender root@ac-test.fr -allow_unqualified_recipient -allow_unqualified_sender -local -tls_resumption A XX 1 to@cadoles.com 177P Received: from root by zephir.ac-test.fr with local (Exim 4.95) (envelope-from <unkown@cadoles.com>) id 1qqVx3-002LJ6-41 for to@cadoles.com; Wed, 11 Oct 2023 11:56:25 +0200 045 Content-Type: text/plain; charset="us-ascii" 018 MIME-Version: 1.0 032 Content-Transfer-Encoding: 7bit 042 subject: =?utf-8?q?=5BZephir=5D_subject?= 025* From: bbohard@ac-test.fr 033F From: bbohard@zephir.cadoles.com 019T To: to@cadoles.com 050I Message-Id: <E1qqVx3-002LJ6-41@zephir.ac-test.fr> 034* X-rewrote-sender: root@ac-test.fr 042* X-rewrote-sender: root@zephir.cadoles.com 038 Date: Wed, 11 Oct 2023 11:56:25 +0200
et avec send_mail('unknown@cadoles.com', 'to@cadoles.com', 'subject', 'message')
cat /var/spool/exim4/input/1qqVqu-002LAe-7w-H 1qqVqu-002LAe-7w-H root 0 0 <unkown@cadoles.com> 1697017804 0 -received_time_usec .246036 -received_time_complete 1697017804.248816 -ident root -received_protocol local -body_linecount 1 -max_received_linelength 44 -auth_id root -auth_sender root@ac-test.fr -allow_unqualified_recipient -allow_unqualified_sender -local -tls_resumption A XX 1 to@cadoles.com 177P Received: from root by zephir.ac-test.fr with local (Exim 4.95) (envelope-from <unkown@cadoles.com>) id 1qqVqu-002LAe-7w for to@cadoles.com; Wed, 11 Oct 2023 11:50:04 +0200 045 Content-Type: text/plain; charset="us-ascii" 018 MIME-Version: 1.0 032 Content-Transfer-Encoding: 7bit 042 subject: =?utf-8?q?=5BZephir=5D_subject?= 025F From: unkown@cadoles.com 019T To: to@cadoles.com 050I Message-Id: <E1qqVqu-002LAe-7w@zephir.ac-test.fr> 034* X-rewrote-sender: root@ac-test.fr 042* X-rewrote-sender: root@zephir.cadoles.com 038 Date: Wed, 11 Oct 2023 11:50:04 +0200
#8 Mis à jour par Benjamin Bohard il y a 7 mois
- Statut changé de En cours à À valider
- % réalisé changé de 0 à 100
#9 Mis à jour par Laurent Gourvenec il y a 6 mois
- Statut changé de À valider à Résolu
#10 Mis à jour par Joël Cuissinat il y a 6 mois
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0