Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2527 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Envoi d'une newsletter vers 15000 abonnés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoi d'une newsletter vers 15000 abonnés

n°1133543
toutoune
Posté le 28-06-2005 à 12:57:31  profilanswer
 

Salut à tous,
je reprend le système d'envoi d'une newsletter sur un site qui envoie tous les 15 jours une newsletter vers environ 15000 abonnés.
Actuellement, l'envoi se fait via un script PHP lancé en ligne de commande depuis le serveur, et effectue l'envoi par vagues de 500 adresses.
Le problème c'est que ça prend près de 6h et que le script doit etre lancé sur le serveur par une personne qui s'y connait un peu.
Je dois mettre en place un système pour que l'envoi puisse être déclanché depuis une interface web, mais aussi avec une gestion des retours en cas de plantage du serveur par exemple.
Quelle peut etre une solution à mon problème?


Message édité par toutoune le 28-06-2005 à 12:58:45
mood
Publicité
Posté le 28-06-2005 à 12:57:31  profilanswer
 

n°1133560
plainsofpa​in
Pingouino's lover
Posté le 28-06-2005 à 13:18:09  profilanswer
 

php : system() ou exec() je sais plus :D


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1133588
soju
One shot !
Posté le 28-06-2005 à 13:46:37  profilanswer
 

pourquoi ne pas utiliser une liste de diffusion ???
un seul envoi avec php et ensuite c'est le serveur de messagerie qui gère les 15000 abonnés

n°1133610
jagstang
Pa Capona ಠ_ಠ
Posté le 28-06-2005 à 14:00:14  profilanswer
 

soju a écrit :

pourquoi ne pas utiliser une liste de diffusion ???
un seul envoi avec php et ensuite c'est le serveur de messagerie qui gère les 15000 abonnés


en principe les serveurs de mail refusent le forward à un tel nombre d'adresses... limité à une vingtaine en principe


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1133611
toutoune
Posté le 28-06-2005 à 14:00:40  profilanswer
 

mais ça sous entend qu'il y a un serveur de messagerie? Je ne sais pas s'il y en a un ou du moins si j'y ai accès!
Mais PHP envoi quoi à ce moment là au serveur de messagerie?

n°1133612
yoyo354
Yoyo, le roi du ...
Posté le 28-06-2005 à 14:00:59  profilanswer
 

toutoune a écrit :

[...]
Le problème c'est que ça prend près de 6h et que le script doit etre lancé sur le serveur par une personne qui s'y connait un peu.(1)
Je dois mettre en place un système pour que l'envoi puisse être déclanché depuis une interface web, mais aussi avec une gestion des retours en cas de plantage du serveur par exemple.(2)
[...]


(1)Pourquoi ne pas lancer le script via cron ?  
(2)Toujours via cron, tu peux rediriger la sortie standard vers un fichier de log avec >>. Et sinon tu recevra un mail en cas de problème automatiquement.


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
n°1133622
toutoune
Posté le 28-06-2005 à 14:06:51  profilanswer
 

ok, mais l'envoi n'est jamais initié à des heures fixes. Donc dans le cron, je déclare quoi? Je peux établir un cron avec exec()?

n°1133626
soju
One shot !
Posté le 28-06-2005 à 14:09:23  profilanswer
 

jagstang a écrit :

en principe les serveurs de mail refusent le forward à un tel nombre d'adresses... limité à une vingtaine en principe

en fait je parlais de liste de diffusion (sympa, majordomo...etc), pas de simple forward

n°1133630
fabien
Vive la super 5 !
Posté le 28-06-2005 à 14:10:35  profilanswer
 

toutoune a écrit :

Salut à tous,
je reprend le système d'envoi d'une newsletter sur un site qui envoie tous les 15 jours une newsletter vers environ 15000 abonnés.
Actuellement, l'envoi se fait via un script PHP lancé en ligne de commande depuis le serveur, et effectue l'envoi par vagues de 500 adresses.
Le problème c'est que ça prend près de 6h et que le script doit etre lancé sur le serveur par une personne qui s'y connait un peu.
Je dois mettre en place un système pour que l'envoi puisse être déclanché depuis une interface web, mais aussi avec une gestion des retours en cas de plantage du serveur par exemple.
Quelle peut etre une solution à mon problème?


t'es obligé d'utiliser php? car c'est pas le meilleur langage pour faire un systeme de newsletter a cause du timeout.
 
Sinon, tu as ce script gratuit en perl:
http://www.perl-gratuit.com/perl/p [...] index.html


---------------
Découvre le HFRcoin ✈ - smilies
n°1133631
yoyo354
Yoyo, le roi du ...
Posté le 28-06-2005 à 14:10:41  profilanswer
 

toutoune a écrit :

ok, mais l'envoi n'est jamais initié à des heures fixes. Donc dans le cron, je déclare quoi? Je peux établir un cron avec exec()?


Faut voir avec ton hébergeur si tu as accès au crontab, c'est rare... [:sub42]


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
mood
Publicité
Posté le 28-06-2005 à 14:10:41  profilanswer
 

n°1133636
freed102
Arayashiki
Posté le 28-06-2005 à 14:12:12  profilanswer
 

et si tu envoies à tout le monde d'un coup en CCi ? .. c comme ça que j'ai fait moi avec online (car le timeout etait trop court) (mais bon yavé que 3000 adresses)
 
un truc comme ça :
 

Code :
  1. while ( $fetch = mysql_fetch_array($result) )
  2.     {
  3.     $bcc = $fetch['email'];
  4.     $headersbcc .= "Bcc: $bcc\r\n";
  5.     $n++;
  6.     }
  7.     $infos.= "<b>Nombre de mails à envoyer : $n;</b><br />";
  8.     $infos.= $headersbcc."<br />";
  9.    $Headers  = "Content-Type:text/html;charset=iso-8859-1\n";
  10.    $Headers .= "Content-Transfer-Encoding: 8bit\n";
  11.    $Headers .= $headersbcc;
  12.    $Headers.= "Return-path:erreurs@toto.com";
  13.    $from="toto";
  14.    $replyto="toto";
  15.    if(!email($from, $mailto, $sujet, $message, $replyto, $Headers))
  16.    {
  17.    $infos.="<font color=red>Probleme de l'envoi à $mailto</font><br />";
  18.    }
  19.    else
  20.    {
  21.    $listeenvoi.="Envoyé à ".$headersbcc." avec succès<br /> ";
  22.    }


Message édité par freed102 le 28-06-2005 à 14:21:47
n°1133790
toutoune
Posté le 28-06-2005 à 15:27:08  profilanswer
 

oui je peux faire du cron, c'est un serveur dédié que l'on peut administrer...
Le problème du CCi c'est que c'est bien souvent vu comme du spam...
Le perl je connais pas du tout... mais le script tout fait donné ci dessus ne me permet pas d'utiliser la génération de la newsletter qui est déjà en place et assez complexe! (gestion des langues, interaction avec la BD...)

n°1133799
soju
One shot !
Posté le 28-06-2005 à 15:30:03  profilanswer
 

toutoune a écrit :

c'est un serveur dédié que l'on peut administrer...

donc tu peux installer un gestionnaire de liste de diffusion ;)

n°1133810
toutoune
Posté le 28-06-2005 à 15:40:13  profilanswer
 

sans doute :p
 
mais tu aurais un peu plus de détails?
 
la reprise en cas de plantage est-elle possible?
 
actuellement, on utilise un flag pour chaque email de la BD pour savoir si la newsletter a été envoyée... et on reprend les emails qui n'ont pas reçu ce flag pour la reprise!

n°1133842
soju
One shot !
Posté le 28-06-2005 à 16:17:43  profilanswer
 

toutoune a écrit :

mais tu aurais un peu plus de détails?


- http://www.greatcircle.com/majordomo/
- http://www.sympa.org/
- http://www.gnu.org/software/mailman/
ces 3 produits gèrent bien sur les pbs d'envois

n°1133895
toutoune
Posté le 28-06-2005 à 16:52:26  profilanswer
 

Le pb avec ces gestionnaires, c'est que je ne peux pas interagir avec ma BD MySQL dans laquelle mes mails sont stockés, mais surtout que je ne peux pas générer ma newsletter à partir de l'interface PHP déjà existante (la news...)
Je m'y perd un peu, est ce que cette interaction est possible avec ces gestionnaires?

n°1134004
toutoune
Posté le 28-06-2005 à 17:46:07  profilanswer
 

Peut etre que je pourrais me développer une application Perl pour mes besoins... mais...
quel est l'intérêt pour moi d'utiliser par exemple un script Perl avec MIME::Lite et send plutot que la fonction mail() de PHP?
 
Mélanger du Perl et du PHP (pour récupérer les emails ds la BD) c'est mal? C'est possible d'interroger une BD avec Perl?

n°1134185
toutoune
Posté le 28-06-2005 à 22:33:17  profilanswer
 

:bounce:


Message édité par toutoune le 28-06-2005 à 22:33:37
n°1134188
fabien
Vive la super 5 !
Posté le 28-06-2005 à 22:43:13  profilanswer
 

ben php a été créé a partir de perl, donc normalement on devrait pouvoir faire les memes chose.
Mais melanger, je ne pense pas que ca soit possible.


---------------
Découvre le HFRcoin ✈ - smilies
n°1134237
toutoune
Posté le 29-06-2005 à 00:00:20  profilanswer
 

et sur ma question de favoriser Perl plutot que PHP pour l'envoi?

n°1134275
onizuka_se​nsei
Posté le 29-06-2005 à 02:03:37  profilanswer
 

