jueves, mayo 31, 2007

Enviar Correos por medio de Perl

.

Este es un pequeño ejemplo de perl para enviar correos a muchos usuarios ejecutándolo desde una terminal en GNU/Linux


#!/usr/bin/perl
use Net::SMTP;

$smtp = Net::SMTP->new('smtp.gmail.com');
print $smtp->domain,"\n";

$data_file="lista_correos.lst";

open(DAT, $data_file) || die("No se puede abrir el acrhivo!");
@raw_data = ;
close(DAT);


foreach $student (@raw_data)
{
chop($student);
($s_name)=split(/\|/,$student);

$smtp->mail($s_name);
$smtp->to($s_name);
$smtp->data();
$smtp->datasend("Subject: Asunto del mensaje");
$smtp->datasend("\n");
$smtp->datasend("
Hola a todos:\n
\n
Este es un ejemplo basico para eviar correos por medio de perl, como si el\n
destinatario se enviara uno asi mismo...\n
Gracias\n
\n
\n
Att:Rodrigo Carreño
\n

");
$smtp->dataend();

print "$s_name\n";
}
$smtp->quit;

3 comentarios:

Manuel Cerón dijo...

Interesante, pero hasta donde tenía entendido el servicio de smtp de gmail requiere autenticación. ¿en realidad si funciona así como está el código?

Rodrigo Carreño dijo...

Hola Manuel como vas???

Si, tienes mucha razón este codigo funcionó con los mails de afrodita en unicauca, para gmail habría que agregar el puerto, login y password.

Un Saludo!!!

Unknown dijo...

ey Rodrigo, buen blog hermano, quisiera saber como hago para agregar lo del puerto el login y el password al script; le invito a visitar http://el3ctron.blogspot.com