Foros del Web » Programando para Internet » PHP »

Funcion Mail En While De 1500 Registros

Estas en el tema de Funcion Mail En While De 1500 Registros en el foro de PHP en Foros del Web. HOLA, TENGO UN SISTEMA DE BOLETINES A LOS UAUARIOS REGISTRADOS EN MI WEB, SON SERCA DE 1500, TODO LOS TENGO EN MI BASE DE DATOS ...
  #1 (permalink)  
Antiguo 14/02/2007, 09:10
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Funcion Mail En While De 1500 Registros

HOLA, TENGO UN SISTEMA DE BOLETINES A LOS UAUARIOS REGISTRADOS EN MI WEB, SON SERCA DE 1500, TODO LOS TENGO EN MI BASE DE DATOS DE MYSQL, EL PROBLEMA ES QUE GENERALMENTE CUANDO ENVIO 50 O 60 TODO SALE A LA PERFECCION, PERO AL ENVIAR LOS 1500 DE UN SOLO TIRO, PUES ESO YA NO ME FUNCIAONA COMO DEVE SER.

CUANTAS VECES ES ACONSEJABLE USAR LA FUNCION MAIL DENTRO DE UN BUCLE??

CODIGO:


if(isset($Submit)){
include ("../funcion3.php");
$grupo= $_POST[grupo];
$SQLregistro=mysql_db_query("$base1","SELECT * FROM boletin where GRUPO = '$grupo' ");
$mails_enviados=0;
while ($Registro=mysql_fetch_array($SQLregistro)) {
$Contacto_CorreoElectronico=$Registro['EMAIL'];
$Mensaje ="
<table width='710' border='0' align='center' cellpadding='0' cellspacing='0'>

CODIGO HTML
</table>
";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $nombre <$emailwebmaster>\r\n";
$headers .= "Reply-To: $emailwebmaster\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();

if (mail($Contacto_CorreoElectronico,"BOLETIN No 1", $Mensaje,$headers))
{
$mails_enviados=$mails_enviados+1;
}
else { echo "algunas direcciones no recibieron el correo email:$Contacto_CorreoElectronico <br> "; }
}
echo "Se enviaron ".$mails_enviados." mails a ".$mails_enviados." usuarios registrados.";

}
  #2 (permalink)  
Antiguo 14/02/2007, 10:00
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Funcion Mail En While De 1500 Registros

La configuración del php establece un parámetro de tiempo máximo de ejecución. Podrías intentar ese parámetro o bien llevar un control de los mails que envías y a quien los envías para poder proseguir si se detiene el script.
  #3 (permalink)  
Antiguo 14/02/2007, 12:52
 
Fecha de Ingreso: abril-2006
Mensajes: 218
Antigüedad: 18 años
Puntos: 0
Re: Funcion Mail En While De 1500 Registros

yo estoy con el mismo problema, quiero saber como enviar mails en paquetes para no saturar el servidor y recorrer el bucle muchisimas veces.
  #4 (permalink)  
Antiguo 15/02/2007, 10:23
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Funcion Mail En While De 1500 Registros

Holas viejos.

Aqui tengo un Articulo Sistema de Correo el cual habla al Respecto de Crear un Sistema de Envio Correo a nuestros Usuarios, con la condicion de no saturar el Sistema.

Articula aborda el tema, en tener en una tabla los correos a enviar, con los datos de titulo,mensaje,hora,ultimo_id,finalizado.
Estos dos ultimos parametros, nos permiten, enviar ese Correo pausadamente, es decir mandar ese Correo a 20 Usuarios, luego un minuto despues a los otros 20 Restantes. (Utilizando un Cron Jobs.)

El articulo aborda el tema de la creacion de la base del sistema, es decir, el cron.php, el que se encarga de consulta los correos a enviar (es decir que no esten finalizados), ver el ultimo_id a quien se envio, y continuar enviando los correos a los usuarios. En config.php pueden editar los parametros como base de datos donde esta sistema_correo y la base de datos donde y tabla donde estan sus usuarios (ejemplo para mi phpbb).

El sistema funciona y lo utilizo para enviar correos pausadamente (10 cada minutos, en mi caso) a mis Usuario en mi Sitio.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:46.