Hello
je viens d’installer la v20 et j’ai un probleme de mail. les logs indiquent une malformation des headers
2024-10-04 10:04:18 1swdIQ-002JTy-00 rewrite: malformed address: Return-Path: =?UTF-8?B?RXNwZXJsd may not follow « =?UTF-8?B?RXNwZXJsdWF0?= » [email protected]
le mail d’erreur mentionne aussi le meme probleme :
Remote server returned '554 5.0.0 <gmail-smtp-in.l.google.com#5.0.0 smtp; 550-5.7.1 [188.165.76.33] Messages with multiple addresses in From: header are 550-5.7.1 not accepted. For more information, go to 550-5.7.1
Peux tu confirmer que tu utilise la méthode d’envoi « PHP Mail » ?
Peux tu essayer de remplacer cette ligne dans le fichier CMailFile.class.php $out .= "Return-Path: ".$this->getValidAddress($this->addr_from, 0, 1).$this->eol2;
pour info, j’ai aussi essayé avec et sans avoir rempli « E-mail utilisé pour les retours d’erreur (champ « Errors-To » dans les e-mails envoyés) » dans les parametres smtp
et j’ai aussi essayé sans cette configuration dans mon php ini :
mais rien n’y fait. toujours la meme erreur dans mes logs d’exim. il y a un return-path qui n’est pas bon et met le bazar dans les headers du mail sortant
En effet, un Return-Path ne devrait contenir que Return-Path: <[email protected]>
Mais si après avoir changé la ligne par $out .= "Return-Path: ".$this->getValidAddress($this->addr_from, 1, 1).$this->eol2;
Tu as toujours Return-Path: =?UTF-8?B?RXNwZXJsd <[email protected]>
Alors, soit tu n’a pas changé dans la version effective de dolibarr, soit tu as un composant (exim) qui modifie la valeur return-path mise par dolibarr par la sienne. postfix se permet cela dans certaines config.
Peux tu confirmer que tu utilise la méthode d’envoi « PHP Mail » ?
Si, il utilise bien la couche commune.
Tu ne devrais pas avoir à forcer le sender dans php. Mais peu importe, cela devrait marcher dans les 2 cas.
Peux tu faire ceci;. Ajoute dans accueil - configuration - divers, la constante MAIN_MAIL_DEBUG. refait un test d’envoi.
Et post le contenu du fichier dolibarr_mail.log
si je ne force pas le sender, l’enveloppe part avec le user php, c’est pas terrible. c’est pour ca.
MAIN_MAIL_DEBUG en nom et valeur ? je laisse vide ?
From: =?UTF-8?B?RXNwZXJsdWF0?= <[email protected]>
Return-Path: <[email protected]>
Reply-To: [email protected]
Date: Wed, 13 Nov 2024 14:39:02 +0000
Message-ID: <1731508742.phpmail-dolibarr-test@3549d3983220356b1f448faa884d65cbf9b5905a>
X-Dolibarr-TRACKID: test@3549d3983220356b1f448faa884d65cbf9b5905a
X-RemoteAddr: 91.161.82.145
X-Mailer: Dolibarr version 20.0.1 (using php mail)
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="multipart_x.1731508742.x_boundary"
Content-Transfer-Encoding: 8bit
Feedback-ID: test:3549d3983220356b1f448faa884d65cbf9b5905a:dolib
This is a message with multiple parts in MIME format.
--multipart_x.1731508742.x_boundary
Content-Type: text/plain; charset=UTF-8
Bonjour
Ceci est un mail de test envoyé à [email protected].
Les lignes sont séparées par un retour à la ligne.
--multipart_x.1731508742.x_boundary--
OK. Le changement sur le Return-Path est bien effectif.
Peux tu maintenant essayer avec
$out .= "Return-Path: ".$this->getValidAddress($this->addr_from, 2, 1).$this->eol2;
(en bref, après avoir testé en changeant le 0 en 1 du 2eme paramètre, maintenant on essaie avec 2).
Puis remet moi la log dolibarr_mail.log
logs exim :
2024-11-14 15:24:16 1tBalc-004k2h-1s rewrite: malformed address: Return-Path: [email protected] may not follow =?UTF-8?B?RXNwZXJsdWF0?= [email protected]
2024-11-14 15:24:16 1tBalc-004k2h-1s rewrite: missing or malformed local part (expected word or « < »)
2024-11-14 15:24:16 1tBalc-004k2h-1s <= [email protected] U=mondomaine_app P=local S=1232
2024-11-14 15:24:17 1tBalc-004k2h-1s => [email protected] R=dnslookup T=remote_smtp H=mail.mondomaine.com [82.165.107.159] X=TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256 CV=no DN="C=CH,L=Schaffhausen,O=Plesk,CN=Plesk,[email protected]" C=« 250 2.0.0 Ok: queued as D95105FD69 »
2024-11-14 15:24:17 1tBalc-004k2h-1s Completed
logs mail dolibarr :
From: =?UTF-8?B?RXNwZXJsdWF0?= <[email protected]>
Return-Path: [email protected]
Reply-To: [email protected]
Date: Thu, 14 Nov 2024 14:24:16 +0000
Message-ID: <1731594256.phpmail-dolibarr-test@3549d3983220356b1f448faa884d65cbf9b5905a>
X-Dolibarr-TRACKID: test@3549d3983220356b1f448faa884d65cbf9b5905a
X-RemoteAddr: 91.161.82.145
X-Mailer: Dolibarr version 20.0.1 (using php mail)
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="multipart_x.1731594256.x_boundary"
Content-Transfer-Encoding: 8bit
Feedback-ID: test:3549d3983220356b1f448faa884d65cbf9b5905a:dolib
This is a message with multiple parts in MIME format.
--multipart_x.1731594256.x_boundary
Content-Type: text/plain; charset=UTF-8
Bonjour
Ceci est un mail de test envoyé à [email protected].
Les lignes sont séparées par un retour à la ligne.
--multipart_x.1731594256.x_boundary--
Alors, en fait le probleme vient du FROM, mais je ne parviens pas à le régler.
j’ai modifié la ligne suivante :
// $out .= "From: ".$this->getValidAddress($this->addr_from, 3, 1).$this->eol2;
$out .= "From: ".$this->getValidAddress($this->addr_from, 2, 1).$this->eol2;
je n’ai plus le From: =?UTF-8?B?RXNwZXJsdWF0?=, donc de ce point de vue, ca parait mieux.
le log mail dolibar es propre
MAIS…
au niveau exim j’ai toujours une malformation
2024-11-15 09:14:50 1tBrTe-005SFC-2l rewrite: malformed address: Return-Path: [email protected] may not follow [email protected]
Si je commente la ligne de return-path, en effet, il n’est plus présent, mais l’erreur exim devient alors
En d’autres termes, il doit y avoir une erreur dans le rendu qui ne se voit pas dans les logs dolibarr, peut etre au niveau du saut de ligne, qui fait que la premiere ligne (FROM) se retrouve mixée avec la suivante (return-path ou reply-to si on commente le return-path)
Si je fais un envoi de test vers gmail, le message d’erreur en retour est toujours le meme que depuis le début :
Remote server returned '554 5.0.0 <gmail-smtp-in.l.google.com#5.0.0 smtp; 550-5.7.1 [188.165.76.33] Messages with multiple addresses in From: header are 550-5.7.1 not accepted. For more information, go to 550-5.7.1
→ le from, malgre le fait qu’il paraisse correctement formaté dans le log mail de dolibar, ne l’est pas (ou plus) lorsqu’Exim envoi le mail. Le FROM semble mélangé à la ligne suivante.
sont toutes valides. Le from avec les caractère bizares sont en fait le nom du destinataire encodé selon les regles d’envoi de mail suivi de l’email entre crochet.
Bref, la log (qui est le paquet exact envoyé à la commande mail) montre que le message envoyé est bien correct. Il l’est aussi meme sans les modifications. Aussi si ce dernier pose problème à l’arrivée, c’est qu’il est transformé et corrompu par le MTA, mais hélas sur ce point je ne peux aider.
Eldy, regaerde mon dernier commentaire. Il ne s’agit pas de l’encodage du from mais probablement du saut de ligne.
Comme je l’ai dit plusieurs fois, j’ai sur le même serveur dolibarr et des wordpress. il n’y a qu’avec dolibar que j’ai cette malformation des headers. les emails partent correctement avec les wordpress.
j’ai également un autre dolibar en version 19 sur un autre serveur qui ne pose pas non plus probleme.
alors tout pointe sur cette version de dolibarr, qui pour une raison qui semble échapper à tout le monde, formatte incorrectement le header.
regarde bien ce que j’ai décrit. Si je commente le return-path, j’ai toujours la meme erreur qui se reporte sur la ligne suivante.
au niveau exim j’ai toujours une malformation
2024-11-15 09:14:50 1tBrTe-005SFC-2l rewrite: malformed address: Return-Path: [email protected] may not follow[email protected]
Si je commente la ligne de return-path, en effet, il n’est plus présent, mais l’erreur exim devient alors