| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
mahefarivony WRInaute accro

Inscrit le: 14 Oct 2002 Messages: 11346
|
Posté le : Dim Juil 08, 2007 17:49 Sujet du message: 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 ....)
| Code: |
<?
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 ?  |
|
| |
|
 |
Ouarjiv WRInaute occasionnel

Inscrit le: 15 Oct 2005 Messages: 157 Localisation: Probablement devant un écran
|
Posté le : Dim Juil 08, 2007 19:04 Sujet du message: Envoi newsletter et réception en plusieurs exemplaires |
|
|
Bizarre... à priori je ne vois pas...
Tu as essayé de faire les requêtes à la main pour voir ce que ça donne ?
Sinon je pencherais pour le fait que la mise à jour (commit) ne soit pas en temps réel  |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2282
|
Posté le : Dim Juil 08, 2007 22:29 Sujet du message: Envoi newsletter et réception en plusieurs exemplaires |
|
|
Ta table contient 7 fois les mêmes adresses ?
As tu vérifié que ta table se mettait bien à jour à chaque mail envoyé ? |
|
| |
|
 |
mahefarivony WRInaute accro

Inscrit le: 14 Oct 2002 Messages: 11346
|
Posté le : Lun Juil 09, 2007 20:20 Sujet du message: Envoi newsletter et réception en plusieurs exemplaires |
|
|
Merci pour vos réponses !
| 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. |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|