Por eso este post menciona la forma de hacerlo en Windows con un PERL 5.8 y con LINUX usando PERL 5.14.
Vamos con la primera forma de hacerlo con LINUX:
Para esto podemos usar la biblioteca Email::Send::Gmail
en su página de CPAN podemos encontrar un ejemplo de como usarlo.
=======================================================================
#!/usr/bin/perl use strict; use Email::Simple; use Email::Simple::Creator; use Email::Send; use Email::Send::Gmail; send_mail(); print "mensaje enviado"; sub send_mail { my $usuario = 'tucorreo@gmail.com'; my $password = 'tupassword'; #Creamos el correo, a quien va dirigido, de quien, el asunto y el mensaje my $email = Email::Simple->create( header => [ To => 'JuanPerez@gmail.com', From => $usuario, Subject => 'Probando 123', ], body => "Prueba desde LINUX", ); #Aquí especificamos que usara a Gmail como servidor SMTP my $sender = Email::Send->new( { mailer => 'Gmail', mailer_args =>[ username => $usuario, password => $password, ] } ); $sender->send($email); }
=========================================================================Hasta aquí todo bien, pero en windows usando PERL 5.8 no está la biblioteca, entonces hurgando un poco en su código, podemos ver como funciona esta, nos podemos dar cuenta que usa la biblioteca Net::SMTP::SSL, y esta si la podemos encontrar para PERL 5.8.
y así quedaría el código para enviarlo en windows:
#!/usr/bin/perl use strict; use Net::SMTP::SSL; send_mail('juanPerez@gmail.com','Prueba desde windows', 'probando el correo desde windows ;D'); print "mensaje enviado"; sub send_mail { my $username = 'tucorreo@gmail.com'; my $password = '123456'; my $dest = shift; #'destinatario@algomail.com' my $asunto = shift; my $body_mail = shift; #creamos la conexión con el servidor SMTP de Gmail my $smtp = Net::SMTP::SSL->new( 'smtp.gmail.com', Port => 465, Debug => 0, ) || print 'Email::Send::Gmail: error connecting to server smtp.gmail.com'; #se realiza al autentificación $smtp->auth( $username, $password ) or print "Email::Send::Gmail: error authenticating username $username"; $smtp->mail($username); $smtp->to($dest); #Se envía el correo $smtp->data(); $smtp->datasend("From: ". $username ); $smtp->datasend("\n"); $smtp->datasend("To: ". $dest ); $smtp->datasend("\n"); $smtp->datasend("Subject: ". $asunto. "\n"); $smtp->datasend("\n"); $smtp->datasend($body_mail ."\n"); $smtp->dataend(); $smtp->quit(); }Y así podemos enviar correos usando nuestras cuentas de Gmail a traves de PERL en LINUX y Windows.