Enviar correo desde Perl

Ernesto Hernandez-Novich emhn at telcel.net.ve
Wed Apr 9 15:11:46 CDT 2003


apt-get install libmailtools-perl (o instalar Mail::Mailer desde CPAN)

use Mail::Mailer;
eval {
  $m = Mail::Mailer->new("sendmail");
  $m->open( { From => 'foo at bar.com',
              To   => 'baz at qux.net',
              Subject => 'Como enviar e-mail desde Perl'
	    } );
  print $m <<CUERPO
CPAN es tu amigo.
Perl es superior porque todo está en CPAN.
Resistirse es inútil.
CUERPO
  ;
  $m->close;
};
if ($@) {
  print "Error: $@\n";
} else {
  print "Mensaje enviado.\n";
}

Mail::Mailer->new puede utilizarse para usar sendmail directo (como en
el ejemplo) o usar SMTP contra un servidor de correo específico (así no
necesitas tener un MTA en la máquina).

El uso de eval {} deriva de mi costumbre de programar defensivamente,
considerando que cualquier error en Mail::Mailer resulta en un die, de
manera que eval {} lo atrapará sin morir y lo reportará en $@.

Nótese que $m es en efecto un filehandle, así que se le puede asociar un
formato, hacerle todos los prints que uno quiera, write, etc.
-- 
Ernesto Hernández-Novich - Running Linux 2.4.19 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
¿Sabe leer? Elimine mi firma de sus respuestas; sé quién soy ;)

------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list