Cita:
Iniciado por uamistad Entonces para saber cuántos emails se enviaron (suponiendo que el server sólo me está dando permiso de enviar 500 (pero ese número yo no lo conozco),
¿podría hacer un... Código PHP:
<?
$finalizado = 1; //flag
$cuenta_emails = 0; //lleva el registro
while ($row=mysql_fetch_array($resultado) && $finalizado){
if (!empty($row['email'])){
$finalizado = mail($row['email'],$titulo,$mensaje,"From: <$De>");
if($finalizado) $cuenta_emails++;
}
// Estoy Fuera del Bucle. Puede ser por 2 cosas:
// O ya terminé de enviarlos todos o llegó un momento en el que
//no me dejó enviar más correos.
$reporte = "Se enviaron $cuenta_emails en total";
//(meter el reporte a un archivo de texto por ejemplo p' luego enterarme...
?>
?????? Sería fiable ? El detalle es que la función mail() tan sólo entrega el e-mail al MTA que use tu servidor (con su configuración en tu php.ini) .. Si hay una limitación tipo "no se aceptan más de N e-mails seguidos desde tal cliente .. en tu caso tu script PHP." ahí esa validación será efectiva ...
Pero, si tienes alguna limitación por ejemplo de "cola" .. de cuantos e-mails se envian en cierto tiempo y los demas van quedando en cola .. (siguiendo aceptando e-mails para procesarlos más tarde ...) la función mail() siempre te dirá "ok e-mail enviado" ... No siendo así fielmente.
Para eso .. deberías enviar el e-mail directamente por SMTP (como hace "PHP Mailer por ejemplo") y así vas leyendo los mensajes de error del servidor SMTP ..)
Un saludo,