PHP Mail compatible avec hotmail

Bonjour, j'ai un problème avec ce formulaire que j'ai créée. Les message a destination d'adresse hotmail n'arrive pas et je recoi dans ma boite, un message m'indiquant que le mail a destination de @hotmail n'a pas été remis.
Voici mon code :
<?php 
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$headers = "From: Nomdemonsite<nomdemonsite@fai.fr>\n";
$headers .= "X-Sender: <nomdemonsite@fai.fr>\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 1\n";
$headers .= "Return-Path: <nomdemonsite@fai.fr>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$transfert = "Message de :$nom\n ";
$transfert .= "Son adresse : $mail \n";
$transfert .= "Sujet : $sujet \n";
$transfert .= "Message : $message \n";
$reply = "Votre message à bien été envoyé ! Nous y répondrons rapidement à l'adresse $mail \n";
$reply .= "Cordialement, \n";
$reply .= "Nom de mon site \n";
$reply .= "http://adressedemonsite.fr \n";
$msg_erreur = "Attention ! Vous devez obligatoirement fournir : <br>";
$resultat = "$msg_erreur";
if (empty($_POST['mail']))
  $resultat .= " - Votre adresse mail <br>";
if (empty($_POST['sujet']))
  $resultat .= " - Le sujet de votre message <br>";
if (empty($_POST['message']))
  $resultat .= " - Le message que vous voulez envoyer <br>";

if (strlen($resultat) > strlen($msg_erreur)) {
	echo "<h1> Informations manquantes !</h1>";
  echo "<body> $resultat </body>";
} else {
	echo "<h1> Message envoyé ! </h1>";
	echo "<body> Votre message à bien été envoyé, vous recevrez une confirmation à l'adresse $mail </body>";
  mail ("nomdemonsite@fai.fr", "Message d'un visiteur de mon site", $transfert, "From: $mail");
  mail ("$mail", "Message envoyé ", $reply, "$headers");
}

?>

Mes headers sont ils faux ? Qu'en pensez vous ?
D'avance merci :)

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. base toi sur cela car il fonctionne sur hotmail :) ce script
    <?php
    $sujet = 'Sujet de l\'email';
    $message = "Bonjour,<br />
    <strong>Ceci est un message html envoyé grâce à php.</strong><br />
    merci :)";
    $destinataire = 'destinataire@domaine.com';
    $headers = "From: \"expediteur moi\"<moi@domaine.com>\n";
    $headers .= "Reply-To: moi@domaine.com\n";
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
    if(mail($destinataire,$sujet,$message,$headers))
    {
            echo "L'email a bien été envoyé.";
    }
    else
    {
            echo "Une erreur c'est produite lors de l'envois de l'email.";
    }
    ?>
    1. salut,

      mais est ce qu'il l'envoie dans les spams ou dans la boite de reception ?
    2. Salut gilbert :) J'ai essayer ton code, et je reçoit une erreur de la fonction mail qui me dit "Spam détecte, mail non envoyé" ... Est-ce qu'un mail de PHP mail() peut seulement arriver chez hotmail ?!
    3. je ne sais pas DSL
    4. oui , il arrive chez hotmail mais dans la boite spam
    5. Moi, depuis un serveur free.fr, les mail n'arrive PAS chez hotmail, meme pas en Spam ... Alors j'ai decider de refuser la fonction mail() de confirmation aux adresse en @msn hotmail ou live ...