logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
17 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 104 867 871

  • Nb. de membres 8 691
  • Nb. d'articles 1 694
  • Nb. de forums 25
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Bugs, Probs ... »» petite lettre d'information html

Nouveau sujet
 petite lettre d'information html#21357Répondre

4Contributeur(s)
jrotsaertreef-passionXuanAnonyme
3 Modérateur(s)
developpeurjpbJireck
jrotsaert jrotsaerticon_post
NPDS Forum Extender
-: Problèmes :-
 
Sujetpetite lettre d'information html 
Votre Système d'Exploitation-: Windows XP  
Votre Package Web-: Apache + Php + MySql  
Votre version de PHP-: Php 5.x.x  
Version NPDS (voir statistiques du site)-: Je ne sais pas !  
Type de problème-: Utilisation  
Votre hébergeur-: Autre(s)  
Votre PrioritéUrgent  
Description du problèmebonjour,
j'ai un petit pb, lorsque j'envoi ma lettre d'info en html certaines personnes de mon mailing se plaignent de la recevoir avec le html...

comment envoyer ma lettre d'info en html et qu'elle soit en mode texte lorsqu'ils utilise un webmail (free, aol,etc)

d'avance merci.

JR 
Inclure la signaturetrue 
notification par Emailtrue 
..::..
jerem
reef-passion reef-passionicon_post
tu veux dire qu'il la reçoive avec les balises??
jrotsaert jrotsaerticon_post
oui... j'ai trouvé la solution...

j'ai remplacé la fonction send_mail qui est dans mainfile.php par ces deux fonctions suivantes (bon j'ai fait ce que j'ai pu...): :-o


#autodoc function htm2txt($text) : pour transformer du html en text
function htm2txt($text)
{
// Crée un tableau contenant les codes ascii des caractères
// ayant un codage en html
$ascii_array=array_merge(array(34,38,60,62),range(160,255));

// Crée un tableau contenant les caractères correspondants
// aux codes ascci précédents
$chars_array=array_map("chr", $ascii_array);

// Crée un tableau contenant les mêmes caractères au format html
$html_array=array_map("htmlentities", $chars_array);

// Remplace les codes html par leurs équivalents txt dans le texte
for($i=0; $i {
$text=ereg_replace($html_array[$i],$chars_array[$i],$text);
}

// Remplace les sauts de ligne html
par \n dans le texte
$text=ereg_replace("
","\n",$text);

// Supprime les éventuelles balises html et php
$text=strip_tags($text);

// Retourne le texte traité
return($text);
}


#autodoc send_email($email, $subject, $message, $from, $priority, $mime) : Pour envoyer un mail en texte ou html via les fonctions mail ou email
function send_email($email, $subject, $message, $from="", $priority=false, $mime=false) {
global $mail_fonction, $adminmail;
$advance="";
if ($priority) {
$advance="X-Priority: 1\n";
}
if ($mime=="text")
{
$advance.="!content-type:! text/plain; charset=iso-8859-1\n";
if (($mail_fonction==1) or ($mail_fonction=="")) {
$From_email=$adminmail;
if ($from!="") { $From_email=$from; }
$result=mail($email, $subject, $message, "!from:! $From_email\nX-Mailer: NPDS\n$advance");
} else {
$pos = strpos($adminmail, "@");
$tomail=substr($adminmail,0,$pos);
$result=email($tomail, $email, $subject, $message, $tomail, "Return-Path:\nX-Mailer: NPDS\n$advance");
}
}
if ($mime=="html")
{
$frontiere = '-----=' . md5(uniqid(mt_rand()));

$advance.= '!mime-version:! 1.0'."\n";
$advance.= '!content-type:! multipart/alternative; boundary="'.$frontiere.'"';


$message2 = 'This is a multi-part message in MIME format.'."\n\n";

$message2 .= '--'.$frontiere."\n";
$message2 .= '!content-type:! text/plain; charset="iso-8859-1"'."\n";
$message2 .= '!content-transfer-encoding:! 8bit'."\n\n";
$message2 .= htm2txt($message)."\n\n";

$message2 .= '--'.$frontiere."\n";
$message2 .="!content-type:! text/html; charset=iso-8859-1\n";
$message2 .= '!content-type:! text/html; charset="iso-8859-1"'."\n";
$message2 .= '!content-transfer-encoding:! 8bit'."\n\n";
$message2 .= $message."\n\n";

$message2 .= '--'.$frontiere.'--'."\n";

if (($mail_fonction==1) or ($mail_fonction=="")) {
$From_email=$adminmail;
if ($from!="") { $From_email=$from; }
$result=mail($email, $subject, $message2, "!from:! $From_email\nX-Mailer: NPDS\n$advance");
} else {
$pos = strpos($adminmail, "@");
$tomail=substr($adminmail,0,$pos);
$result=email($tomail, $email, $subject, $message2, $tomail, "Return-Path:\nX-Mailer: NPDS\n$advance");
}

}

if ($result) {
return (true);
} else {
return (false);
}
}
Xuan Xuanicon_post
Bonjour
Ayant le meme problème, notamment avec les utilisateurs du webmail de free, je souhaite savoir si
- la solution évoquée ici va t elle etre integrée dans sable evo
-Si jrotsaert travaille bien sur Sable (il n'a pas indiqué sa version de npds) , quelles sont les lignes exactes (numéros) à remplacer.
merci
Anonyme Anonymeicon_post
Ce serait bien de l'intégrer... :=!
Xuan Xuanicon_post
oui, cependant, je ne suis pas sur que ca marche : j'ai modifié le mainfile comme indiqué et ca plante tout...