Conformité des Message-Id de envoyer_mail / Facteur dans le core ?
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