Bonjour,

Je reviens vers vous suite à un précédent post sur l'envoi d'une liste de diffusion.
Mon système marche bien. J'aimerais franchir une nouvelle étape c-à-d faire une pause de 10 secondes après l'envoi de 200 mails et ensuite reprendre. J'ai essayé ceci (code ci-dessous) mais je n'ai pas le résultat escompté.

Je vous remercie pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
// requête sql
$req = $db->prepare('SELECT email FROM table_client LIMIT 1000');
$req->execute() or die(print_r($req->errorInfo()));
$rows = $req->fetchAll();
 
$i = 0;
$j = 0;
 
foreach ($rows as $row[$i]) {
     if ($j >= 200) {  
          sleep(10); 
          $j = 0;
     }  
     $j++;
 
     $destinataire = $row[$i]['email'];
 
     $text_mail = "";
 
     // on démarre le buffer
     ob_start();
 
    // on lit le fichier newsletter.php
    include("newsletter.php");
 
   // on récupère la sortie de newsletter.php
   $text_mail = ob_get_contents();
 
   // on ferme le buffer
   ob_end_clean();
 
   mail($destinataire, $sujet_mail, $texte_mail, $headers);
}
$i++;
Cordialement,