Ir al contenido

Programación en Perl/Módulos

De Wikilibros, la colección de libros de texto de contenido libre.

Enviar un mail

[editar]

Usando módulos es más simple programar. Alguien programó algunos módulos que hacen parte de lo que necesitamos. Sabiendo como usar esos módulos, tenemos ya hecho una gran parte del guión. Si hacemos algún guión fácil de usar, podemos también nosotros, publicarlo gratis en CPAN. En CPAN, hay miles de módulos clasificados por lo que hacen. Solo hay que consultarlos y leer los PODs o ayudas, para saber como usarlos. El siguiente ejemplo, nos muestra lo poco que hay que escribir para enviar un email de prueba.

Net::SMTP

[editar]

Un ejemplo basico del uso de dos módulos gratuitos de los hallados en CPAN.

use Net::SMTP;                     ## AVISO QUE VOY A USAR EL MÓDULO Net::SMTP (Redes y Correo Simple)

my $DEBUG = 0;                     # Marcando esta variable como 1 se puede ver el debug
if($DEBUG) { $| = 1; open(STDERR, ">&STDOUT"); } ## (ASIGNO LA SALIDA DE ERRRORES A LA SALIDA NORMAL)

my $smtp = Net::SMTP->new( 'example.com', Debug => $DEBUG) 
           or die print "No funciona el modulo Net:SMTP\n";
$smtp->mail( 'ejemplo@ejemplo.com' ); # Quien envia el correo
$smtp->to( 'amigo@ejemplo.com' );     # A quien se le envia el correo
$smtp->data();

        use MIME::Lite;            ## AVISO QUE VOY A USAR EL MÓDULO MIME::Lite (FORMATOS DE ARCHIVO)

        my $msg = MIME::Lite->new( From => 'Sr. Ejemplo <ejemplo@ejemplo.com>',## FORMATO DE LA CABECERA EMAIL
                                   To =>   'Sr. Amigo <amigo@ejemplo.com>',
                                   Subject => 'Mensaje de ejemplo',
                                   Type => 'multipart/mixed');                 ## HABILITAR HTML Y TEXTO PLANO
        $msg->attach( Type => 'TEXT',                                          ## EL EMAIL EN FORMATO TEXTO
                      Data => "Aqui va todo el texto del mail!");
        my $str = $msg->as_string;                                             ## CONTENIDO COMO SE ENVIA

$smtp->datasend($str);                                                         ## ENVIARLO
$smtp->dataend();                                                              ## ADIOS
$smtp->quit();                                                                 ## TERMINAR

Mas información: PerlDoc Net::SMTP