problème reception mail

Eléphant du PHP | 96 Messages

05 janv. 2007, 16:52

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>

ViPHP
fab
ViPHP | 2657 Messages

05 janv. 2007, 17:30

Tu es sur de ne pas avoir désactivé l'HTML avec outlook?
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 96 Messages

05 janv. 2007, 17:56

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