|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Sam Mar 01, 2008 8:59 Sujet du message: Envoyer un message en html |
|
|
bonjour
pour développer ma newsletter hebdo, j'ai créé un script maison. il calcul une variable $html que je souhaite ensuite envoyer par mail().
lorsque je fais un echo $html, j'ai le bon format. par contre, lorsque j'utilise la fonction mail et que j'ouvre le mail reçu, c'est le code qui s'affiche...
quelqu'un a-t-il la solution ?
Merci |
|
| |
|
 |
SuperCureuil WRInaute passionné

Inscrit le: 09 Mar 2007 Messages: 592 Localisation: Bxl, Belgique
|
Posté le : Sam Mar 01, 2008 9:31 Sujet du message: Envoyer un message en html |
|
|
Modifier l'en-ête du mail peut-être ?
| Code: |
| Content-Type: text/html; charset="iso-8859-1"'."\n"; |
 |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Sam Mar 01, 2008 9:37 Sujet du message: Envoyer un message en html |
|
|
et bien non ....
ca ne fonctionne toujours pas... |
|
| |
|
 |
SuperCureuil WRInaute passionné

Inscrit le: 09 Mar 2007 Messages: 592 Localisation: Bxl, Belgique
|
Posté le : Sam Mar 01, 2008 9:50 Sujet du message: Envoyer un message en html |
|
|
Alors avec un p'tit bout de code ce serait plus facile pour t'aider  |
|
| |
|
 |
UsagiYojimbo WRInaute accro

Inscrit le: 23 Nov 2005 Messages: 2313 Localisation: Lyon, capitale des Gaules
|
Posté le : Sam Mar 01, 2008 10:15 Sujet du message: Envoyer un message en html |
|
|
Par défaut la fonction mail envoi en plain text, non en html. Donc je pense bien aussi à un problème de header manquant où mal placé.
Un bout de code ? |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Sam Mar 01, 2008 16:20 Sujet du message: Envoyer un message en html |
|
|
en fait, je voulais vous épargner cela car c'est assez lourd. je mets le début pour que vous puissiez voir le header.
| Code: |
$html = "<html>\n";
$html .= "<head>\n";
$html .= "<meta http-equiv='Content-Language' content='fr'>\n";
$html .= "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>\n";
$html .= "<link rel='stylesheet' type='text/css' href='Style.css'>\n";
$html .= "<LINK href='h**p://www.ateliermagique.com/style.css' type=text/css rel=stylesheet>\n";
$html .= "</head>\n";
$html .= "<BODY bgColor=#F9E29F leftMargin=0 topMargin=0>\n";
$html .= "<br>\n";
$html .= "<SPAN class='body'><i>\n";
$html .= "Cette newsletter est au format HTML. Si vous ne parvenez pas à la lire, copiez le lien suivant dans votre navigateur Internet pour la visualiser correctement : <a href='h**p://www.ateliermagique.com/newsletter_archive/newsletter_20080130.htm'>http://...</a>\n.\n";
$html .= "Pour être sur de recevoir tous mes mails, je vous conseille d'ajouter l'adresse ... à votre carnet d'adresses.</span></i><br><br>\n";
$html .= "<table border='1' cellpadding='0' cellspacing='0' align=center style='border-collapse: collapse' bordercolor='#111111' width='90%' id='AutoNumber1'>\n";
$html .= "<tr>\n";
$html .= "<td width='100%'>\n"; |
je rappelle que echo $html; donne un truc tout à fait convenable à l'écran... |
|
| |
|
 |
SuperCureuil WRInaute passionné

Inscrit le: 09 Mar 2007 Messages: 592 Localisation: Bxl, Belgique
|
Posté le : Sam Mar 01, 2008 17:18 Sujet du message: Envoyer un message en html |
|
|
Sauf que le content-type d'un mail ce n'est pas une balise meta
Un lien pour ta gouverne
Bon travail ! |
|
| |
|
 |
clems942 WRInaute occasionnel

