Bonjour,
j'utilise la commande mail() pour envoyer des courriels de confirmation d'inscription, mais certains destinataires ne les reçoivent pas (exemple chez @orange.fr ou @ac-academie.fr). Ces envois n'arrivent même pas en tant que spam... est-ce contournable ou bien les mails issus de chez LWS via PHP sont filtrés par ces hébergeurs destinataires ? Est-ce un problème de contenu mail incomplet, où puis-je alors trouver la syntaxe complète ?
Mon code est le suivant :
<?php
$mail = $_POST['mel'];
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) {$passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; }
$message_txt = "Bonjour, **********";
$message_html = "Bonjour, **********";
$boundary = "-----=".md5(rand());
$sujet = "Confirmation d'inscription à *****.fr";
$header = "From: \"Message automatique de ******.fr\" <******@*****.fr>".$passage_ligne;
$header.= "Reply-To: \"Ceci n'est pas une adresse valide\" <******@*****.fr>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
$message.= $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$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;
mail($mail,$sujet,$message,$header);
?>
Bien à vous.