Page 1 sur 1

problème reception mail

Posté : 05 janv. 2007, 16:52
par webide
Bonjour,
J'ais installé sur mon site un script de contact.
Le problème vient du fait que lorsque je reçois le mail, j'ais les balises html qui apparaissent (outlook)
Voici le code:

Code : Tout sélectionner

<?php //Pour tous les paramètres -> 1 = oui ; 0 = non $email_admin = '[email protected]'; // Votre email $nom_site = 'xxxxxxx.com'; // Le nom du site où sera installé le script $sujets = array('Technique','Suggestion','Autre'); // Sujets possibles aux messages (pour en rajouter prenez exemple sur les 3 premiers) $choix_urgent = 1; // Vous pouvez choisir d'activer ou non la fonction "urgent", ainsi l'internaute pourra signaler que son mail est urgent ou non $choix_nom = 1; // Nom obligatoire ? $votre_mail = 1; // Afficher votre adresse email directement ? $mail_to_internaute = 1; // Envoyer un email récapitulatif de la demande à l'internaute ? // // Ne pas modifier ci-dessous // if(isset($_POST['envoyer']) && $_POST['envoyer'] == 'ok') // Si l'on envoye quelque chose { $reponse = '<br />'; $mail = htmlentities($_POST['mail']); // On récupère l'email $nom = htmlentities($_POST['nom']); // Le nom $sujet = htmlentities($_POST['sujet']); // Le sujet $message = nl2br(htmlentities($_POST['message'])); // Le message $urgent = htmlentities($_POST['urgent']); // On récupère le type du message if($choix_nom == 1) // Si le nom est obligatoire { if(!empty($nom)) // Si le champ est bien rempli on met 1 { $Snom = 1; } elseif(empty($nom)) // Sinon on met 0 { $Snom = 0; } } else // Si le champ n'est pas activé on met 1 { $Snom = 1; } if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mail)) // Vérification de la syntaxe de l'adresse email. { if(!empty($mail) && !empty($message) && $sujet != '' && $Snom == 1) // On vérifie que l'email, le message et le sujet sont bien présent et on vérifie si tout est correct avec le nom { // L'entete du message $entete = "MIME-Version: 1.0\r\n"; $entete .= "Content-type: text/html; charset=iso-8859-1\r\n"; $entete .= "From: <$mail>\r\n"; $entete .= "Reply-To: $mail\r\n"; $email = ''; // La variable du message a envoyer if($urgent == 1) // Si le message est urgent on le signal $email .= '<strong>Message urgent !!</strong><br />'; if(empty($nom)) $nom = 'NON INDIQUE'; // On créée le message $email .= 'Vous recevez ce message de votre site <u>' .$nom_site. '</u> pour une raison <strong>' .$sujets[$sujet]. '</strong>.<br />Son email est : ' .$mail. '<br /><br />'; $email .= 'Le message de l\'utilisateur <u>' .$nom. '</u> :<br />-----<br />'; $email .= $message; $email = stripslashes($email); mail($email_admin, 'Message Internaute: ' .$sujets[$sujet], $email, $entete); // Et on envoye le tout if($mail_to_internaute == 1) // Si on doit envoyer un message à l'internaute pour confirmer sa demande { $email_internaute = 'Bonjour,<br /><br />'; $email_internaute .= 'Vous recevez cet email car vous venez de contacter le site ' .$nom_site. ', votre message a bien été transmis.<br />'; $email_internaute .= 'Vous trouverez ci-dessous un récapitulatif de votre message :<br /><br />'; $email_internaute .= 'Votre Nom : ' .$nom. '<br />'; $email_internaute .= 'Votre email : ' .$mail. '<br />'; $email_internaute .= 'Votre message : <br />'; $email_internaute .= $message. '<br /><br />'; $email_internaute .= 'Merci de ne pas répondre à ce mail automatique.<br />'; $email_internaute .= $nom_site; mail($mail, 'Prise de contact avec ' .$nom_site, $email_internaute, $entete); } $reponse .= 'Votre message a bien été transféré au webmaster. Nous vous remercions.<br />'; // on indique que tout s'est bien déroulé. } else { $reponse .= 'Merci de bien completer tous les champs.<br />'; // On indique une erreur } } else { $reponse .= 'Merci d\'utiliser une adresse email valide.'; // On indique que la syntaxe de l'email n'est pas correcte. } } //\\ Fin - Le texte commençant par "<form..." et finissant par "</form>" peut être placé partout dans la page ?> <form name="form1" method="post" action=""> <p style="color:#FF0000;"><?php echo $reponse; ?></p> <fieldset><legend>Formulaire de contact</legend> <?php if($votre_mail == 1) { echo '<p>Adresse email du webmaster : <u>' .$email_admin. '</u></p>'; } ?> <p><label>Votre email : <input type="text" name="mail" value="<?php echo $mail; ?>" />*</label></p> <p><label>Votre nom complet : <input type="text" name="nom" value="<?php echo $nom; ?>" /><?php if($choix_nom == 1) { echo '*'; } ?></label></p> <p>Sujet de votre message : <select name="sujet"> <?php for($i = 0; $i < count($sujets); $i++) { echo '<option value="' .$i. '">' .$sujets[$i]. '</option>'; } ?> </select>* </p> <?php if($choix_urgent == 1) { echo '<p>Votre message est-il urgent ? :<br />'; echo '<label><input type="radio" name="urgent" value="1"> Oui</label><br />'; echo '<label><input type="radio" name="urgent" value="0" checked> Non</label><br />'; echo '(Merci de ne pas abuser de l\'urgence)</p>'; } ?> <p> Votre message : <br /> <textarea name="message" cols="55" rows="10"><?php echo $_POST['message']; ?></textarea>* </p> <p> <input type="hidden" name="envoyer" value="ok"> <input type="submit" name="Submit" value="Envoyer"> <input type="reset" name="Submit2" value="R&eacute;initialiser"> </p> <p>* Champs obligatoires. </fieldset> </form>

Posté : 05 janv. 2007, 17:30
par fab
Tu es sur de ne pas avoir désactivé l'HTML avec outlook?

Posté : 05 janv. 2007, 17:56
par webide
Oui mais en allant sur un forum outlook on m'avait dit qu'il fallait mettre les balises html pour que le message apparaisses correctement