Envoi newsletter et réception en plusieurs exemplaires
4 messages
• Page 1 sur 1
-

mahefarivony - WRInaute accro

- Messages: 11405
- Inscription: 14 Oct 2002
Envoi newsletter et réception en plusieurs exemplaires
J'utilise la page php suivante pour envoyer ma newsletter. Cette page est appelée par wget, via un cron qui tourne toutes les minutes (* * * * * wget ....)
En clair j'appelle la table des emails, je récupère ceux qui sont à sentnewsletter=0, je boucle sur 10 pour envoi de la newsletter et a chaque fois, je positionne sentnewsletter à 1 pour qu'il ne soit plus selectionné la prochaine fois. Pause de 3 secondes entre chaque envoi de mail.
Or les membres me signalent qu'ils recoivent le meme mail en 7 exemplaires, à la meme heure. Une idée ?
- Code: Tout sélectionner
<?
mysql_connect($host, $user,$mypassword) or die ("Unable to connect to database.");
mysql_select_db($database) or die ("Unable to select database.");
$compteur = 0;
// selection du prochain user destinataire de mail
$query = "select email,name from automembersnewletter where sentnewsletter=0 order by email asc";
$result = mysql_db_query("xxxxxxxx", $query);
while ($r = mysql_fetch_array($result)){
$email = $r["email"];
$name = $r["name"];
// envoi du mail
$msubject = "xxxxxx";
$mbody = "
Bonjour $name ,\n
blah blah ";
$mheader = "From: noreply@xxxx.com";
mail($email, $msubject, $mbody, $mheader);
// update de l'user courant, newsletter envoyé
$query = "update automembersnewletter set sentnewsletter=1 where email ='$email'";
$result2 = mysql_db_query("xxxxx", $query);
if ( $compteur == 10 ) exit;
$compteur++;
sleep (3);
}
?>
En clair j'appelle la table des emails, je récupère ceux qui sont à sentnewsletter=0, je boucle sur 10 pour envoi de la newsletter et a chaque fois, je positionne sentnewsletter à 1 pour qu'il ne soit plus selectionné la prochaine fois. Pause de 3 secondes entre chaque envoi de mail.
Or les membres me signalent qu'ils recoivent le meme mail en 7 exemplaires, à la meme heure. Une idée ?
-

mahefarivony - WRInaute accro

- Messages: 11405
- Inscription: 14 Oct 2002
Merci pour vos réponses !
En fait c'était le sleep(3) qui mettait le serveur en vrille ! Les requetes s'embouteillaient et pof, l'envoi n'avançait pas. Avec 10 mails par minute, pas besoin du sleep(3).
Sinon pour faire les choses proprement, j'ai fermé les recordset ainsi que la connexion au serveur mysql.
J'ai refait un autre envoi et là ça a l'air de passer sans probleme, le serveur ne tressaute meme pas.
Ouarjiv a écrit:Sinon je pencherais pour le fait que la mise à jour (commit) ne soit pas en temps réel
En fait c'était le sleep(3) qui mettait le serveur en vrille ! Les requetes s'embouteillaient et pof, l'envoi n'avançait pas. Avec 10 mails par minute, pas besoin du sleep(3).
Sinon pour faire les choses proprement, j'ai fermé les recordset ainsi que la connexion au serveur mysql.
J'ai refait un autre envoi et là ça a l'air de passer sans probleme, le serveur ne tressaute meme pas.
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Envoi / réception de SMS: ça marche!
- Xml, ajax, requête envoi, réception
- Envoi newsletter
- Envoi de newsletter
- Prestataire envoi de newsletter
- Envoi Newsletter de masse
- [script] Envoi de Newsletter
- Newsletter et envoi de gros volume
- Envoi newsletter : serveur smtp
- Recherche aide pour envoi de newsletter
- Les gagnants du jeu-concours Google de WebRankInfo - 03-11-2003
- Jeu-concours WebRankInfo - Livre Google - 13-10-2003
- Comment Google indexe et classe les documents - 21-12-2005
- La boîte de réception prioritaire sur Gmail - 31-08-2010
- Google lance Picasa en français - 20-09-2005
- Gérer l'entête HTTP en PHP - 04-08-2008
- Comment envoyer un ping à Google Blog Search - 06-10-2006
- Yandex, le moteur russe n°1 : tour d'horizon, tutoriel, guide référencement - 22-02-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


