Annonces
Livre d'or

Par rusti

Merci a tout(e)s l'équipe phpboost Super taff je vous est adopter !!

Livre d'or

Mini sondage
Etes-vous satisfait du support PHPBoost ?










Résultats

 
RssSupport des modules » Newsletter » Problème avec la newsletter Le BBcode s'affiche dans les envois emails  1  2  »
sch
   Le 03/01/11 à 15h55 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Bonjour et bonne année à tous,

Le 30/12, j'avais posté un message un peu similaire, mais il ne devait pas être dans le bon forum. Depuis, j'ai observé d'autres souci avec lae module de newsletter : disons des soucis chez moi. Peut-être n'en est-il pas de même ailleurs.

Voilà, lorsque je compose ma NL, à la prévisualisation, je n'ai pas de souci particulier. Mais, si je fais le test d'envoi, je reçois une NL qui contient des balises BBcode et des appostrophes comme ceux-ci "\'". Inutile de vous dire qu'une NL qui contient des trucs du genre "[table][row][col][b][i], etc", ou des mots comme "l\'emploi, l'\eherbe, l'\'accident...,, ça n'est franchement pas terrible.

Dequoi cela peut-il venir ?

  • Est-ce un pb de fonction mail de php ? Au quel cas, dois-je me retourner vers mon hébergeur ?
  • Faut-il absolument faire sa NL en HTML ou en texte brut ? Mais en texte brut, adieu les images non ?


Suis-je le seul dans ce cas ?

Sinon, j'avais aussi précisé dans mon poste du 30/12 que j'avais un millier d'abonnés à ma NL. Je m'interrogeais donc de savoir comment le module de newsletter gérait les envois.

Au plaisir de vous lire.

Bien cordialement.
____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 03/01/11 à 16h58 Citer      

Administrateur

Equipe historique

Sexe:
Inscrit le: 04/08/05
Messages: 11001
Lieu: Aix en Provence
Je regarderai ces deux problèmes dès que j'en aurai le temps (ce soir peut-être).

Dans tous les cas, je pense que ça vient de PHPBoost et pas de ton hébergeur.

Je précise que pour ce qui concerne les 1000 envois, il se pourrait que tu n'y parviennes pas puisque les mails sont envoyés un après l'autre et que chaque envoi prend un certain temps.
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."

pm ben.popeye@phpboost.com http://www.phpboost.com    
sch
   Le 03/01/11 à 18h19 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
OK, merci pour la réponse. Et pour le temps à passer.

Il faudra que je teste pour les 1000 envoi, car, en fait, je suis autorisé à envoyer 100 message par heure. Donc, tout dépend du temps que met pbst à envoyer, mais si l'on compte 1 s par message, ça fait 60 à l'heure, donc je ne risque pas d'être black listé. Après, il faudra sûrement quelques heures pour envoyer le tout, mais ça c'est habituel je dirais, c'était déjà comme ça avec mon dev interne. Et puis ce doit bien être comme ça pour tout le monde à en croire l'heure à laquelle je reçois parfois les NL.

A moins qu'il y ait une autre méthode. Ou peut-être faudra-t-il hy penser pour la prochaine MAJ de PBST.

Bien cordialement.
____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 03/01/11 à 20h36 Citer      

Administrateur

Equipe historique

Sexe:
Inscrit le: 04/08/05
Messages: 11001
Lieu: Aix en Provence
Pour être franc avec toi, je pense vraiment pas que la newsletter soit capable de servir 1000 abonnés.

La limitation de l'hébergeur est en effet un problème, mais il va surtout y avoir un problème de temps maximal d'exécution de PHP. En effet, PHP propose un temps maximal d'exécution au bout duquel l'exécution s'arrête. Généralement, les hébergeurs le mettent à 30 secondes ou 1 minute. J'ai très peu d'espoir quant à la faisabilité de terminer les envois en 1 minute...

J'essaierai de regarder si on peut pas trouver une astuce permettant d'améliorer les performances de cette newsletter, mais je pense pas qu'il y ait une solution magique. D'ailleurs, il y a beaucoup d'entreprises qui soustraitent l'envoi de newsletter car c'est quelque chose qui demande une grosse infrastructure, et elles n'existeraient pas si c'était simple (enfin c'est simplement une réflexion personnelle).
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."

pm ben.popeye@phpboost.com http://www.phpboost.com    
sch
   Le 03/01/11 à 22h05 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Bonsoir,

Aille aille aille !!! La NL, c'est pourtant super important pour un site, surtout pour un site de contenu... Mais bon, je vais essayer tout de même de faire un envoi, et te tiendrais au courant.

Etonnant : sur mon ancien site, qui était un tout petit dev en interne, j'utilisais un script de NL que j'avais élaboré à partir du siteduzero (je le conseille à tous d'ailleurs, car le si peu de chose que je connais en PHP vient de chez eux, et ça m'est bien utile aujourd'hui). Je l'avais fait amélioré par un collègue, de sorte à ce que le script exécute des envois par paquet de 100. Ceci était paramétrable simplement en changeant la variable dans le script. Le script utilisait par contre une tâche cron. Si tu veux t'en inspirer, pour améliorer celui de pbst et en faire profiter la communauté, pourquoi pas, je peux t'envoyer le script original de mon ancienne NL. Avec ça, j'envoyais sans difficulté mes 1000 lettres. Je pense même que j'aurais pu aller jusqu'à 2000 sans pb.

Si tu me le permets, pendant que nous sommes dans les améliorations, je constate que l'on peut s'abonner à la NL. Mais que l'on ne peux pas s'en désabonner. A moins que je ne me trompe. Serait-il possible pour les MAJ à venir de penser à ce que les gens puissent se désinscrire de la NL. Mais puissent s'en désinscrire seul, car, effectivement, il est toujours possible de désinscrire quelqu'un en le faisant nous-mêmes, administrateur, si un inscrit nous le demande par email.

Enfin, un dernier point, est-ce que le script zappe les adresses emails qui ne sont plus valides. De sorte à alléger les envois qui ne servent à rien. En effet, il est fréquent que les gens s'inscrivent avec une adresse, en changent, et oublient de mettre à jour leurs abonnements NL.

Attention, il ne s'agit pour moi que de remarques, pas de critiques. D'autant que je suis bien incapable de coder comme vous. Je suis plutôt même nulle dans le genre. C'est juste l'avis d'un utilisateur. Donc je parle, enfin, j'écris, mais je ne suis pas forcément sûr que tout ce que je dis soit faisable. Je ne relâte que mes expériences.

Au plaisir.

Bien cordialement.

____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 03/01/11 à 22h22 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
Je prend en compte tes remarques, pour la 3.1 je referais le module newsletter.

Par contre pour la tache cron, c'est pas géré par tout les serveurs.
Mais je pense pouvoir trouver un bon compromis pour pouvoir faire ça.

pm http://www.phpboost.com    
   Le 03/01/11 à 23h33 Citer      

Administrateur

Equipe historique

Sexe:
Inscrit le: 04/08/05
Messages: 11001
Lieu: Aix en Provence
La solution des tâches cron fonctionne, en effet, mais elle nécessite une manipulation côté serveur, ce que nous évitions à tout prix.
Mais c'est en effet une solution qui fonctionne bien. On verra si dans la prochaine version on peut intégrer un mode de ce genre.

Pour ce qui concerne tes retours, ne t'en fais pas, on ne les prend pas mal, je suis bien conscient que beaucoup de modules et en particulier newsletter sont limités. Toutes les critiques, qu'elles soient bonnes ou mauvaises, sont bonnes à prendre.
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."

pm ben.popeye@phpboost.com http://www.phpboost.com    
sch
   Le 04/01/11 à 09h47 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Bonjour,

Il est vrai que c'est quand même bien d'éviter les manipulations côté serveur. C'est la force de gros CMS comme PHPboost ou Joomla, où il n'y a rien à faire, où tout se fait du panneau d'administration. Car, d'autres CMS, bien plus petits, obligent non seulement à aller manipuler côté serveur, mais en plus à aller mettre les mains dans le code en permanence ce qui, à mon avis, n'est pas du rôle des utilisateurs mais des codeurs. C'est le cas de phpannonces par exempple.

Donc, prenez votre temps les amis. Mieux vaut mettre quelques semaines de plus et sortir un truc top que de vouloir aller trop vite et pondre un truc qui n'est pas fini et qui bug en permanence. Ca sent le vécu ça, je vous le dit...

Je suis déjà pressé de voir la 3.1.

Je le redit : je ne sais pas coder, en revanche, je sais écrire, même si parfois sur les forums j'écris à l'arrache. Etant journaliste/rédacteur, je peux en effet donner un coup de main à la rédaction des notices d'explications.

Bien cordialement.

____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
sch
   Le 08/01/11 à 23h46 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
ben.popeye, en MP, tu m'indique le fichier newsletter.class.php à remplacer. Seulement, ce fichier n'existe pas. Il n'y a que newsletter_clinterface.class.php newsletter_service.class.php.

Peux-tu préciser ?

D'avance, merci.
____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 08/01/11 à 23h56 Citer      

Administrateur

Equipe historique

Sexe:
Inscrit le: 04/08/05
Messages: 11001
Lieu: Aix en Provence
Euh, sch, je suis désolé mais je vois pas de quel MP tu parles.
____________________
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++:
"There are two ways to write error-free programs; only the third works."

pm ben.popeye@phpboost.com http://www.phpboost.com    
sch
   Le 09/01/11 à 11h25 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Pardon ben.popeye, ce n'était pas à toi que j'avais adressé ce MP mais à ReidLos. J'suis allé trop vite !

Désolé.

Bien cordialement.
____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 09/01/11 à 12h43 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
Tu as bien regardé ?

pm http://www.phpboost.com    
sch
   Le 09/01/11 à 13h31 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Bin oui, dans le répertoire newsletter, voici ce qu'il y a :
db ; lang ; templates ; admin_newsletter.php ; admin_newsletter_config.php ; index.php ; newsletter.php ; newsletter.png ; newsletter_arch.php ; newsletter_begin.php ; newsletter_interface.class.php ; newsletter_mini.php ; newsletter_mini.png ; newsletter_service.class.php

____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
   Le 09/01/11 à 14h21 Citer      

Administrateur

Chef de projet
Développement Noyau

Sexe:
Inscrit le: 27/02/09
Messages: 7980
Lieu: Alsace
tu as quoi dans newsletter_service.class.php ? Je comprend, ont devrait avoir les mêmes fichiers, j'ai regardé ce point là sur la 3.0

pm http://www.phpboost.com    
sch
   Le 09/01/11 à 19h13 Citer      

Booster Mortier

Groupe: Membre

Sexe:
Inscrit le: 28/09/10
Messages: 502
Lieu: Ouest de la Fra...
Voici le contenu du fichier newsletter_service.class.php :

Code php

<?php
/*##################################################
* newsletter_service.class.php
* -------------------
* begin : July 07, 2007
* copyright : (C) 2007 Sautel Benoit
* email : ben.popeye@phpboost.com
*
*
###################################################
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
###################################################*/

if (defined('PHPBOOST') !== true) exit;

import('content/parser/content_second_parser');
import('io/mail');

class NewsletterService
{
function send_html($mail_object, $message, $email_test = '')
{
global $_NEWSLETTER_CONFIG, $LANG, $Sql;

$error_mailing_list = array();
$message = stripslashes($message);
$message = str_replace('"../', '"' . HOST . DIR . '/' , $message);
$message = NewsletterService::clean_html($message);
$message = ContentSecondParser::export_html_text($message);

if ($email_test == '') // envoi définitif
{
$nbr = $Sql->count_table('newsletter', __LINE__, __FILE__);
//On enregistre dans les archives la newsletter envoyée
$Sql->query_inject("INSERT INTO " . PREFIX . "newsletter_arch (title,message,timestamp,type,nbr) VALUES('" . $mail_object . "','" . addslashes($message) . "', '" . time() . "', 'html', '" . $nbr . "')", __LINE__, __FILE__);

$mailing_list = array();
$result = $Sql->query_while("SELECT id, mail
FROM " . PREFIX . "newsletter
ORDER BY id", __LINE__, __FILE__);
while ($row = $Sql->fetch_assoc($result))
{
$mailing_list[] = array($row['id'], $row['mail']);
}
$Sql->query_close($result);

$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_HTML);
$mail_sender->set_object($mail_object);

foreach ($mailing_list as $array_mail)
{
$mail_sender->set_recipients($array_mail[1]);
$mail_sender->set_content(str_replace('[UNSUBSCRIBE_LINK]', '<br /><br /><a href="' . HOST . DIR . '/newsletter/newsletter.php?id=' . $array_mail[0] . '">' . $LANG['newsletter_unscubscribe_text'] . '</a><br /><br />', $message));

if (!$mail_sender->send())
{
$error_mailing_list[] = $array_mail[1];
}
}

return $error_mailing_list;
}
else
{
$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_HTML);
$mail_sender->set_recipients($email_test);
$mail_sender->set_content($message);
$mail_sender->set_object($mail_object);

$mail_sender->send();
return true;
}
}

function send_bbcode($mail_object, $message, $email_test = '')
{
global $_NEWSLETTER_CONFIG, $LANG, $Sql;

$error_mailing_list = array();
$message = stripslashes(strparse(addslashes($message)));

$message = ContentSecondParser::export_html_text($message);

$mail_contents = '<html>
<head><title>' . $mail_object . '</title></head><body>';
$mail_contents .= $message;

if ($email_test == '') // envoi définitif
{
$nbr = $Sql->count_table('newsletter', __LINE__, __FILE__);
//On enregistre dans les archives la newsletter envoyée
$Sql->query_inject("INSERT INTO " . PREFIX . "newsletter_arch (title,message,timestamp,type,nbr) VALUES('" . $mail_object . "', '" . addslashes($message) . "', '" . time() . "', 'bbcode', '" . $nbr . "')", __LINE__, __FILE__);

$mailing_list = array();
$result = $Sql->query_while("SELECT id, mail
FROM " . PREFIX . "newsletter
ORDER BY id", __LINE__, __FILE__);
while ($row = $Sql->fetch_assoc($result))
{
$mailing_list[] = array($row['id'], $row['mail']);
}
$Sql->query_close($result);

$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_HTML);
$mail_sender->set_object($mail_object);

foreach ($mailing_list as $array_mail)
{
$mail_sender->set_recipients($array_mail[1]);
$mail_contents_end = '<br /><br /><a href="' . HOST . DIR . '/newsletter/newsletter.php?id=' . $array_mail[0] . '">' . $LANG['newsletter_unscubscribe_text'] . '</a></body></html>';
$mail_sender->set_content($mail_contents . $mail_contents_end);

if (!$mail_sender->send())
{
$error_mailing_list[] = $array_mail[1];
}
}

return $error_mailing_list;
}
else
{
$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_HTML);
$mail_sender->set_recipients($email_test);
$mail_sender->set_content($mail_contents . '</body></html>');
$mail_sender->set_object($mail_object);

$mail_sender->send();
return true;
}
}

