Envois de mail HTML via PHP pour thunderbird

Résolu/Fermé
-pappou- Messages postés 10 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 14 juil. 2009 à 20:00
-pappou- Messages postés 10 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 15 juil. 2009 à 00:58
Bonjour, j'ai crée récemment un envoie de mail via un formulaire PHP sur mon site ,hors les mails s'affiche correctement dans hotmail , en revenche , sur mozilla thunderbird le mail s'affiche avec tout les codes html .
J'aimerais une petite aide de votre part .
voici mon script :


<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Envois d'email</title>
<?php mysql_connect("xxxxx", "xxxxxx", "xxxx");
        mysql_select_db("xxxxx");
		$oui = 'oui';
		
	 $headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     $headers .= 'From:  "'.$_SESSION['ndc'].'" <administration@xxxx.fr>' . "\r\n";
	 $from = $_SESSION['ndc']
     
		?>
<link href="../../Css/miseenpage.css" rel="stylesheet" type="text/css" />
</head>

<body class="page">
<p class="banniere"> </p>
<p class="Titre"> Envoyer un Email </p>
<?php include("../Menu/menu1.html"); ?>
<div class="contenu">
<?php if ($_POST['message'] == "") { ?>
<form name="envoiemail" id="envoiemail" method="post" accept-charset="iso-8859-1" action="">
<p>Destinataires : <select name="desti">
    <option value="all">Toutes personnes inscrite</option>
    <option value="membre">Membres</option>
    <option value="modo">Mod&eacute;rateur</option>
    <option value="admin">Administrateur</option>
    </select></p>
    
<p>Sujet de votre email :<br />
<input name="sujet" type="text" id="sujet" />
</p>
<p>Message :<br />
 
 <textarea name="message" cols="50" rows="10">votre message</textarea><br />
</p>
<p>
<input name="Submit" type="submit" value="Envoyer" />
</p>
</form>
<?php } else {
	$desti = addslashes($_POST['desti']);
	$messages = '<html><head><title>' . $_POST['sujet'] . '</title></head><body>' . stripslashes($_POST['message']) . '</body></html>';
	 
	 if ($desti == 'admin')
    { ?>
   <?php    $retour = mysql_query("SELECT * FROM compte WHERE admin='$oui'");
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{ 
mail(stripslashes($donnees['email']), $_POST['sujet'], $messages, $headers, $from);
}}
    [Autres fonctions If]
?>
<p>Le message a bien &eacute;t&eacute; envoy&eacute;, merci.</p>
<?php } ?> 
</div>
</body>
</html>
A voir également:

4 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
14 juil. 2009 à 22:35
Essaye ce tuto : Envoyer un mail en PHP
1
-pappou- Messages postés 10 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 1
15 juil. 2009 à 00:58
Merci a toi avion-f16 ! :)
Grace a ton tuto , j'ai pu corrigé ce problème , cela viens de la lecture différente des différents serveurs!
( Et oui ...j'étais loin de me douter d'une telle chose! )
1
voyageur59 Messages postés 1112 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 10 novembre 2009 132
14 juil. 2009 à 20:09
Bonjour,

Pas sur mais à mon avis l'en-tête du message n'est pas bon (header).
Essayes avec ça:

Content-Type: text/html; charset=iso-8859-1; Content-Transfer-Encoding: 8bit\n\n
0
-pappou- Messages postés 10 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 1
14 juil. 2009 à 20:18
Malheureusement , non , je viens d'essayer , cela ne change rien :s
Merci quand meme pour l'aide!
0