Bonjour,
jai un script qui envoie une newsletter a mes membres a date fixe via une commande cron
mon hebergeur limite lenvoie de mail a 300/heure et 1500/jour
Alors, je cherche a se que ma boucle sexecute sur les 300 premier ... qu elle suspende son action et continue 1h plus tard ... resuspende pour 1h ... continue
Comment puis-je faire ca
merci
voici ma boucle actuel
<?
$date = date("Y-m-d");
include("/home/lagrande/public_html/config.php");
include("/home/lagrande/public_html/fonctions.php");
//-------------------------------------------------
$connect=mysql_connect($host,$login,$password) or die("Impossible d'établir la connexion");
$result=mysql_select_db($db) or die("Impossible d'ouvrir la base de données");
//SÉLECTIONNER LE PREMIER ENREGISTREMENT DE CITATION
$sqlA="select * from citations order by id ASC LIMIT 1";
$queryA=mysql_query($sqlA) or die("Erreur sqlA");
if($row=mysql_fetch_array($queryA))
{
//INSÉRER L'ENREGISTREMENT DANS LA TABLE D'ARCHIVE
$sqlB="INSERT INTO citations_archives VALUES('','".addslashes($row['nom'])."','".addslashes($row['description'])."','".addslashes($row['auteur'])."','$date')" or die("Table introuvable");
$queryB=mysql_query($sqlB) or die("Could not execute mysql query!");
$nb=mysql_insert_id();
//SUPPRIMER LE PREMIER ENREGISTREMENT DE CITATION
affiche_adresse();
$sqlC="delete from citations where id=\"".$row["id"]."\"";
$queryC=mysql_query($sqlC) or die("Impossible d'exécuter la requête");
//ENVOYER LA CITATION AUX ABONNÉS EMAIL
$sqlD = "select * from email order by id ASC";
$queryD=mysql_query($sqlD) or die("Erreur sqlD");
//Jeremy Cardon, 2005
//Si vous utilisez ce code, un petit lien vers http://www.attractionland.com dans votre rubrique liens est toujours apprécié
//
function email($destinataire, $sujet , $messtxt, $messhtml,$mailfrom="[email protected]",$namefrom="lagrandeloi.com")
{
$boundary = "_".md5 (uniqid (rand()));
$entete = "MIME-Version: 1.0\n";
$entete .= "X-Sender: <www.lagrandeloi.com>\n";
$entete .= "X-Mailer: PHP\n";
$entete .= "X-auth-smtp-user: [email protected] \n";
$entete .= "X-abuse-contact: [email protected] \n";
$entete .= "Reply-to: $namefrom <$mailfrom>\n";
$entete .= "From:$namefrom <[email protected]>\n";
$entete .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
$message = "--" . $boundary . "\n";
$message.= "This is a multi-part message in MIME format.\n\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $messtxt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= str_replace("=","=3D",$messhtml);
$message .= "\n\n";
return @mail($destinataire, $sujet, $message, $entete);
}
while($row2=mysql_fetch_array($queryD))
{
//$head= "MIME-Version: 1.0\r\n";
//$head.= "Content-type: text/plain; charset=iso-8859-1\r\n";
//$head.= "From: $email <$email>\r\nReply-to : $email <$email>\nX-Mailer:PHP";
$sujet="www.lagrandeloi.com (citation no. ".$nb.")";
$mailbody="".stripslashes($row['description'])."<br><br>\n\n";
$mailbody.="".stripslashes($row['auteur'])."\n\n";
//$mailbody.="Pour vous désabonner <A HREF=\"http://www.lagrandeloi.com/desabonnement.php\">cliquer ici</A><br></br>\n";
email($row2["courriel"],$sujet,$mailbody,$mailbody,$email,"Alain Coutu");
// $result=mail($row2["courriel"],$sujet,$mailbody,$head ) or die("Erreur MAIL1");
}
}
?>
Bonjour,
jai un script qui envoie une newsletter a mes membres a date fixe via une commande cron
mon hebergeur limite lenvoie de mail a 300/heure et 1500/jour
Alors, je cherche a se que ma boucle sexecute sur les 300 premier ... qu elle suspende son action et continue 1h plus tard ... resuspende pour 1h ... continue
Comment puis-je faire ca
merci
voici ma boucle actuel
[php]<?
$date = date("Y-m-d");
include("/home/lagrande/public_html/config.php");
include("/home/lagrande/public_html/fonctions.php");
//-------------------------------------------------
$connect=mysql_connect($host,$login,$password) or die("Impossible d'établir la connexion");
$result=mysql_select_db($db) or die("Impossible d'ouvrir la base de données");
//SÉLECTIONNER LE PREMIER ENREGISTREMENT DE CITATION
$sqlA="select * from citations order by id ASC LIMIT 1";
$queryA=mysql_query($sqlA) or die("Erreur sqlA");
if($row=mysql_fetch_array($queryA))
{
//INSÉRER L'ENREGISTREMENT DANS LA TABLE D'ARCHIVE
$sqlB="INSERT INTO citations_archives VALUES('','".addslashes($row['nom'])."','".addslashes($row['description'])."','".addslashes($row['auteur'])."','$date')" or die("Table introuvable");
$queryB=mysql_query($sqlB) or die("Could not execute mysql query!");
$nb=mysql_insert_id();
//SUPPRIMER LE PREMIER ENREGISTREMENT DE CITATION
affiche_adresse();
$sqlC="delete from citations where id=\"".$row["id"]."\"";
$queryC=mysql_query($sqlC) or die("Impossible d'exécuter la requête");
//ENVOYER LA CITATION AUX ABONNÉS EMAIL
$sqlD = "select * from email order by id ASC";
$queryD=mysql_query($sqlD) or die("Erreur sqlD");
//Jeremy Cardon, 2005
//Si vous utilisez ce code, un petit lien vers http://www.attractionland.com dans votre rubrique liens est toujours apprécié
//
function email($destinataire, $sujet , $messtxt, $messhtml,$mailfrom="
[email protected]",$namefrom="lagrandeloi.com")
{
$boundary = "_".md5 (uniqid (rand()));
$entete = "MIME-Version: 1.0\n";
$entete .= "X-Sender: <www.lagrandeloi.com>\n";
$entete .= "X-Mailer: PHP\n";
$entete .= "X-auth-smtp-user:
[email protected] \n";
$entete .= "X-abuse-contact:
[email protected] \n";
$entete .= "Reply-to: $namefrom <$mailfrom>\n";
$entete .= "From:$namefrom <
[email protected]>\n";
$entete .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
$message = "--" . $boundary . "\n";
$message.= "This is a multi-part message in MIME format.\n\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $messtxt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= str_replace("=","=3D",$messhtml);
$message .= "\n\n";
return @mail($destinataire, $sujet, $message, $entete);
}
while($row2=mysql_fetch_array($queryD))
{
//$head= "MIME-Version: 1.0\r\n";
//$head.= "Content-type: text/plain; charset=iso-8859-1\r\n";
//$head.= "From: $email <$email>\r\nReply-to : $email <$email>\nX-Mailer:PHP";
$sujet="www.lagrandeloi.com (citation no. ".$nb.")";
$mailbody="".stripslashes($row['description'])."<br><br>\n\n";
$mailbody.="".stripslashes($row['auteur'])."\n\n";
//$mailbody.="Pour vous désabonner <A HREF=\"http://www.lagrandeloi.com/desabonnement.php\">cliquer ici</A><br></br>\n";
email($row2["courriel"],$sujet,$mailbody,$mailbody,$email,"Alain Coutu");
// $result=mail($row2["courriel"],$sujet,$mailbody,$head ) or die("Erreur MAIL1");
}
}
?>[/php]