Ir para conteúdo

POWERED BY:

Arquivado

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

P3rukao

Funcionamento de Sistema de Newsletter

Recommended Posts

Olá a todos..

 

eu gostaria de saber como que funciona exatamente um sistema de newsletter...

Estou tentando montar um mas estou com dúvidas na lógica para montá-lo-ele.

 

Tipo... eu guardo no banco os dados dos usuarios para quem eu vou mandar... e sempre que eu quiser enviar uma newletter, eu executo um script utilizando o phpMailer por exemplo??

 

Ou eh de outra forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo... eu guardo no banco os dados dos usuarios para quem eu vou mandar... e sempre que eu quiser enviar uma newletter, eu executo um script utilizando o phpMailer por exemplo??

 

Basicamente é isso mesmo, você terá uma tabela com os usuários que solicitaram a newsletter. Quando você for enviá-la você irá executar um SELECT nessa tabela e irá recuperar os nomes e emails de todos os usuários que fizeram a solicitação; Depois de executar o SELECT você terá um recurso e irá utilizar um loop para recuperar os registros e enviar os emails (que pode ser utilizando o phpMailer ou qualquer um outro), por exemplo:

 

if ( ( $conn = mysql_connect( "servidor" , "usuario" , "senha" ) ) ){
    mysql_select_db( "seu_banco_de_dados" );
    
    if ( ( $resultado = mysql_query( "SELECT * FROM `usuarios_que_solicitaram`" ) ) ){
        /**
         * Depois de fazer a consulta você poderá recuperar cada linha e montar sua lista de envio
         */
        while ( $registro = mysql_fetch_array( $resultado , MYSQL_ASSOC ) ){
            //aqui você processará os dados da sua newsletter
        }
        
        /**
         * A linha abaixo libera o resultado
         */
        mysql_free_result( $resultado );
    }

    /**
     * A linha abaixo fecha a conexão com o banco, é importante sempre fechar as conexões
     * e liberar os resultados para não sobrecarregar o servidor
     */
    mysql_close( $conn );
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Humm... Obrigado pelo esclarecimento João... acho que agora já tenho uma noção de como fazer... ;)

 

Eu fiquei na dúvida... porque vejo muitas propagandas na rede sobre "sisteeemas" que fazem isso e aquilo... daí achei que fosse mais complicado... =/

 

Sei que tem algo mais realmente... mas acho que isso basta pra que eu consiga fazer um tbm... vlw http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiquei na dúvida... porque vejo muitas propagandas na rede sobre "sisteeemas" que fazem isso e aquilo... daí achei que fosse mais complicado... =/

 

Certo, esses "sisteeemas" na verdade são simples o que realmente rola é o link do sistema, a faixa de IP não estar em black list e capacidade de envio de emails e tal.

O funcionamento da aplicação em si é simples, depois de implementar o kara que manda os emails você pode até criar um agendamento com cron para enviar emails na hora especificada pelo seu usuário, mas se seu link estiver em uma faixa de IP que está em black list seus emails vão parar na caixa de spam do recebedor.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alumas regrinhas basicas de envio tb devem ser praticadas.

Qdo a pessoa marcar a opcao de receber newsletter, enviar um email pedindo uma confirmacao. Gravar isso no DB com o ip da confirmacao, data e hora.

Além disso, colocar uma pausa no script para evitar q seu IP entre na blacklist.

Seguindo isso, dificilmente você vai ter problemas, pois mesmo q a pessoa "denuncia" como spam, você tera a confirmacao dela q quis recber a newsletter.

[]s

 

FM

Compartilhar este post


Link para o post
Compartilhar em outros sites

bacana.... eu rodei que só atras de informações assim... mas nunca acho em lugar nenhum...

 

;)

 

- Esse lance da pausa que você diz... seria no envio de cada usuario cadastrado no banco?? Ô.õ

 

- como seria exatamente essa pausa???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opnião minha: Não use o sleep()! http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Em último caso, se você não utilizar servidor linux ou que tenha CPanel, você usa o sleep() mesmo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Se você utilizar um servidor linux ou que tenha CPanel instalado, prefira utilizar o Cronjob (crontab) para fazer os envios das mensagens.

 

