Probleme d'envoi de mail html

[Résolu]
Signaler
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006
-
Bonjour,
Je travaille sur un script qui m'envoie un mail tous les jours a minuit pour me transmettre un listing sur la journée qui vien de s'écouler.
Le probleme c'est que je veu que le mail soit en html (pour qu'il ai la meme aparance que mon site) mais il n'aparait pas en htmlet reste sous le format texte standart.

Comment faire pour qu'il aparaisse comme je le soushaite?

Mon code :
<?
mysql_connect ("localhost", "xxxxxxxxxx", "xxxxxxxxxxxxxxxxx"); //connexion a MySQL
mysql_select_db("xxxxxxxxxxxxxxxx"); // Sélection de la base xxxxxxx
//la base "xxxx" est connecté, on peut travailler dessus
verifUser ("administrateur", "administrateur");
//déclaration fonction
//requete SQL type pour afficher des donnees dans les colonnes
function sql_query ($FAI){
if($FAI!=""){
$reponse = mysql_query("SELECT * FROM dslam_none WHERE FAI='$FAI'");
}
return $reponse;
}
function affichageListeDSLAMnone ($reponse){
while ($elementListe = mysql_fetch_array($reponse)){
echo'<tr class='.listeDSLAM_bgColor($i, $elementListe['etat']).'>
<td class="tableau3">
[mailto:mail_admin@monsite.com mail_admin@monsite.com]>";


/* sujet */
$subject = "Récapitulatif des DSLAM non joignables";


/* message */
$message= '
<HTML>
<HEAD>
<TITLE>France Télécom - liste des DSLAM non joignables</TITLE>
<META HTTP-EQUIV=
"Content-Type" CONTENT="text/html; charset=iso-8859-1">
<link href="maquette.css" rel="stylesheet" type="text/css">
</HEAD>

Liste des DSLAM totalement ou partiellement non joignable ce jour :

http://monsite.com/images/ct_mr.jpg" width="14" height="34"></td>
</tr>
<tr>
<td background="http://monsite.com/images/ct_bbg.JPG" width="1" height="10"></td>
<td background="http://monsite.com/images/ct_mr.jpg" width="14" height="34"></td>
</tr>
<tr>
<td background="http://monsite.com/images/ct_bbg.JPG" width="1" height="10"></td>
<td background="http://monsite.com/images/ct_mr.jpg" width="14" height="34"></td>
</tr>
<tr>
<td background="http://monsite.com/images/ct_bbg.JPG" width="1" height="10"></td>
<td background="</td'>http://monsite.com/images/ct_br.jpg"></td>
</tr>
</table>

</html>
';
/* Pour envoyer un mail au format HTML, vous pouvez configurer le type Content-type. */
$headers = "Content-Type: text/html; charset="iso-8859-1"\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\n";
$headers .= "Content-Disposition: inline \n\n";

/* et hop, à la poste */
mail($to, $subject, $message, $headers);
//on vide la table l'envoi terminé
mysql_query("TRUNCATE dslam_none");
?>

Voila, en espérant que cela vous inspire

3 réponses

Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

$headers  = 'Content-Type: text/html; charset=iso-8859-1'."\r\n";


// Je ne connais pas les deux ent&#234;tes qui suivent, mais en tout cas il faut respecter les \r\n en fin de ligne

$headers .= 'Content-Transfer-Encoding: quoted-printable'."\r\n";

$headers .= 'Content-Disposition: inline'."\r\n";



Visiblement ce sont tes headers qui ont une

mauvaise syntaxe. La moindre erreur et ton client mail ne pourra pas
les interpréter.

Et je te conseil de rajouter :


$headers .= 'From: toi <tonmail@domain.com>'."\r\n";




Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008

Effectivement, les headers n'étaient pas bon...
je les aient donc remplacés par ca :
//headers
$from = "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";


//le tout a la poste
mail($to, $subject, $corps,$from);

Merci pour ton aide
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

hmmm ok!