newsletter.pl
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 6.124 ]
Homepage: https://www.instagram.com/alexabolada/
Este é o script usado para se conectar ao MySQL, buscar os nomes e endereços de
email das pessoas cadastradas no site e enviar uma mensagem para cada um da lista.Ele usa os módulos DBI para banco de dados e MIME::Entity para envio de email.
#!/usr/bin/perl # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # newsletter.pl # # Programa usado para enviar uma newsletter para # uma lista de emails carregada a partir de uma # tabela do MySQL # # Programado por Fábio Berbert de Paula <fabio@vivaolinux.com.br> # Na web em: www.vivaolinux.com.br # # Rio de Janeiro, 25 de Julho de 2002 # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ use strict; # módulo que nos força a declarar variáveis locais our ($dbName,$dbHost,$dbUser,$dbPass,$newsTable); require '/home/seguro/con.vivaolinux.vars'; # arquivo com o valor das variáveis our ($tplFrom,$tplSubject,$tplBody); require '/home/seguro/newsletter.vars'; # arquivo com o valor das variáveis use MIME::Entity; # módulo para envio de email # conectar ao banco de dados use DBI; my $con = DBI->connect("DBI:mysql:database=$dbName;host=$dbHost",$dbUser,$dbPass) or die "Não consigome conectar ao MySQL: $!\n"; # Estrutura da tabela no MySQL # +-------+--------------+------+-----+---------+-------+ # | Field | Type | Null | Key | Default | Extra | # +-------+--------------+------+-----+---------+-------+ # | email | varchar(100) | | PRI | | | # | nome | varchar(100) | YES | | NULL | | # +-------+--------------+------+-----+---------+-------+ # contruir e executar a consulta my $dbQuery = "SELECT nome,email FROM $newsTable"; my $res = $con->prepare($dbQuery); $res->execute(); # percorrer os registros retornados pela consulta while (my @line = $res->fetchrow_array()) { my ($name,$email) = @line; if (!$name) { $name = 'Usuário'; } build_and_send_news($name,$email); } $con->disconnect(); # +++++++++++++++++++++++++++++++++++++++++ # build_news - contrói e envia a mensagem sub build_and_send_news { my ($name,$email) = @_; my $thisBody = $tplBody; # substituir as variáveis voláteis $thisBody =~ s/{NOME}/$name/; $thisBody =~ s/{EMAIL}/$email/; my $mail = build MIME::Entity From => $tplFrom, To => $email, Subject => $tplSubject, Type => 'text/plain', Data => $thisBody; open(MAIL,"| /usr/lib/sendmail -t"); $mail->print(\*MAIL); close(MAIL); }
Apagar MAILER-DAEMON da fila de email
Adicionar conta de e-mail - Postfix com domínios virtuais no MySQL
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Erro ao converter string para inteiro (4)
Não consigo acessar os modos de desempenho no mint 2.3 (6)
Criar uma base de reconhecimento de HW no VOL (8)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba