WRInaute accro
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 ? :lol:
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 ? :lol: