Gmail::SendMail - Enviando emails usando gmail
Publicado por Daniel Vinciguerra (última atualização em 23/09/2011)
[ Hits: 9.542 ]
Homepage: http://bivee.com.br
Download 1316628004.send-mail.pl (versão 2)
Esta é uma implementação simples de uma classe para trabalhar com envios de emails utilizando como base o servidor do gmail.com.
Melhore, brinque, altere, estude ou use este exemplo como preferir, contanto que mantenha a referencia e use-o para aumentar seus conhecimentos. ;)
Observação:
Depende do módulo Net::SMTP::TLS ( $ sudo perl -MCPAN -e "install Net::SMTP::TLS" )
Versão 2 - Enviado por Daniel Vinciguerra em 21/09/2011
Changelog: Esta é uma implementação simples de uma classe para trabalhar com envios de emails utilizando como base o servidor do gmail.com.
Melhore, brinque, altere, estude ou use este exemplo como preferir, contanto que mantenha a referencia e use-o para aumentar seus conhecimentos. ;)
Observação:
Depende do módulo Net::SMTP::TLS e do Class::Accessor
( $ sudo perl -MCPAN -e "install Net::SMTP::TLS" )
( $ sudo perl -MCPAN -e "install Class::Accessor" )
Download 1316628004.send-mail.pl
#!/usr/bin/perl # (c) 2011 Bivee. All rights reserveds. # author dvicniguerra < dan.vinciguerra at gmail.com > # # This script is distributed under Perl Itself License # package Gmail::SendMail; use strict; use warnings; # default constructor sub new { return bless { server => 'smtp.gmail.com', port => 587, }, shift || ref shift; } sub configure { my ( $self, %param ) = ( shift, @_ ); eval { $self->{username} = $param{username} || ""; $self->{password} = $param{password} || ""; }; if ( $@ ) { die "Error setting authentication credentials: $@ "; } } # accessor to server attribute sub server { $_[0]->{server} = $_[1] if defined $_[1]; return shift->{server}; } # accessor to port attribute sub port { $_[0]->{port} = $_[1] if defined $_[1]; return shift->{port}; } # accessor to username attribute sub username { $_[0]->{username} = $_[1] if defined $_[1]; return shift->{username}; } # accessor to password attribute sub password { $_[0]->{password} = $_[1] if defined $_[1]; return shift->{password}; } # accessor to from attribute sub from { $_[0]->{from} = $_[1] if defined $_[1]; return shift->{from}; } # accessor to "to" attribute sub to { $_[0]->{to} = $_[1] if defined $_[1]; return shift->{to}; } # accessor to body attribute sub body { $_[0]->{body} = $_[1] if defined $_[1]; return shift->{body}; } # send message method sub send { my $self = shift; eval { use Net::SMTP::TLS; # config mailer my $mail = Net::SMTP::TLS->new( $self->server, Hello => $self->server, Port => $self->port, User => $self->username, Password=> $self->password, ); # config mail $mail->mail( $self->from ); $mail->to( $self->to ); $mail->data; $mail->datasend( $self->body ); $mail->dataend; $mail->quit; }; if ( $@ ) { die "Error sending mail: $@ "; } } package main; # getting new object instance my $app = Gmail::SendMail->new; # setting user authentication $app->configure( username => 'dan.vinciguerra@gmail.com', password => 'Alexia**', ); # setting message informations $app->from( 'dan.vicniguerra@gmail.com' ); $app->to( 'dan.vinciguerra@gmail.com' ); $app->body( qq{ Hi pretty, Do you want to go to party with me today? :) see ya, Daniel Vinciguerra This message was sent using Perl. ;) } ); # lets rock baby ;) $app->send; __END__ =head1 NAME Gmail::SendMail - Exemplo Gmail sender =head1 DESCRIPTION Esta é uma implementação simples de uma classe para trabalhar com envios de emails utilizando como base o servidor do gmail.com. =head1 SINOPSYS use Gmail::SendMail; my $app = Gmail::SendMail->new; $app->configure( username => 'usuario_gmail', password => 'senha_gmail', ); $app->from( 'foo@gmail.com' ); $app->to( 'bar@gmail.com' ); $app->body( 'Minha bicicleta amarela!' ); $app->send; =head1 SEE ALSO L<Net::SMTP::TLS>, L<perl> =head1 AUTHOR Daniel Vinciguerra < dan.vinciguerra at gmail.com > =cut
PDF completo com todas as páginas do Diário Oficial do Estado de Goiás
Obtendo o IP público (Internet) usando o Perl
API do Bing para traduzir textos
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
estou com chromebook legalzinho. (2)
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta