Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeonardoMiranda

[Resolvido] Limitar envio de email por minuto

Recommended Posts

Olá pessoal, estou com um sistema de newsletter funcionando perfeitamente, mas esbarrei em um problema, meu servidor permite o envio de apenas 50 emails por minuto, logo meu newsletter envia os todos cadastrados em 1 segundo.

 

Ele tem um limite mas tbm envia por segundo exemplo:

 

Tenho 1000 emails cadastrados.

Se colocar um limite de 10, vai enviar 10 pacotes com 100 emails, logo 100 emails por segundo em 10 pacotes até completar os 1000 emails enviados.

 

Gostaria de saber como que faço para colocar um limite por minuto e não por segundo, um delay, enviar 50 emails a cada 2 minutos por exemplo e não tudo de 1 vez só.

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Leoardo,

 

O controle de tempo você precisa fazer do lado do cliente, em javascript por exemplo com a função setInterval.

 

Algo assim:

window.setInterval('funcao_enviaMail()', 120000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a função sleep para pausar a execução do script. Veja que o ideal é dividir durante o tempo permitido, e não enviar tudo de uma vez e depois parar. Um exemplo.

Se o seu servidor permite enviar 50 email por minuto, então você pode enviar 1 e-mails e pausar o script por 1 segundo, ao invés de enviar 50 e-mail e parar por 60 segundos. Assim você não estoura o limite e divide o processamento de forma igual, evitando sobrecarga no sistema.

 

http://br.php.net/sleep

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.