Moi je suis plutôt pour utiliser un logiciel de mailing-list qui est quand même fait pour ça :) Ensuite depuis un script PHP, tu peux utiliser la fonction system() qui appelera un executable ("mail" par exemple qui permet d'envoyer des emails en ligne de commande) avec comme paramètres les données de ta base que tu enverras à l'adresse spéciale de la mailing list. Le logiciel de mailing list, lui se chargera d'envoyer le mail à tous les abonnées.
Comme logiciel de mailing, il y a aussi ecartis qui est pas mal et que j'utilise sans problème ;)
 
EDIT: je viens de me rendre compte que la solution avec system() n'a aucun intérêt puisqu'il y a la fonction mail() dans PHP. Autant pour moi :D


Message édité par onizuka_sensei le 29-06-2005 à 14:36:47
n°1134280
astero-H
Posté le 29-06-2005 à 06:42:30  profilanswer
 

toutoune a écrit :

Peut etre que je pourrais me développer une application Perl pour mes besoins... mais...
quel est l'intérêt pour moi d'utiliser par exemple un script Perl avec MIME::Lite et send plutot que la fonction mail() de PHP?
 
Mélanger du Perl et du PHP (pour récupérer les emails ds la BD) c'est mal? C'est possible d'interroger une BD avec Perl?


 
+1 pour la solution mailing list.
Ayant bossé sur sympa, je peux te dire que ça repondrait parfaitement à tes besoins : Ce serveur de mailing-list gère ses abonnés à partir d'une bd mysql. Il y aurait donc la possibilité de faire un petit script d'import de ta bd.
Un p'tit lien pour Perl/Mysql : http://search.cpan.org/~rudy/DBD-m [...] b/Mysql.pm
 
Pour ce qui est de l'envoie sur les listes, tu pourra très bien gérer le bordel à partir de tes scripts php en envoyant tes instructions par mail au robot de mailing-list.
 
Et 15000 abonnés c'est pas grand chose, j'ai eu l'occasion de mettre en place un serveur qui gérait quelques centaines de listes, certaines dépassant les 100 000 abonnés : Aucun pb !! ce qui n'était pas le cas avec les serveurs exchange =)... L'algo d'envoie des mails est vraiment efficace.
 
 
Voilà, bonne journée !!


Message édité par astero-H le 29-06-2005 à 06:43:24
n°1134636
fabien
Vive la super 5 !
Posté le 29-06-2005 à 12:54:33  profilanswer
 

toutoune a écrit :

et sur ma question de favoriser Perl plutot que PHP pour l'envoi?


ben avec perl, tu peux travailler en tache de fond, ce qui n'est pas possible avec php.


---------------
Découvre le HFRcoin ✈ - smilies
n°1134655
toutoune
Posté le 29-06-2005 à 13:20:38  profilanswer
 

super merci à tous pour vos réponses, je vais me documenter!

n°1134657
fabien
Vive la super 5 !
Posté le 29-06-2005 à 13:28:04  profilanswer
 

mais j'ai pas trop compris comment tu faisais pour ta newsletter en php qui durait 6 heures :??:
 
tu n'avais pas de time-out? ca ne prennait pas trop de resource quand un script php tourne aussi longtemps. Un jour j'avais tester en local, he bien mon ordinateur utilisait 100% des resources.


---------------
Découvre le HFRcoin ✈ - smilies
n°1134678
toutoune
Posté le 29-06-2005 à 13:53:40  profilanswer
 

et bien en fait on lançait le script en ligne de commande. Dans ce script il y a un mélange de PHP/Shell et des boucles, et apparement l'envoi se fait par groupe de 500 adresses...
Bref, je viens d'arriver et suis là pour refaire le système d'envoi... à suivre!

n°1135491
toutoune
Posté le 30-06-2005 à 10:19:04  profilanswer
 

à propos de SYMPA, il semblerait qu'à l'envoi vers une liste de type liste@domaine.com, les abonnés recoivent la newsletter avec le "To: liste@domaine.com", résultat, y a pas mal de clients mails qui filtrent ça et le considère comme du SPAM... y a pas moyen d'éviter cela?
 
Sinon autre question, lors de l'envoi d'un mail via SYMPA sur une liste, est-il possible de connaitre l'état d'avancement de l'envoi? Comment savoir quand il est fini?

n°1135949
ratibus
Posté le 30-06-2005 à 14:38:16  profilanswer
 

fabien a écrit :

ben avec perl, tu peux travailler en tache de fond, ce qui n'est pas possible avec php.

C'est possible aussi avec PHP ;)

n°1136478
fabien
Vive la super 5 !
Posté le 30-06-2005 à 21:35:55  profilanswer
 

ratibus a écrit :

C'est possible aussi avec PHP ;)


ca marche comment?  


---------------
Découvre le HFRcoin ✈ - smilies
n°1136819
ratibus
Posté le 01-07-2005 à 09:47:22  profilanswer
 
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Envoi d'une newsletter vers 15000 abonnés

 

Sujets relatifs
pb envoi de mail avec SMTP exchange 2003 [JMail] [Résolu]transformation code HTML vers caractère chinois(UTF-8)
envoi email multi destinataireREQUETE SQL VERS 2 BASE DE MON SERV et ERREUR - PERDU JE SUIS
FLUX DE USERS VERS PORTAIL VIGNETTEsortie vers un fichier .csv
C# vers VB .NETFaille(s) ou pas dans ma newsletter ?
Excel vers ASP... bugNewsletter...chti prob :[
Plus de sujets relatifs à : Envoi d'une newsletter vers 15000 abonnés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR