Function mail() qui me rend fou......

Résolu/Fermé
xander18 Messages postés 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 - 7 juil. 2014 à 20:40
xander18 Messages postés 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 - 7 juil. 2014 à 21:18
Bonjour, j'ai un formulaire de contact qui sert a m'envoyer un email lorsqu'un utilisateur l'utilise. j'utilise la function mail() de php or celui ci m'envoie bien le mail mais avec un header érroné unknow sender. j'ai rien trouvé depuis se matin j'ai lu masse de tutoriel et de question réponse sur la même erreur toujours rien.

voici mon code :


<?php
$mail = 'moi@gmail.com'; // Déclaration de l'adresse de destination.
$name = $_POST['name'];
$expediteur = $_POST['email'];
$msg = $_POST['message'];
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = $msg;
$message_html = "<html><head></head><body>$msg</body></html>";
//==========

//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========

//=====Définition du sujet.
$sujet = "Nouvelle email de Game-drop !";
//=========

//=====Création du header de l'e-mail.
$header = "From: \"$name\"<$expediteur>".$passage_ligne;
$header.= "Reply-to: \"$name\" <$expediteur>".$passage_ligne;
$header.= "MIME-Version: 1.0".$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-1\"".$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-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;
//==========

//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header, "From: $name <$expediteur>" );
//==========
header('Location: confirmemail.php');
?>

cordialement,
xander



A voir également:

1 réponse

xander18 Messages postés 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 2
7 juil. 2014 à 21:18
Résolue ;)
0