Bonjour à tous. J'ai ici un problème très curieux avec skynet lors de l'envoi de mails fort curieux.
J'avais au début un code d'envoi de mail tout à fait normal qui faisait que, sous skynet, les personnes recevaient le code html brut.
Je me suis donc ingénié à faire comprendre aux providers d'adresse mail que c'était un mail en html. Skynet restait impassible. J'ai donc trouvé une solution en envoyant une version sans et une version avec html. Le problème c'est que skynet, bête comme chou, publie les deux et même les boundaries.
Bon dieu quelle saloperie! En attendant, de nombreux inscrits à ma newsletter ne savent pas la lire ou obtiennent quelque chose de très folklorique à lire.
Voici le code utilisé
Code PHP :
function mail_LC($receveur_TO,$sujet_TO,$message_TO)
{
$mail = $receveur_TO; // Déclaration de l'adresse de destination
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui bugs
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML
$message_txt = html_entity_decode(strip_tags(str_replace("<br />","\n",$message_TO)));
$message_html = "<html><head></head><body>".$message_TO."</body></html>";
//==========
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
//=====Définition du sujet
$sujet = $sujet_TO;
//=========
//=====Création du header de l'e-mail
$header = "From: XXXX <xxx>".$passage_ligne;
$header.= "Reply-to: XXXX <xxx>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "smtp: smtp.xxx.com".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
//=====Création du message
$message = $passage_ligne.$boundary.$passage_ligne;
//=====Ajout du message au format texte
$message.= "Content-Type: text/plain; charset=iso-8859-15".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=iso-8859-15".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
//=====Envoi de l'e-mail
mail($mail,$sujet,$message,$header);
//==========
}
Si vous voyez là-dedans ce qui me permettrait de faire comprendre à skynet que je veux qu'il m'affiche du texte ou si vous savez comment faire en sorte que skynet affiche du html, vous me seriez vraiment secourables.