Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/04/2009, 10:03
isra00
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Mails masivos con mail()

Si tienes los emails en la BD puedes crear, cada vez que hagas un mailing, una tabla que contenga todos los emails y un campo booleano "enviado". Haces algo así como:

Código PHP:

function ronda() {
    
$x 100//Número de emails por cada ronda
    
$espera 100//Segundos entre ronda y ronda

    //Obtiene las direcciones pendientes
    
$pendientes mysql_query("SELECT email FROM cola_mailing WHERE enviado = 0 LIMIT x");

    
//Para cada dirección, envía el email y guarda la dirección como despachada
    
while ($direccion mysql_fetch_assoc($pendientes)) {
        if (
mail("Asunto"$direccion['email']...)) {
            
$q_enviado mysql_query("UPDATE cola_mailing SET enviado = 1 WHERE email = '" $direccion['email'] . "'");
        }
    }

    
//Revisa si quedan emails por enviar
    
$consulta mysql_query("SELECT email FROM cola_mailing WHERE enviado = 0 LIMIT x")

    if (!
mysql_num_rows($consulta)) {
        
//Si quedan emails por enviar, espera $espera segundos para no saturar el servidor y vuelve a ejecutar la función
        
sleep(100);
        
ronda();
    }

No lo he probado así que puede fallar. De todos modos espero que te sea útil. Saludos!