Ir para conteúdo

Arquivado

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

joaogil

disparar newsletter para 1.800 emails

Recommended Posts

Eu estou fazendo um Sistema de Newsletter que dispara informativos pra todos os e-mails cadastrados mo BD, mas dispara os e-mails individualmente.

 

Então vou fazer um loop nos 1.800 e-mail cadastados no BD e dentro do loop terá a função mail(), que será executada 1800 vezes.

 

Eu gostaria de saber se na hora de disparar estes 1800 e-mails não vau dar pau no sistema ??

 

Abraço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza você não deve usar a função mail. Muitos servidores de email detectam que o email foi enviado sem autenticação e classificam seus emails como spam. Tive muito problema com isso. De uma pesquisada na classe phpmailler.Qualquer dúvida posta ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A incompatibilidade se dá com o servidor e não com o código. Existem maneiras de tentar burlar mas não são nada eficientes pois acarretam fila no servidor de envio de e-mails e eles acabam te "cortando".

A melhor coisa é ter um servidor próprio de envio Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, obrigado pela ajuda, mas eu não sabia que dava tantos problemas assim!

Deve existir uma forma correta e eficiente de fazer isso, já que todas a grandes empresas possuem informativos eletrônico, e seus BD são grandes. A exemplo o o próprio Imasters !

 

Mas onde está o maior problema, no servidor que enviará ? ou no loop do código ? ou nos servidores que receberão ?

 

Outra coisa, se eu instalar um servidor de smtp, eu igual terei que instalar este servidor em um servidor http que está online, e isso não dará no mesmo ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grandes empresas possuem servidores próprios que não tem restrições quanto ao envio de e-mail em massa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O modo que encontramos de fazer isso (mandamos pra + de 14.000 e-mails) foi com javascript+PHP:· Há uma página com um js que chama, por Ajax, outra página PHP responsável pelo envio de 1 e-mail da lista.· Após o envio, esse e-mail é marcado, na tabela, como já tendo sido enviado, e é enviada uma resposta de "OK" para o js.· O js espera 2 segundos e faz uma nova chamada à página PHP, que vai pegar o próximo e-mail não-enviado da lista, repetindo o ciclo.· Após todos os e-mails serem enviados, o js executa um clearInterval() e finaliza o envio.Essa foi a maneira que conseguimos enviar essa quantidade de e-mails pela Locaweb sem prejudicar o servidor. Demora um bocado mas funciona uma beleza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelas ajudas ! Eu estava pensando se adiantaria eu instalar um servidor de e-mail online, ou seja, no próprio servidor http que pago as mensalidades pra hospedar minhas páginas ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro problema nesse caso é que a função mail abre uma conexão com o servidor, envia o e-mail e fecha cada vez que ela é chamada. O ideal, mas não sei se seria possível pelo fato de não ser um servidor próprio, seria abrir apenas uma conexão e enviar os e-mails. Uma vez eu li que a extensão Pear Mail era capaz de fazer isso... mas nunca a utilizei.

 

Se não der, achei a solução do Mario muito boa. É demorada, mas funciona... que é o mais importante.

 

[]'s!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É Illidan você tem razão, mas não deve ter jeito e além doque usando a função mail vários emails cairiam como spam em server como GMAIL e etc... já tive muito problema com isso e resolvi usando o phpmailer

 

Massa Mario, quando colocar no laboratório não esquece de dar uma avisada aqui nesse post para agente ir lá olhar. Até agora eu não precisei disso não mas estudo nunca é de mais né.

 

Valeu, abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario Helme, você consegue disponibilizar o seu código pra galera ter uma idéia de como foi feito ?Valeu ! :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

e o codigo ninguem tem aeee???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu algum tempo atras ja vinha procurando como enviar uma newsletter para 12.000 emailNão encontrei nada para resolver o meu problema.Cheguei a ler um topico que o mario helme comenta sobre enviar de um a um e chama a pagina por ajax etc...Eu pensando cheguei a uma ideia que talvez não seja das maiores e pode ser aprimorada.Tabela :idemailflag-------------------------flag 0 = nao enviadoflag 1 = enviado---------------------------Pagina de consulta a tabela com select limit 1 cuja a flag seja 0, depois de selecionar um email com flag 0 (nao enviado) ele pega esse email e faz update da flag de 0 para 1 (informando que ja foi enviado)como não consigui fazer header para abrir a pagina novamente, eu fiz um refresh de 1segundoconcluindo a ideia: Pagina faz consulta na tabela a e-mails com flag 0 e depois atualiza o flag para 1 com limit de 1.apos isso refresh de 1 segundo.Ae vai!!!Funciona mas tendo ideias sobre vamo pra dentro! Pode ser primiriva a ideia, mas pode resolver problema de muita gente. =]abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra opção que pensei seria dentro do código php, pegar o numero total de emails que serão enviados e dividir em partes e enviar a primeira parte usando envio por smtp tipo com zend_mail ou phpmailler e dar um sleep de uns 5 minutos, depois enviar a 2 parte e sleep 5minutos, 3 parte e assim por diante... Acho que talvez funcione sem precisar de fazer alteraçõe em bd ou ajax.Mas por enquanto não vou ter tempo de implementar isso, se alguem quiser tentar, acho que pode dar certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que você vai ter o risco do time out do servidorso tentando p/ ver.mario poderia postar o codigo dele heim...

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.