Inscrit le: 13 Oct 2007 Messages: 233
|
Posté le : Sam Mar 01, 2008 17:58 Sujet du message: Envoyer un message en html |
|
|
| Les CSS ne passent pas dans les mails ... |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Sam Mar 01, 2008 22:23 Sujet du message: Envoyer un message en html |
|
|
j'ai oté la CSS et lu la page du lien ci-dessus et ca ne marche toujours pas.
dans le désespoir, j'ai fait une page du type
| Code: |
$message ='<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>';
mail("webmaster@ateliermagique.com","test html",$message); |
lorsque j'ouvre le mail reçu j'obtiens ceci :
| Citation: |
| <html><head><title>Un titre ici</title></head><body>Un message de test</body></html> |
inquiétant non ? n'est-ce pas lié à mon outlook ???
voici mon code à présent :
| Code: |
$html = "<html>\n";
$html .= "<head>\n";
$html .= "<meta http-equiv='Content-Language' content='fr'>\n";
$html .= "</head>\n";
$html .= "<BODY bgColor=#F9E29F leftMargin=0 topMargin=0>\n"; |
et pour l'envoi :
| Code: |
$entetedate = date("D, j M Y H:i:s -0600"); // Offset horaire
$entetemail = "From: $from_email \n"; // Adresse expéditeur
$entetemail .= "Cc: \n";
$entetemail .= "Bcc: \n"; // Copies cachées
$entetemail .= "Reply-To: erreur_news@ateliermagique.com \n"; // Adresse de retour
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$entetemail .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$entetemail .= "Date: $entetedate";
mail("webmaster@ateliermagique.com","Newsletter test",$html,$entetemail); |
il n'y a bientot plus de code, on devrait trouver mon erreur  |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Dim Mar 02, 2008 8:33 Sujet du message: Envoyer un message en html |
|
|
j'ai trouvé. c'était mon header qui posait problème.
j'ai plutot pris celui-ci :
$headers ='From: "nom"<adresse@fai.fr>'."\n";
$headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
merci pour le lien  |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Dim Mar 02, 2008 9:31 Sujet du message: Envoyer un message en html |
|
|
une dernière question : j'ai ma newsletter dans une variable $html et j'aimerais l'enregistrer dans une bdd.
comment faire car lorsque je fais
$sql = "INSERT INTO contenu (id,corps) VALUES ('','$html')";
j'ai une erreur de syntaxe car sql interprête $html...
merci |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2909 Localisation: Bangalore +3h30
|
Posté le : Dim Mar 02, 2008 12:51 Sujet du message: Envoyer un message en html |
|
|
| clems942 a écrit: |
| Les CSS ne passent pas dans les mails ... |
Abonne toi, cela devrait te faire changer d'avis
http://www.webrankinfo.com/wri/abonnements.php
| JeromeRookie a écrit: |
une dernière question : j'ai ma newsletter dans une variable $html et j'aimerais l'enregistrer dans une bdd.
comment faire car lorsque je fais
$sql = "INSERT INTO contenu (id,corps) VALUES ('','$html')";
j'ai une erreur de syntaxe car sql interprête $html...
merci |
Declare ton champ en LONGTEXT et tu peux forcer l'insertion:
| Code: |
| $requete = "INSERT INTO contenu (corps) VALUES ('".mysql_real_escape_string($texte_newsletter_html)."')"; |
Prend aussi pour habitude d'ajouter des préfixes à tes variables, cela t'évitera de tomber sur des mots réservés et tu pollueras moins ton espace de travail. |
|
| |
|
 |
JeromeRookie WRInaute impliqué

Inscrit le: 11 Aoû 2003 Messages: 322
|
Posté le : Dim Mar 02, 2008 23:17 Sujet du message: Envoyer un message en html |
|
|
merci pour votre aide. elle m'a été très précieuse
et ma première newsletter selfmade vient de partir. merci aussi à Olivier qui m'a aidé à extraire les sujets les plus populaires de la semaine dans phpbb |
|
| |
|
 |
| |
|
|