Hola , pues mi problema es que uso el siguiente codigo que encontre por ahi para hacer los mailings del boletin de mi pagina web pero claro lo que me hace es mandar todo del tiron y ahora que tengo 1000 personas inscritas pues el server lo dejo un poco loco durante ese minuto.
Me gustaria si se puede hacer que envie esto de 200 en 200 o algo asi.
El codigo es el siguiente:
Código PHP:
//Connecto a la bd
$dbh = mysql_connect("localhost", "user", "pass");
mysql_select_db ("musikaid_altas", $dbh);
$sql = "SELECT * FROM boletin";
$result = mysql_query($sql);
//cuenta que envía
$sfrom="[email protected]";
//recojo de la page donde envio
$subject = $_POST['subject'];
$message = $_POST['message'];
//las cabeceras HTTP para indicar en tu e-mail que parte es HTML
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
$emails_fallo=0; // Inciar contador de fallos
//Send message loop
While ($row = mysql_fetch_array($result)) {
$email = $row['email'];
echo "<font class='normal'>".$email;
$message=stripslashes($message);
//Take notice that we've included $subject and $message below
if (mail("$email","$subject","$message","$sheader")){
echo "<font class='normalnegrita'> --> OK<br>";
} else {
$emails_fallo++;
echo "<font class='normalaviso'> --> FALLÓ<br>";
}
}
if ($emails_fallo >0){
echo "No se han podido enviar todos los e-mails<br>";
} else {
echo "¡Información enviada!<br>";
}
//Close the database connection
mysql_close();
?>
Un saludo