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