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

Résolu
xander18 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -  
xander18 Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   2
 
Résolue ;)
0