par
mario » 24 mars 2006, 17:36
essaye comme ça... abandonne la boucle for.
mon exemple te donne un peu le principe, je ne l'ai pas testé, sans garantie... mais le principe de fonctionnement devrait être celui que tu souhaites
<?php
$expediteur = '[email protected]'; // Adresse de l'expéditeur
$sql = "SELECT mail FROM matable"; // jamais de SELECT *
$result = mysql_query($sql) or die(mysql_error()); // exécution de la req
$pause = 3; // nbr de seconde pour la pause
$nbr= mysql_num_rows($result); // nombre de ligne resultant de la req
$i = 0; // initialise la variable pour le compteur de mail
$tmp = ''; // initialise la variable pour stocker les emails
if ($nbr !== 0){ // Si il y a au moins 1 résultat suite à la req
while($row=mysql_fetch_assoc($result)){ // Lis les lignes 1 à 1
$tmp.= $row['mail']; // Stocke l'adresse e-mail dans un tampon
$i++; // ajoute 1 à la variable $i
if ( ($i != $nbr) AND ($i % 100 !== 0) ) $tmp.= ','; // si ns ne sommes pas à la fin de la liste d'email, ajoute une ,
if ( $i % 100 === 0 ){ // si on est à la 100ème, on envoi le mail
mail('[email protected]', 'sujet', 'texte',"From: ".$expediteur."\n\rBCC:".$tmp."\n\r");
$tmp = ''; // on vide le tampon contenant les emails
sleep($pause); // on attends X secondes
}
}
}
?>
Si vous voyez des erreurs, je suis toutoui

essaye comme ça... abandonne la boucle for.
mon exemple te donne un peu le principe, je ne l'ai pas testé, sans garantie... mais le principe de fonctionnement devrait être celui que tu souhaites
[php]<?php
$expediteur = '
[email protected]'; // Adresse de l'expéditeur
$sql = "SELECT mail FROM matable"; // jamais de SELECT *
$result = mysql_query($sql) or die(mysql_error()); // exécution de la req
$pause = 3; // nbr de seconde pour la pause
$nbr= mysql_num_rows($result); // nombre de ligne resultant de la req
$i = 0; // initialise la variable pour le compteur de mail
$tmp = ''; // initialise la variable pour stocker les emails
if ($nbr !== 0){ // Si il y a au moins 1 résultat suite à la req
while($row=mysql_fetch_assoc($result)){ // Lis les lignes 1 à 1
$tmp.= $row['mail']; // Stocke l'adresse e-mail dans un tampon
$i++; // ajoute 1 à la variable $i
if ( ($i != $nbr) AND ($i % 100 !== 0) ) $tmp.= ','; // si ns ne sommes pas à la fin de la liste d'email, ajoute une ,
if ( $i % 100 === 0 ){ // si on est à la 100ème, on envoi le mail
mail('
[email protected]', 'sujet', 'texte',"From: ".$expediteur."\n\rBCC:".$tmp."\n\r");
$tmp = ''; // on vide le tampon contenant les emails
sleep($pause); // on attends X secondes
}
}
}
?>[/php]
Si vous voyez des erreurs, je suis toutoui :wink: