Olá,
a Locaweb impões esses limites de horários, justamente para evitar a
construção de scripts de spam, cá entre nós, uma base de 24mil, merece um
servidor só pra isso, hehehe.

Para fazer o envio em lotes fica algo mais ou menos assim:

Você faz um SELECT COUNT(*) na tabela e divide por 1000; vai resultar em 24,
creio eu.
for($i = 0, $i <= $count; $i++)
{
    $result = $this->db->query('SELECT * FROM emails LIMIT '.($i*1000)'.,
1000')->result();
    //processa o envio
    foreach($result as $item)
    {
        //script que envia o email
        sleep(1);
    }
}

Esse é um exemplo bem básico, mas na verdade é bem isso que tem que ser
feito. Como disse antes a Locaweb tenta evitar envio de emails em massa, por
dois motivos:

Enviar email gera muita demanda;
Se eles não evitam isso, todo mundo começa a hospedar mensageiros com eles.

Não é preciso fazer o script rodar a cada minuto, escutando php script.php,
ele irá fazer o que é necessário, faça todo o controle no script.php, usando
as técnicas que achar necessário.
A única coisa que vai lhe causar problema é achar alguem que permita enviar
tantos emails duma vez. Se for possível fazer esse envio em dias separados
seria melhor.

Dae tu pode enviar os 3600 que o pessoal andou comentando ae. Se é uma
newsletter mensal, tá mais do que razoavel em 7 dias você entrega tudo,
hehehe.

Falow!

-- 
Robson Mendonça
http://www.myweboncreate.com
CTO at LEC/UFRGS (Cognitive Studies Lab)
LEC - Laboratório de Estudos Cognitivos - UFRGS
Centro de Excelência Sun para Desenvolvimento de Soluções de TI para
Educação
Fundação Pensamento Digital - www.pensamentodigital.org.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a