Como enviar um e-mail em massa usando PHP

Publicado em php por ShortLikeAFox em 19 de setembro de 2008

Então você quer enviar um e-mail em massa ou você quer criar um programa que pode ser rapidamente alterada para enviar e-mails em massa múltipla. PHP faz isso fácil. Neste exemplo, vou assumir que você tem uma lista de endereços de e-mail você deseja enviar um e-mail certos. Também vou assumir que você está mantendo essa lista em um banco de dados, mas este código pode ser facilmente adaptado para usar uma lista de endereços de e-mail codificado ou lista de outra fonte.

<? Php

/ / Primeiro conecte ao banco de dados que contém as informações de endereço de e-mail.
$ user = "USER";
$ host = "HOST";
$ senha = "senha";
banco de dados $ DATABASE = "";

( "Couldn't connect to server" ); CXN $ = mysql_connect ($ host, $ user, $ password) or die ("Não foi possível conectar ao servidor");
mysql_select_db ($ database);

/ / Consulta a tabela que contém os endereços de e-mail. Preencha o seu nome próprio quadro aqui ...
$ query = "SELECT * FROM theEmailAddresses";
( mysql_error ($cxn)); $ resultado = mysql_query ($ query, $ CXN) or die (mysql_error ($ CXN));
nrows $ = mysql_num_rows ($ resultado);

/ / Quem é o remetente será identificado como. Você pode colocar o que quiser aqui, mas realmente não é muito ético colocar um endereço de e-mail que você não controla aqui.
$ From = "From: me@mydomain.com";
/ / A linha de assunto de e-mail padrão
$ assunto = "O que há de novo no mydomain.com";
/ / A mensagem
$ mensagem = "Olá amigo valorizado,

Estamos agora a vender biscoitos mydomain.com. Certifique-se de check it out!
Atenciosamente,
me ";

/ / Já consultado todos os endereços de e-mail. Agora nós apenas precisamos de enviar o e-mail
0 ; $i < $nrows; $i ++ ){ for ($ i = 0; $ i <$ nrows; $ i + +) (

$ Row = mysql_fetch_assoc ($ resultado);
extract ($ row);
/ / Replace $ email com o que a coluna de endereços de e-mail é chamado
a = "$ $ email";
/ / Enviar e-mail para cada e-mail no banco de dados
if (mail ($ para, $ assunto, $ mensagem, $ de)) (

/ / Imprime o nome de e-mails que foram enviados. Eu uso isso apenas para se certificar que o programa não tem congelado. Em sua teoria deveria ser um fluxo constante de nomes que estão sendo impressos>

); echo ("$ para <br/>");

)

)




?>

Este pedaço de código tira vantagem do php mail () função. Isto é muito poderoso e fácil de usar a função. Lembre-se que com grande poder vem grande responsabilidade. Tente não usar esta função para o mal.