function send_text($mail_object, $message, $email_test = '')
{
global $_NEWSLETTER_CONFIG, $LANG, $Sql;

$error_mailing_list = array();
$header = 'From: ' . $_NEWSLETTER_CONFIG['newsletter_name'] . ' <' . $_NEWSLETTER_CONFIG['sender_mail'] . '>' . "\r\n";
$header .= 'Reply-To: ' . $_NEWSLETTER_CONFIG['sender_mail'] . "\r\n";

if ($email_test == '') // envoi définitif
{
$nbr = $Sql->count_table('newsletter', __LINE__, __FILE__);
//On enregistre dans les archives la newsletter envoyée
$Sql->query_inject("INSERT INTO " . PREFIX . "newsletter_arch (title,message,timestamp,type,nbr) VALUES('" . strprotect($mail_object, HTML_NO_PROTECT, ADDSLASHES_FORCE) . "', '" . strprotect($message, HTML_NO_PROTECT, ADDSLASHES_FORCE) . "', '" . time() . "', 'text', '" . $nbr . "')", __LINE__, __FILE__);

$mailing_list = array();
$result = $Sql->query_while("SELECT id, mail
FROM " . PREFIX . "newsletter
ORDER BY id", __LINE__, __FILE__);
while ($row = $Sql->fetch_assoc($result))
{
$mailing_list[] = array($row['id'], $row['mail']);
}
$Sql->query_close($result);

$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_TEXT);
$mail_sender->set_object($mail_object);

foreach ($mailing_list as $array_mail)
{
$mail_sender->set_recipients($array_mail[1]);
$mail_sender->set_content($message . "\n\n" . $LANG['newsletter_unscubscribe_text'] . HOST . DIR . '/newsletter/newsletter.php?id=' . $array_mail[0]);

if (!$mail_sender->send())
{
$error_mailing_list[] = $array_mail[1];
}
}

return $error_mailing_list;
}
else
{
$mail_sender = new Mail();
$mail_sender->set_sender($_NEWSLETTER_CONFIG['sender_mail']);
$mail_sender->set_mime(MIME_FORMAT_HTML);
$mail_sender->set_recipients($email_test);
$mail_sender->set_content($message);
$mail_sender->set_object($mail_object);

$mail_sender->send();
return true;
}
}

//Fonction qui remplace les caractères spéciaux par leurs entités en conservant les balises html
function clean_html($text)
{
$text = htmlentities($text, ENT_NOQUOTES);
$text = str_replace(array('&', '<', '>'), array('&', '<', '>'), $text);
return $text;
}
}

?>
____________________
Vetocheval.com : site de la santé du cheval au quotidien
pornicradio.com : la webradio de Pornic et du Pays de Retz

pm [url=http://vetocheval.com]vetocheval.com[/url]    
RssSupport des modules » Newsletter » Problème avec la newsletter Le BBcode s'affiche dans les envois emails  1  2  »  
1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
Annonces