Página 1 de 1

Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2011-12-31 08:58 @415
por danimera
Cuando intento por SMTP me sale el siguiente error.

Sintáxis: [ Descargar ] [ Ocultar ]
  1. La aplicacion tiene error: 
  2. Undefined subroutine &MIME::Base64::decode_base64 called at /usr/lib/perl5/5.8.8/Net/SMTP.pm line 150, line 998. 


Humm... No entiendo por qué puede ser...

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2011-12-31 11:47 @533
por explorer
Quizás la versión de MIME::Base64 es antigua...

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2011-12-31 11:54 @537
por danimera
¿Será que podré manualmente montar esos módulos? ¿Y funcionen?

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2012-01-01 20:03 @877
por explorer
Habría que mirar el código que has usado, porque también podría estar el error ahí.

De todas maneras, yo no veo problemas en que instales la última versión de MIME::Lite.

¿No?

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2012-03-09 10:55 @496
por danimera
Retomo este tema, porque aún no puedo lograr ejecutar el mimelite para enviar por smtp.

Estoy usándolo desde cgi-app.
Y tengo todos mis módulos cargados.

Sintáxis: [ Descargar ] [ Ocultar ]
  1. Undefined subroutine &MIME::Base64::decode_base64 called at libs/Net/SMTP.pm line 157, line 998.  


Hasta subí manualmente el MIME::Base64, pero nada...

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2012-03-09 11:02 @501
por explorer
Esa función reside en una biblioteca compilada:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
casa:~ # locate MIME/Base64
/usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/auto/MIME/Base64
/usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/auto/MIME/Base64/Base64.bs
/usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/auto/MIME/Base64/Base64.so
/usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/MIME/Base64.pm
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Si miras el contenido de Base64.pm, verás que decode_base64() está residente en Base64.so, que es la biblioteca compilada.

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2012-03-09 11:09 @506
por danimera
Entonces, ¿no podré usarlo?

No veo esos ficheros cuando descargo el módulo.

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2012-03-09 11:44 @530
por explorer
Tienes que "instalarle" en el sistema donde quieres usarlo. Dependiendo de la forma en que lo hagas, necesitarás compilarlo (con un compilador de C, por supuesto), o no (la biblioteca ya viene compilada, como en el caso de Windows o en los paquetes de software de tu distribución Linux).

Lo de "copiar" los archivos de biblioteca compilados de un sistema a otro podría funcionar si, a) las arquitecturas de las dos máquinas son iguales, y b) las versiones de Perl también son iguales.

Yo he usado el comando locate para saber dónde están esos archivos, en mi máquina.

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2013-01-29 12:18 @554
por Omarg51
Buenas, amigos... Quería consultarles si se ha podido solucionar este incidente,
tengo la misma falla, he estado fuertemente investigando el origen pero no lo hallo.
En principio utilizo
Sintáxis: [ Descargar ] [ Ocultar ]
  1. use MIME::Lite; 
  2. MIME::Lite->send('smtp','smtpout.secureserver.net', AuthUser=>$user, AuthPass=>$pass); 
  3. $user = '.---'; 
  4. $pass = '---'; 
  5.   $msg = MIME::Lite->new( 
  6.     From   => '[email protected]', 
  7.     To    => '[email protected]', 
  8.     Subject => 'Helloooooo, nurse', 
  9.          Encoding => 'base64' 
  10.   ); 
  11.   $msg->send; # send via default 

estuve verificando y la ubicacion del Base64.pm esta en
Sintáxis: [ Descargar ] [ Ocultar ]
  1. /usr/lib/perl5/vendor_perl/5.8.8/MIME 


Agradecería su apoyo para lograr solucionarlo

saludos.

Re: Uso de MIME::Lite para enviar correo por SMTP

NotaPublicado: 2013-01-30 12:48 @575
por explorer
Bienvenido a los foros de Perl en Español, Omarg51.

El código no está nada bien... ¿te has dado cuenta de lo que has escrito?

En la segunda línea estás haciendo uso de las variables $user y $pass, que en realidad estás definiendo en las líneas siguientes...

Y el programa está intentando enviar dos correos, no uno. El primero en la línea 2 y luego el otro, en la última línea. Pero esos correos van sin cuerpo del mensaje.

¿Qué error te sale? Si es el mismo que a danimera, la respuesta es la misma: ¿tienes el módulo MIME::Base64 instalado?

Según dices al final, está en ese directorio. ¿La variable @INC contiene ese directorio?