Gmail::SendMail - Enviando emails usando gmail
Publicado por Daniel Vinciguerra (última atualização em 23/09/2011)
[ Hits: 9.790 ]
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
Script para fazer buscas no arquivo de logs do squid
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









