Olá galera,
Tenho postfix instalado e configurado aqui na empresa. Agora preciso de um script que envie emails em massa, sendo um por um.
Esses emails que eu irei mandar, estão dentro de um arquivo "email.txt".
Alguem pode me ajudar?
Olá galera,
Tenho postfix instalado e configurado aqui na empresa. Agora preciso de um script que envie emails em massa, sendo um por um.
Esses emails que eu irei mandar, estão dentro de um arquivo "email.txt".
Alguem pode me ajudar?
Isto pode ser utilizado para SPAM, por isto, creio que não irão ajudá-lo.
Mas se você realmente precisa... pode dar uma conferida no site do php (www.php.net).
Seguem as funções necessárias para o que você pretende fazer..
http://www.php.net/manual/en/function.readfile.php
http://www.php.net/manual/en/function.explode.php (talvez não seja necessária.. depende do formato do seu arquivo)
http://www.php.net/manual/en/function.mail.php
Espero que seja para fins benéficos.. Por não ter certeza de tal, postei apenas os links para pesquisa. Afinal, não é algo tão complicado.
Bom trabalho.
Na verdade é para newsletter personalizada.
Vou criar vários arquivos com alguns emails (por grupo).
tipo (departamentos: contabilidade, administração, dpt pessoal, fiscal...).
conseguiu resolver o problema?
Resolvi sim,
Esse é o script:
for recebedor in $(< arq/de/ips)
# o mesmo que:
#+ for recebedor in $(cat arq/de/ips)
#+, porem + rapido
{
mail -s "assunto" $recebedor < arq/de/texto
}
pode ser em php ? tenho um pronto usando a função mail, buscando os e-mails de um banco mysql... é bem simples...
(detalhe que precisa ter o relay aberto para o ip ou rede) pois nao tem como vc se autenticar usando funcao mail.
se precisar avisa ai que posto aqui.
:-D
PARA djhulk;
po se tu me conseguir esse em php eu te agradeço.
valeu
Esta é a versão autenticada usando perl...
Código :<? include("Mail.php"); $sql = mysql_query("SELECT campo FROM tabela"); while($dados = mysql_fetch_array($sql)){ $emails[] = $dados[0]; } $params["host"] = "mail.provedor.com.br"; $params["port"] = "25"; $params["auth"] = true; $params["username"] = "[email protected]"; $params["password"] = "senha"; $msg = "<pre>"; $msg .= "<center>E-MAIL TESTE"; $msg .= "SEU TEXTO</center>"; $msg .= "</pre>"; //Create the mail object using the Mail::factory method $mail_object =& Mail::factory("smtp", $params); $headers["From"] = "[email protected]"; $headers["Subject"] = "Assunto"; $headers['Content-Type'] = "text/html; charset=iso-8859-1"; for($i=0; $i<count($emails); $i++){ echo "[".date("d/m H:i")."] <b>Enviando e-mail para: </b>".$emails[$i]."<br>"; echo "<script> currentpos=window.pageYOffset+50; window.scroll(0,currentpos)</script>"; flush(); $mail_object->send($emails[$i], $headers, $msg); sleep(2); // serve para esperar um tempo antes de enviar o proximo e-mail } echo "<font color=red><b>OK, Terminado!</b></font>"; ?>
Aproveitem :-D
by Eduardo Luis Miliorini
esta é a versao usando a funcao mail do php,
eu não testei ela, pq tive que fazer algumas alterações, se der erro me avisa ai.
Código :<? $sql = mysql_query("SELECT campo FROM tabela"); while($dados = mysql_fetch_array($sql)){ $emails[] = $dados[0]; } // corpo do e-mail $msg = "<pre>"; $msg .= "<center>E-MAIL TESTE"; $msg .= "SEU TEXTO</center>"; $msg .= "</pre>"; // nem preciso dize nada $remetente = "[email protected]"; // email do remetente $assunto = "Voce foi escolhido"; // assunto // os cabecalhos da msg $headers1 .= "MIME-Version: 1.0\n"; $headers1 .= "Content-type: text/html; charset=iso-8859-1\n"; $headers1 .= "From: ".$remetente."\n"; for($i=0; $i<count($emails); $i++){ echo "[".date("d/m H:i")."] <b>Enviando e-mail para: </b>".$emails[$i]."<br>"; echo "<script> currentpos=window.pageYOffset+50; window.scroll(0,currentpos)</script>"; flush(); mail($emails[$i],$assunto,$msg,$headers1)or die("Erro de smtp"); sleep(2); // serve para esperar um tempo antes de enviar o proximo e-mail } echo "<font color=red><b>OK, Terminado!</b></font>"; ?>
enjoy!
by Eduardo Luis Miliorini
eu ainda complementaria o cabeçalho com algumas coisas evitando assim que o email vá para a pasta de lixo eletronico...Postado originalmente por djhulk
Código :$headers .= "X-Sender: Nome <[email protected]>\n"; $headers .= "From: $nome $sobrenome <$email>\n"; $headers .= "Reply-To: Nome <[email protected]>\n"; $headers .= "Date: ".date("r")."\n"; $headers .= "Message-ID: <".date("YmdHis")."nome@".$_SERVER['SERVER_NAME'].">\n"; $headers .= "Return-Path: Nome <[email protected]>\n"; $headers .= "Delivered-to: Nome <[email protected]>\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html;charset=ISO-8859-9\n"; $headers .= "X-Priority: 1\n"; $headers .= "Importance: High\n"; $headers .= "X-MSMail-Priority: High\n"; $headers .= "X-Mailer: Nome do Programinha...!\n";
Boa, so nao axo uma boa ideia colocar prioridades Altas.
Valeu pela contribuição...
[]'s
:-D
é que a minha intenção é evitar que ela vá parar no lixo eletrônico... como não sei exatamente quais filtros são aplicados nos servidores de email eu meio que tentei com todos estes campos criar a maior possibilidade de ir parar na caixa de entrada...
outra coisa, esta idéia pra mim foi a melhor!!!
sleep(2); // serve para esperar um tempo antes de enviar o proximo e-mail
assim evita sobrecarregar o servidor
já trabalhaei em um host e lá sempre orientáva-mos os clientes a enviarem suas news durante a noite onde a carga é bem menor. confesso que não conhecia o "sleep" mas é isto aí vivendo e aprendendo...