Pause entre chaque lot d'envoi de liste de diffusion

Messages postés
2
Date d'inscription
lundi 9 janvier 2017
Dernière intervention
15 janvier 2017
-
Bonjour,
Je réalise un système d'envoi de liste de diffusion. L'envoi de mail fonctionne. J'aimerais faire une pause de 10 secondes après l'envoi de 200 mails et continuer après. J'ai essayé ceci (code ci-dessous) mais je n'ai pas le résultat espéré.
Je vous remercie.

// 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++;
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
0
Merci
Ce que je te conseillerai pour éviter un timeout de ta page serait plutôt de marquer quelles adresses doivent recevoir le mail.
Ensuite régulièrement, tu appel une page qui génère X mails et les marquent comme envoyés.

De cette manière tu éviter le timeout et tu reste plus modeste sur ta débit d'envoi.
Commenter la réponse de NHenry
Messages postés
2
Date d'inscription
lundi 9 janvier 2017
Dernière intervention
15 janvier 2017
0
Merci
Bonjour,

Merci pour cette réponse.
Mon objectif est d'automatiser toutes les tâches sans devoir faire appel à une quelconque page pour exécuter mon script. Et d'ailleurs je ne connaissais les adresses à qui envoyé les mails. Je les choisis parmi des milliers via une requête fonction des critères posés.

Cordialement,
NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
Comment lances-tu ton script actuellement ?
Commenter la réponse de atisart17

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.