Función para enviar un correo electrónico con Perl:

PERL:
  1. #!/usr/bin/perl -w
  2. sub smtp {
  3.  
  4. use Email::MIME::Creator;
  5. my ( $To, $FromName, $FromMail, $Bcc, $Subject, $msg_html ) = @_;
  6.  
  7. my @html = $msg_html;
  8.  
  9. # mensaje multipart
  10. my @parts = (
  11. Email::MIME->create(
  12. attributes => {
  13. content_type => "text/html; charset=iso-8859-1",
  14. encoding => "quoted-printable",
  15. },
  16. body => "@html",
  17. ),
  18. );
  19.  
  20. # Declaramos al sender y adjuntamos los archivos a enviar
  21. my $email = Email::MIME->create(
  22. header => [ From => "$FromName <$FromMail>" ],
  23. parts => [ @parts ],
  24. );
  25.  
  26. # modificamos nuestro encabezado
  27. $email->header_set( "MIME-Version: 1.0\r\n" );
  28. $email->header_set("Content-type: text/html; charset=iso-8859-1\r\n");
  29. $email->header_set( 'X-PoweredBy' => 'v3.0' );
  30. $email->header_set( To => "$To" );
  31. $email->header_set( Bcc => "$Bcc" );
  32. $email->header_set( Subject => "$Subject" );
  33.  
  34. # modificaciones avanzadas, elegimos base64 o bien 7bit para aceptar multipart
  35. #$_->encoding_set( 'base64' ) for $email->parts;
  36.  
  37. # Accesamos al binario de sendmail y enviamos los mensajes
  38. open (MAIL, "|/usr/sbin/sendmail -t") || die "No hay acceso al binario sendmail\n";
  39. #open (MAIL, "|/usr/sbin/postfix") || die "No hay acceso al binario sendmail\n";
  40. print MAIL $email->as_string;
  41. }

Para usar la función:

PERL:
  1. &smtp($vTo, $vFromName, $vFromMail, $vBcc, $vSubject, $vmsg_html );

Tags: smtp | perl | envio | de | correo | funcion

Leer entradas relacionadas: