[Perl] Mail Sender en Perl
Salvador Ortiz Garcia
sog@msg.com.mx
09 Jul 2003 21:44:11 -0500
On Tue, 2003-07-08 at 18:38, Pablo Fischer wrote:
> Que tal!
>
> Pues aquí dando lata de nuevo.
>
> Ahora preguntando si alguien de la lista tiene algo de información (pdfs,
> html, docbook, urls, tips, comentarios, etc) sobre crear un Mail Sender en
> Perl.
>
> ¿Qué quiero decir con esto?
>
> Crear algo así como mi propio MTA, en el cual pueda mandar mensajes. Es decir,
> no depender si el servidor es postfix, sendmail, ms, exim, etc.
>
> Algo parecido a:
> http://www.cs.cf.ac.uk/Dave/PERL/node180.html
Primero una aclaración conceptual:
El software que anotas NO es un MTA, es simplemente un _cliente_ SMTP.
Un MTA (Mail Transfer Agent), para calificar como tal debe incluir
cuando menos: cliente, server, encolador y despachador; Perfectamente
posible de hacerse en perl, pero no es un proyecto trivial.
Lo que es trivial es hacer tu Mail Sender que le entrege a tu MTA
(postfix, senmail, etc) propio o de terceros un mensaje, pues todo lo
que necesitas es Net::SMTP:
#!/usr/local/bin/perl -w
use Net::SMTP;
$smtp = Net::SMTP->new('some.host.com'); # Tu servidor
$smtp->mail($ENV{USER}); # Quién envía
$smtp->to('usuario@un.dominiox.com'); # Destinatario
$smtp->data(); # Comienzan los datos
$smtp->datasend("To: postmaster\n"); # Headers
$smtp->datasend("Subject: Prueba\n");
...
$smtp->datasend("\n"); # Fin de headers
$smtp->datasend("Un simple mensaje de prueba\n");
$smtp->dataend(); # Fin de los datos.
$smtp->quit;
--
Salvador Ortiz Garcia <sog@msg.com.mx>
Matías Software Group