Introducción
Pues una de las preguntas más concurridas es ¿cómo puedo envíar mensajes con Windows? es por ello que decidí hacer un tutorial acerca de eso.
Para poder envíar mensajes con windows tenemos que hacerlo por medio de SMTP "Simple Mail Transfer Protocol", para hacer eso necesitamos que perl se comunique con el servidor.
En este tutorial voy a poner dos ejemplos sencillos usandos dos módulos distintos para que escojan el que más les interese o guste.
Usando Mail::Sendmail
Este módulo es de los más usados para envíar mensajes por medio de Windows, si no tienes este módulo instalado lo puedes encontrar en http://search.cpan.org/~mivkovic/Mail-Sendmail-0.79/Sendmail.pm.
Muy bien ahora aquí esta el ejemplo de como quedaría el script para envíar el email:
#!C:\perl\bin\perl.exe -w
use strict;
use Mail::Sendmail;
# Creamos el hash con nuestro mensajes
my %mail = (
To => 'Para ',
From => 'De ',
Subject => 'Asunto del mensaje',
Message => 'Mi mensajes',
Smtp => 'mail.servidor.com'
);
# Envíar el mensaje
unless (sendmail(%mail)) {
# Error!
print "ERROR\n";
exit(1);
}
# Envío correcto.
print "OK\n";
exit(1);
Como ves es muy sencillo, nada más un detalle, en la variable de "smtp" si no pones la variable el default va a ser "localhost".
Usando MIME::Lite
Otro módulo famoso para estos casos y el cual me gusta más, si no lo tienes instalado lo puedes encontrar en http://search.cpan.org/~yves/MIME-Lite-3.01/lib/MIME/Lite.pm.
El código para envíar mensajes con este módulo es:
#!C:\perl\bin\perl.exe -w
use strict;
use MIME::Lite;
$msg = MIME::Lite->new(
From =>'[email protected]',
To =>'[email protected]',
Subject =>'Asunto del mensajes',
Data =>"Mi mensaje"
) ;
#Pedir que se use SMTP
MIME::Lite->send('smtp', "smtp.sitio.com", Timeout => 60 ) ;
# Enviamos el mensaje
$msg->send;
Y eso es todo, realmente sencillo.
Notas Finales
Pues aquí estan los dos módulos más usados para envíar mensajes en Windows y el ejemplo para envíarlos, como ven no me metí en mayores detalles porque no creó que tenga caso, pero espero que les sirva.
Esta pregunta la hice ya hace varios años y quisiera agradecer a todos los "monks" de http://perlmonks.com por la ayuda que me dieron en ese tiempo.