Crie uma coluna na sua tabela do tipo "status" e marque com "0" ou "1", onde "0" seria não foi enviado ainda e o "1" que já foi enviado.

 

Limite o envio por hora. Aí você pode me perguntar: Mas qual é o limite?

Isso é o suporte ou administrador do seu servidor que vai poder te responder e dizer qual é a configuração lá no WHM do seu servidor.

 

Se você seguir o limite do seu servidor, você irá evitar o sobrecarregamento do mesmo, o que poderá atrapalhar os serviços que estão rodando nele, inclusive a sua própria hospedagem. Caso o administrador do servidor seja bem cuidadoso, ele com certeza irá tomar as medidas cabíveis pra que isso se resolva e pare de funcionar o serviço pra você ou algo do tipo.

 

Ao criar uma CronJob (crontab), configure para que ele execute o arquivo a cada hora. E no arquivo você configura o limite de e-mails permitido por hora.

 

Acho que deu pra entender a idéia geral, né?

 

Espero ter ajudado! http://forum.imasters.com.br/public/style_emoticons/default/coolio.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego, vamos imaginar uma situação...

 

O limite do meu provedor é de 2.000 e-mail por hora (hipoteticamente falando). Usando só CronJob, vou enviar os 2.000 em uma 'tacada' só.

 

Com o sleep(), configuro para 1 e-mail a cada 2 minutos. Creio que assim vai sobrecarregar menos o sistema e vou ter menos chance de ser considerado spam.

 

Na minha visão, o ideal é usar os 2 em conjunto.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego, vamos imaginar uma situação...O limite do meu provedor é de 2.000 e-mail por hora (hipoteticamente falando). Usando só CronJob, vou enviar os 2.000 em uma 'tacada' só.Com o sleep(), configuro para 1 e-mail a cada 2 minutos. Creio que assim vai sobrecarregar menos o sistema e vou ter menos chance de ser considerado spam.Na minha visão, o ideal é usar os 2 em conjunto.Carlos Eduardo

 

Para melhorar, podemos fazer com que esse cálculo seja automático, onde a gente só precise determinar o limite e fazer com que o PHP calcule qual será o valor do sleep(). http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para melhorar, podemos fazer com que esse cálculo seja automático, onde a gente só precise determinar o limite e fazer com que o PHP calcule qual será o valor do sleep()

Boa idéia. De uma forma bem simples...

 

$qtde_hora = 1000;
$sleep = ceil(3600/$qtde_hora);
sleep($sleep);

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.... obrigado pelas dicas galera... vou fazer uns testes pra ver por onde vão começar os meus problemas... ^^

 

O MEU serviodor de hospedagem eh o Locaweb... mas nem todos que irei utilizar (o dos clientes) serão 'dos bons' assim... então tenho que me precaver msm..

 

Mas já estou vendo que vou ter q ir pro suporte do meu servidor pra ver esse lance de limite de emails... e coisa do tipo que vocês falaram... =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego, vamos imaginar uma situação...

 

O limite do meu provedor é de 2.000 e-mail por hora (hipoteticamente falando). Usando só CronJob, vou enviar os 2.000 em uma 'tacada' só.

 

Com o sleep(), configuro para 1 e-mail a cada 2 minutos. Creio que assim vai sobrecarregar menos o sistema e vou ter menos chance de ser considerado spam.

 

Na minha visão, o ideal é usar os 2 em conjunto.

 

Carlos Eduardo

 

 

Matias, estava lendo este topico, qual o servidor que voce usa??? quando preciso mandar newsletter meu servidor suporta apenas 250 mensagens dia!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O limite do meu provedor é de 2.000 e-mail por hora (hipoteticamente falando).

Hipoteticamente falando. Nem sei quantos e-mails por hora meu servidor suporta.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um script interessante sobre o envio de newsletters no servidor da locaweb: http://wiki.locaweb.com.br/pt-br/Como_enviar_e-mails_em_grande_quantidade_com_script_PHP

 

Só editei um pouquinho...mas tah funcionando lglzinho ;)

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.