Project

General

Profile

Anomalie #4321

Conformité des Message-Id de envoyer_mail

Added by jluc - about 1 month ago. Updated about 1 month ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
04/18/2019
Due date:
% Done:

0%

Resolution:
Navigateur:

Description

Dans ecrire/inc/envoyer_mail.php on a

function mail_normaliser_headers($headers, $from, $to, $texte, $parts = '') {
//...
$uniq = rand() . '_' . md5($to . $texte) . $domain[0];
// ... puis...
$mid = 'Message-Id: <' . $uniq . '>';
// ... et pour finir ...
$headers .= "From: $from\n$type$rep$mid\nMIME-Version: 1.0\n";

Le message-ID construit est conforme à la RFC 1036 comme indiqué dans le source mais ne semble pas conforme à la RFC 822 qui exige un @ en plus au milieu cf le point 2.1.5 de https://www.ietf.org/rfc/rfc1036.txt et aussi https://tools.ietf.org/html/rfc5322#section-3.6.4 ou https://tools.ietf.org/html/rfc2822#section-3.6.4 qui les actualisent.

C'est dommage.
A priori il suffirait de remplacer le calcul de $uniq par

$uniq = rand() . '_' . md5($to . $texte) . '@' . $domain[0];

De plus, du fait qu'il n'est pas conforme, il n'est pas accepté par la classe phpMailer qui le remplace par son propre Message-Id :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/facteur/trunk/phpmailer-php5/class.phpmailer.php#L2094

History

#1 Updated by jluc - about 1 month ago

Cependant cet $uniq sert aussi à construire d'autres éléments du mail, notamment les lignes qui séparent des parties du mail. Je ne sais pas si un gênera ou pas ces autres éléments. À défaut il pourrait y avoir un $uniqid avec le et un $uniq comme l'actuel.

#2 Updated by b b about 1 month ago

  • Target version set to 3.3

#3 Updated by jluc - about 1 month ago

En fait facteur surcharge inc/envoyer_mail donc ça n'intervient pas pour ce ticket.

Also available in: Atom PDF