Page 1 sur 1
execution d'un script de news par paquet pour ne pas depasse
Posté : 17 déc. 2007, 11:37
par BeRoots
salut la compagnie
Je souhaite faire un envoi de email par 50 email pour une newsletter... Chez mon hebergeur, j'ai un
max_execution_time à 90 secondes dans mon php.ini et j'aimerai savoir comment faire pour executer mon script plusieur fois jusqu'a avoir fait le tour de tout mes membre?
si quelqu'un à une idée sur le comment faire?
merci d'avance
PS. je vais voir pour coller un bench marck sur mes envoi de mail afin de determiner une limite de mail prudament estimer

Posté : 17 déc. 2007, 11:44
par d0m
peut être recharger la même page en passant des compteurs.
La page s'exécute, envoie les mails et ceci fait se recharge elle même.
Un test sur les compteurs permettra de savoir quand arrêter.
Posté : 17 déc. 2007, 11:50
par BeRoots
du genre via une meta html avec test sur les paramètre GET de page ???
Code : Tout sélectionner
<meta http-equiv="refresh" content="0; URL=./news.php?compteur=1&compteur_max=100" />
mais comment s'assurer que l'admin ne va pas faire autre chose sans comprendre que le script s'exectute ???
Posté : 17 déc. 2007, 12:29
par titerm
Posté : 18 déc. 2007, 04:16
par icebreak
Ce que j'avais programmé, c'était que quand tu appuyais sur le bouton "ENVOIE", ça envoyé chaque mail formaté dans une base de données.
Et, un CRON qui s'éxecutait toutes les 10 minutes passé et parser la DB. Si un envoi était incorrect, il patientait un bon moment.
De mon expérience, en CRON, ça va 100 fois plus vite.
Si tu as beaucoup d'usagers, au bout du 100 ième, tu as un très gros retour d'erreurs du à la queue.
Vu que mail() c'est super super lent, il ouvre un port, envoie et le ferme ensuite pour chaque mail.
Il y a une solution dans PEAR pour les gros envoies aussi.
Mais la solution DB c'était assez sûr. Dans la mesure ou avant l'envoi on pouvait regarder si quelque chose va aller de travers.
Posté : 19 déc. 2007, 12:44
par BeRoots
de retour et toujour pas d'idée mirobolante
j'aimerai savoir comme je peut verifier si le mail peut partir et aussi verifier comment s'assurer qu'il est bien arriver à destination ?
Posté : 19 déc. 2007, 12:57
par zeus
S'assurer qu'il est parti, il suffit de récupérer la valeur de retour de la fonction mail().
Tu ne peux vraiment t'assurer que le mail est bien reçu. Si tu veux un exemple, il est très rare que je confirme un accusé de réception, alors comment veut tu t'assurer qu'un mail est arrivé s'il est possible au destinataire de ne pas t'informer qu'il est arrivé

Posté : 19 déc. 2007, 13:07
par Truc
Vérifier qu'il est lu "en mode HTML" avec l'image générée par un script php qui en profite pour récupérer un certain nombre d'informations sur le membre ayant reçu et lu cet email.
Dans le genre (contenu du mail)
<img src="http...script.php?id_membre=$variable" >
Mais ce n'est pas sur à 100% (loin de la)
Posté : 19 déc. 2007, 21:32
par BeRoots
j'aimerai bien executer mon script send_newsletter.php sans pour autant que l'utilisateur soit obliger d'attendre la fin d'envoi de mail massif
en gros en executant le dit script d'envoi de mail via un ligne de commande appeler dans mon script newsletter.php qui me lancerai le send_newsletter.php et me permettrai de finaliser ma procedure d'envoi de saisi de la news et de permetre à l'utilisateur de poursuivre son travail coté admin...
je n'ai malheureusement pas moyen de passer par des crons chez mon hebergeur donc les crons sont à mettre de coté...
si a part l'execution de script via ligne de commande il existe aussi une autre methode pour executer ce script de façon masquer sans pour autant figer l'utilisateur durant la sequence d'envoi de mail, merci de m'orienter

Posté : 20 déc. 2007, 01:42
par Calimero
Vérifier qu'il est lu "en mode HTML" avec l'image générée par un script php qui en profite pour récupérer un certain nombre d'informations sur le membre ayant reçu et lu cet email.
Dans le genre (contenu du mail)
<img src="http...script.php?id_membre=$variable" >
Mais ce n'est pas sur à 100% (loin de la)
C'est même très loin des 100%. Thunderbird, la plupart des webmails, et sans doute d'autres clients de messagerie "modernes" sont heureusement protégés par défaut contre ce genre de pratiques (et c'est tant mieux pour la vie privée des utilisateurs...

). Le meilleur moyen, et le moins sournois, reste encore l'accusé de réception, qui veut bien dire ce qu'il veut dire et que chacun est libre d'ignorer ou non (soit dit en passant, moi aussi, je ne les envoie pas - à plus forte raison dans le cas d'un mailing en masse).
Posté : 20 déc. 2007, 12:44
par BeRoots
sinon personne n'a d'idée à me soumettre pour l'execution en masquer de l'envoi massif de mail de la news ? (cf mon precedent post

)
Posté : 20 déc. 2007, 13:02
par Truc
Webcron ou ajax
