envoi d'email html + texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : envoi d'email html + texte

par BeRoots » 16 janv. 2007, 18:33

re la compagnie :)

mon hebergeur viens de m'avertir qu'en fait mon server mutualisé etait blacklisté chez hotmail entre autre... :evil:

et mes dernières recherche à ce sujet ne vont pas me remonter le moral non plus car les methode antispam draconienne de hotmail, aol, yahoo... me sorte par les oreilles :cry:

il vont même jusqu'à vouloir faire payer les email pro ou encore pour aol, jusqu'à vouloir un header déclarent la date et l'heure à laquelle l'utilisateur vous à laisser son adresse mail... N'IMPORTE QUOI :roll:

moi je pense que c'est à nous webmaster, de gagner la confiance de nos visiteurs et de respecter leur vie privée, et non pas à ces multi-nationals de jouer à "shoot le webmaster" :tir2:

et encore une fois, ce sont les webmasters qui trinque alors que la logique voudrai que se soit ces maudits spammer :twisted:
comme si les webmaster n'avait pas deja assez de probleme avec le non respect des norme par les navigateur comme IE :?

enfin bref, je pense qu'il va faloir que je m'achete un server perso parce que là, je suis limite déprimé :(

par BeRoots » 15 janv. 2007, 12:40

en fait j'ai laissé ce script de coté car il n'a pour effet que d'envoyer et afficher le email en double et l'element boundary n'est au final qu'un <hr />
de separation entre les deux type de message qui ce retrouve dans un seul et unique email avec texte et html :(

par contre j'ai fait des modif à ma fonction personnel et l'envoi d'un email unique en html est soit interpreté comme texte (essai sur gmail en ligne), soit recu au format html (chez moi avec thunderbird). donc pas besoin de tout ce remu menage apparament... faire un email directement en html avec pour les images, des liens en dur vers leur url respective, et pour les headers, symplement l'ajout des headers suivant, suffit largement.
        $headers = "From: [email protected]\n";
        $headers .= "X-priority: 3";
        $headers .= "MIME-Version: 1.0\n";
        $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
        $headers .= "Content-Transfer-Encoding: 8bit\n\n";
tout fonctionne à merveille mais il me reste le problème de reception vers les boite hotmail par exemple ou le email n'est pas reçu :?

pour que ce email soit accepté par ces organismes, il faut apparament un enregistrement SPF records au niveau du DNS pour assurer l'identification et l'autentification du server de mail...

il est donc apparament indispensable de créé un compte pop et smtp pour le dit domaine afin que les emails envoyés soit accepter par les differents sytemes antispam actuels.

si quelqu'un connait un moyen d'envoyer des emails au format html et que ceux ci sont reçu par tout type de compte email (hotmail, yahoo...), et ce sans avoir de smtp associer à son nom de domaine, merci de nous faire part de son experience dans ce sujet ;)

merci d'avance :)

[EDIT]: voici un lien tres interessant sur l'utilisation de ces SPF records

et une aide pour la creation de ces SPF records

et le must du top:
traduction française de la norme RFC2822 sur le format des message de l'internet

enjoy :)

par Aureusms » 14 janv. 2007, 19:46

Je peux en répondre à quelques unes :

$ limite sert à séparer ton email en plusieurs parties. Chaque partie peut être la version texte, la version HTML, une pièce jointe,... Aussi du doit toujours mettre la variable $limite pour structurer ton email

boudary = frontière (sorte du <body> pour les emails)

C'est mieux en ISo c'est sûr...

Il faut (si je me rappelle bien) les insérer avec les Header

Pour la dernière je ne peux pas t'aider.

envoi d'email html + texte

par BeRoots » 12 janv. 2007, 12:53

Salut la compagnie :)

je suis en train de voir pour faire un envoie de mail alternatif avec une version texte et un version html. J'ai fait quelques recherches sur le forum et je suis tombé là dessus:
$subject = "sujet du email";
$from = "[email protected]";
$limite = "_parties_".md5 (uniqid (rand())); 

$entete = "Reply-to: $from\n"; 
$entete .= "From:$from\n"; 
$entete .= "Date: ".date("l j F Y, G:i")."\n"; 
$entete .= "MIME-Version: 1.0\n"; 
$entete .= "Content-Type: multipart/mixed;\n"; 
$entete .= " boundary=\"----=$limite\"\n\n"; 
    
//Le message en texte simple pour les navigateurs qui 
//n'acceptent pas le HTML 

$texte_simple = "This is a multi-part message in MIME format.\n"; 
$texte_simple .= "Ceci est un message est au format MIME.\n"; 
$texte_simple .= "------=$limite\n"; 
$texte_simple .= "Content-Type: text/plain; charset=\"US-ASCII\"\n"; 
$texte_simple .= "Content-Transfer-Encoding: 7bit\n\n"; 
$texte_simple .= "LALALALALALA";
$texte_simple .= "\n\n"; 

//le message en html original 
$texte_html = "------=$limite\n"; 
$texte_html .= "Content-Type: text/html; charset=\"US-ASCII\"\n"; 
$texte_html .= "Content-Transfer-Encoding: 7bit\n\n"; 
$texte_html .= "LALALALALALA HTM";
$texte_html .= "\n\n\n------=$limite\n"; 

return mail($destinataire, $subject, $texte_simple.$texte_html, $entete);
} 
le truc c'est qu'il y a pas mal de chose que je ne comprend pas...

1°) à quoi sert la variable $limite et que represente elle?
2°) à quoi sert l'entete boundary et que represente elle?
3°) est ce que le charset du html ne serait pas mieux en iso-8859-1?
4°) mon email contient des images, comment faire pour les ajouters (headers, url des image...)?
5°) sur certaint tuto le Content-Transfer-Encoding est à 8bit, voir en base64... comment faire pour déterminer ce dont j'ai besoin?

je sais, sa fait pas mal de question tout ça mais bon, c'est quand même mieux quand on comprend ce qu'on fait :)

merci d'avance pour vos conseils ;)