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

KOogar

WRInaute accro
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 occasionnel
Avec l'ajout de cette ligne dans le champs header:
Code:
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
 

Kaliiii

WRInaute occasionnel
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
e-kiwi a dit:
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:
 

KOogar

WRInaute accro
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 ??
 

KOogar

WRInaute accro
e-kiwi a dit:
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:
$headers = "Content-Type:text/html;charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
 

Tchup

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

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

:roll:
 

moira

WRInaute discret
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
moira a dit:
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:
$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
Koogar va voir la classe que je t'ai envoyé...
Aprés t'as juste à faire : $mail->Body = corps_html([email='email@fournissieur.fr]'email@fournissieur.fr[/email]', $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
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();

?>
 

KOogar

WRInaute accro
e-kiwi a dit:
regarde ce que fais IsHTML(true) pour savoir ce qui allait pas chez toi :)

la voila :

Code:
function IsHTML($bool) {
        if($bool == true)
            $this->ContentType = "text/html";
        else
            $this->ContentType = "text/plain";
    }

mais cela ne change rien si je l'insere directement, aucune erreur mais le mail ne part pas.

email("de", "nom@email.com", "titre", "\nMime-Version: 1.0\nContent-Type: text/plain; charset=ISO-8859-1\n$message");

Je prefere utiliser la classe phpmailer qui marche tres bien. J'arrete de chercher. c'est resolu pour moi ^^
 

KOogar

WRInaute accro
je up pour dire tout simplement que ONLINE.NET a maintenant les 2 fonctions activent :

mail()
et
email()

voila, j'ai donc retiré la classe phpmailer et je suis passé à la commande mail() qui fonctionne trés bien.

c'est autant pour moi ^^
 

Discussions similaires

Haut