Envoyer un mail au format HTML avec la fonction email()


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Envoyer un mail au format HTML avec la fonction email()

Message le Jeu Sep 13, 2007 5:54

Bonjour,

Je suis chez online.net et je n'arrive à pas a envoyer un mail au format HTML.

Need help pour la syntaxe.


mrPringle
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 11 Mar 2006

Message le Jeu Sep 13, 2007 6:59

Avec l'ajout de cette ligne dans le champs header:
Code: Tout sélectionner
Content-type:text/html; charset="iso-8859-1"

Je croiyais qu'online utilise une fonction maison pour l'envoi des emails mais ça ne semble plus être le cas.
La solution que je propose devrait fonctionner.
-http://faq.online.net/doku.php?id=php#fonction_mail


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Sep 13, 2007 7:33

et si je me rappelles, il y a une doc chez online qui donne la syntaxe pour envoyer un email en html.


Kaliiii
WRInaute impliqué
WRInaute impliqué
 
Messages: 603
Inscription: 2 Mar 2005

Message le Jeu Sep 13, 2007 7:44

oué ils avaient modifié la syntaxe de la commande pour eviter le spam, je crois que c'est email au lieu de mail. Je dis ca .. ca fait des années que je ne suis plus chez eux ...


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Sep 13, 2007 7:58

e-kiwi a écrit:et si je me rappelles, il y a une doc chez online qui donne la syntaxe pour envoyer un email en html.


La doc est HS sur la fonction email(), et de mémoire, il n'etait pas indiquer comment envoyer un mail HTML.

j'ai bien essayer de placer dans le From: Content-type:text/html; charset="iso-8859-1", mais sans resultat :cry:


Kaliiii
WRInaute impliqué
WRInaute impliqué
 
Messages: 603
Inscription: 2 Mar 2005

Message le Jeu Sep 13, 2007 8:02



KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Sep 13, 2007 8:22

ca resoud pas mon probleme ton lien.

envoyer des mails au format txt n'est pas un probleme, c'est au format HTML que le probleme se pose.

comment et ou inclure "Content-type:text/html; charset="iso-8859-1" dans la fonction email ??


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Sep 13, 2007 8:23

dans les headers. tu y a mis quoi dedans ?

boutdepapier
WRInaute discret
WRInaute discret
 
Messages: 163
Inscription: 4 Aoû 2006

Message le Jeu Sep 13, 2007 8:25

Perso j'utilise la classe Phpmailer : http://phpmailer.sourceforge.net/

C'est super pratique, ça gére tout, une sorte de gros complément de la fonction mail de php (et y a des exemples avec).


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Sep 13, 2007 8:31

e-kiwi a écrit:dans les headers. tu y a mis quoi dedans ?


ce code, et j'ai aussi essayé de l'inserer avec le "Content" mais sans succés,

Code: Tout sélectionner
$headers = "Content-Type:text/html;charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";

Tchup
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 21
Inscription: 23 Avr 2007

Message le Jeu Sep 13, 2007 8:33

Code: Tout sélectionner
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8';

mail($dest, $sujet, $msgHTML, $headers);


:roll:

moira
WRInaute discret
WRInaute discret
 
Messages: 94
Inscription: 2 Jan 2007

Message le Jeu Sep 13, 2007 8:46

Utilise une classe, c'est déjà tout prêt. Tu auras juste à changer l'appel à la fonction mail en email.

Bon courage


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Sep 13, 2007 9:20

moira a écrit:Utilise une classe, c'est déjà tout prêt. Tu auras juste à changer l'appel à la fonction mail en email.

Bon courage


Ca ne va rien changer du tout a mon probleme, a moins que tu ne me donnes une classe compatible avec la fonction email() et qui gere le format HTML^^


j'ai retrouvé le format original de la fonction email():

email($From, $To, $Sujet, $Message, $ReplyTo,"Return-path: uneadresse@email");

Avec:
$ReplyTo facultatif.
Return-path: boite pour les emails invalides

Normalement le format devrait etre dans le $from ??

Code: Tout sélectionner
$From = "From:webmaster@site.com\nMime-Version: 1.0\nContent-Type: text/html; charset=ISO-8859-1\n";

email($From, $To, $Sujet, $Message, $ReplyTo,"Return-path: uneadresse@email");


mais ca bug

:cry:

boutdepapier
WRInaute discret
WRInaute discret
 
Messages: 163
Inscription: 4 Aoû 2006

Message le Jeu Sep 13, 2007 9:22

Koogar va voir la classe que je t'ai envoyé...
Aprés t'as juste à faire : $mail->Body = corps_html('email@fournissieur.fr', $txt);

Va voir le lien ...

et puis un $txt qui commence par :
$txt = '<html>
<head>
<title>C'est le titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">';


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Sep 13, 2007 13:35

youpi !! probleme resolu,

la classe phpmailer est nickel chez Online.net !! Merci boutdepapier ^^

je donne un exemple concret.. j'suis content que cela marche !!

<?php

$mail->From = "contact@site.com";
$mail->FromName = "votre nom";
$mail->AddAddress("add@email.fr");
$mail->Subject = "le sujet du mail";
// c'est ici que l'on spécifie que le mail doit etre envoye format html
$mail->IsHTML(true);
$txt = '<html><head><title>C\'est le titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body>Hello, <b>my friend</b>
</body>
</html>
';

$mail->Body = $txt;
$mail->Send();

?>
Dernière édition par KOogar le Jeu Sep 13, 2007 13:39, édité 1 fois.

Envoyer un mail au format HTML avec la fonction email()

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité