Envois de mail HTML via PHP pour thunderbird
Résolu
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 :
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é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 été envoyé, merci.</p>
<?php } ?>
</div>
</body>
</html>Configuration: Windows XP Firefox 3.0.11
4 réponses
-
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! ) -
Essaye ce tuto : Envoyer un mail en PHP
-
Malheureusement , non , je viens d'essayer , cela ne change rien :s
Merci quand meme pour l'aide! -
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