Jump to content


Photo

Envio De Newsletter Retorna Erro.


  • Faça o login para participar
6 replies to this topic

#1 rsantos

rsantos

    Turista

  • Usuários
  • 54 posts
  • Sexo:Masculino

Posted 29/06/2006, 21:50

Olá gente.

Tenho uma lista de emails com mais de 5000 emails para enviar newsletter.

Funcionava tudo certinho até um certo número de emails. Agora que a lista é grande, o script retorna erro.

O que ocorre é o seguinte: o script retorna erro antes de completar todas as voltas no comando for.

Já coloque set_time_limit e flush mas não resolveu.

Alguém tem experiência com isso ou pode me dizer como eu contorno esse problema?

Muito obrigado.

Eis o código:

set_time_limit(0);

$q = mysql_query("SELECT email FROM usuario");

$col=mysql_num_rows($q);

for($i=0; $i<$col; $i++) {
$email = mysql_result($q, $i, email);
$apelido = mysql_result($q, $i, apelido);

// Enviando o Email
mail(mysql_result($q, $i, email),$assunto,$mensagem,"$remetente");

flush();

}

// Mostrando o resutado
echo "Emails Enviados com Sucesso";



#2 ph_Rodrigues

ph_Rodrigues

    Jesus, take me back !!!

  • Usuários
  • 322 posts
  • Sexo:Masculino
  • Localidade:Goiânia-GO

Posted 29/06/2006, 22:45

Qual erro ta dando?
Pedro Henrique de M. Rodrigues <GO-Goiânia>

<----------- JESUS, O PÃO DA VIDA!!! ----------->

Zaplim - Soluções em Internet
Portal Veste Moda Brasil

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 30/06/2006, 01:16

Seria esse?
http://br2.php.net/m...ni.memory-limit
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 rsantos

rsantos

    Turista

  • Usuários
  • 54 posts
  • Sexo:Masculino

Posted 30/06/2006, 09:59

Ao invés de completar as voltas e mostrar na tela "Emails enviados com sucesso", simplesmente depois de um tempo aparece aquela página "Esta página não pode ser exibida".

#5 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 30/06/2006, 15:36

pode ser um erro de memoria mesmo, como o eclesiastes tah faland, vc tah tentando enviar email por email?

pq vc naum manda tipo uns 50 emails em CCO? dentro do looping da consulta, faz outro for, que conta ateh 50, incrementando numa váriavel os emais, separados por virgula, qdo chegar em 50, vc manda o mail mandando o conteudo da variavel em CCO e depois vc limpa ela...

em vez de executar a função mail 5000 ele vai executar 100, que eh beeem menos custoso! ;)

outro jeito seria disparar uma threads,para que executem a função mail paralelamente, mas acredito que o PHP naum tenha suporte a isso (pelo menos nunca ouvi falar) :blink:

Edição feita por: MxDxPx, 30/06/2006, 15:37.

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#6 rsantos

rsantos

    Turista

  • Usuários
  • 54 posts
  • Sexo:Masculino

Posted 30/06/2006, 16:12

Vou tentar bolar algo nesse sentido. Valeu!

Mas se alguém tiver uma outra sugestão eu aceito.

#7 rsantos

rsantos

    Turista

  • Usuários
  • 54 posts
  • Sexo:Masculino

Posted 03/07/2006, 15:58

Bom, o jeito foi programar um cronjob para enviar os emails aos poucos.

Valeu gente!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq