Bonjour,
J'ai mis au point un petit script PHP qui me permet d'envoyer un message individuel automatique à l'ensemble des personnes inscrites dans une base de données.
Or, en faisant les tests avec mes propres adresses, j'ai constaté que le message était considéré comme un spam par Gmail et que spamassassin lui donnait notamment une note de 1.7 à cause d'une "INVALID_DATE Invalid Date: header (not RFC 2822)"
Or, mon script ne génère pas la date (je laisse ça au serveur de messagerie), et, dans le code source du message (obtenu sur Thunderbird), je constate que l'affichage de la date est ainsi :
Date: Thu, 18 Sep 2008 14:39:12 0100
Mon message (qui est destiné à des étrangers incluant des grecs et des asiatiques) est en utf-8.
Je pense que le fait que le "+" devant le fuseau horaire devienne un caractère non reconnu par Thunderbird est la cause du problème de validation de la date et est lié au format utf-8 (je peux me tromper complètement, évidemment). Sauf que je n'ai AUCUNE idée du moyen de résoudre ce problème.
Voici la manière dont j'élabore l'en-tête :
et dont j'initie l'envoi du message :$entetes = "Ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
$entetes = "From: \"XXX\" [XXX@xx.eu]\r\n" ;
$entetes = $entetes."Return-Path: XXX@xx.eu\r\n" ;
$entetes = $entetes."Reply-To: \"XXX\" [XXX@xx.eu]\r\n" ;
$entetes = $entetes."Content-Type: text/plain; charset= utf-8\r\n" ;
$entetes = $entetes."Content-Transfer-Encoding: 8bit\r\n" ;
$entetes = $entetes."Bcc:XXX@xx.eu\r\n" ;
(dites-moi si vous avez besoin du code pour $destinataire, $sujet et $contenu)mail ($destinataire, $sujet, $contenu, $entetes)
Merci de votre aide
Partager