Enviando um simples email com o
Net::SMTP:
#!/usr/bin/perl
use Net::SMTP;
$smtp = Net::SMTP->new('mailhost'); #esse comando vai abrir a conexão com servidor
No lugar de "mailhost" você põe o servidor de email, exemplos:
Hotmail:
$smtp = Net::SMTP->new('smtp.hotmail.com');
Yahoo:
$smtp = Net::SMTP->new('smtp.yahoo.com');
Cabeçalho:
Nome:
$smtp->mail("user");
#aqui você vai entrar com seu nome/apelido etc
Usando "Dr4k3":
$smtp->mail("Dr4k3");
Autenticação (opcional):
$smtp->auth("user","senha");
#aqui você vai autenticar seu email
Vamos supor que meu email seja "dr4k3@hotmail.com" e a minha senha "123456":
$smtp->auth("dr4k3","123456");
Destinatário:
$smtp->to('user@hotmail.com');
#aqui você vai por o destinatário, ou seja, quem vai receber o email
Vamos supor que o email do c00l3r seja "c00l3r@hotmail.com", nosso código ficaria assim:
$smtp->to('c00l3r@hotmail.com');
Data:
$smtp->data();
$smtp->datasend("To: user@hotmail.com");
#o data é o que vai imprimir a quem foi enviado e o remetente, caso dê algum erro ou o email esteja programado para mandar mensagens automáticas
Remetente:
$smtp->datasend("From: você@hotmail.com");
# este é o remetente e o fim do cabeçalho
Um exemplo do data completo:
$smtp->data();
$smtp->datasend("To: c00l3r@hotmail.com");
$smtp->datasend("From: dr4k3@hotmail.com");
Corpo:
$smtp->datasend("Artigo trabalhando com emails em Perl BotecoUnix");
#Aqui vem o conteúdo do email
Final:
$smtp->quit;
#aqui encerramos a conexão com servidor
Exemplo de uma source completa:
#!/usr/bin/perl
use Net::SMTP;
print q{
##############################
# Trabalhando com Emails
# usando o Net::SMTP
##############################
};
# DADOS
print 'Qual é o email Host?'; #pergunta para o usuário qual o emailhost que ele vai usar
chomp($eh = <STDIN>); #salva na memória
print 'Nome:'; #entra com o nick
chomp($name = <STDIN>);
print 'email:'; #entra com o user
chomp($mail = <STDIN>);
print 'senha:'; #entra com a senha
chomp($pass = <STDIN>);
print 'enviar para quem?:'; #entra com o destinatário
chomp($dest = <STDIN>);
print 'remetente:'; #entra com o remetente
chomp($remt = <STDIN>);
print 'Mensagem:'; #entra com o conteúdo
chomp($msg = <STDIN>);
# CONEXÃO
$smtp = Net::SMTP->new('smtp.$eh'); #abre a conexão
$smtp->mail("$name");
$smtp->auth("$mail","$pass");
$smtp->to('$dest');
$smtp->data();
$smtp->datasend("To:$dest ");
$smtp->datasend("From: remt");
$smtp->datasend("$msg");
$smtp->quit;
# FIM DA CONEXÃO
print "email enviado";
<STDIN>;
exit;