• Publicidad

Duda con módulo Email-Send-SMTP

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Duda con módulo Email-Send-SMTP

Notapor BigBear » 2012-02-28 14:55 @663

Tengo una pregunta sobre el módulo Email-Send-SMTP. Mi pregunta es cómo poder mandar código HTML en el body, eso es algo que se soluciona usando content type pero en este módulo no sé cómo se hace.

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Duda con módulo Email-Send-SMTP

Notapor explorer » 2012-02-28 15:35 @691

Ese módulo pertenece a la distribución Email::Send, que piden, por favor, que nadie use, y que es mejor usar Email::Sender, mientras que la creación del correo la puedes hacer con Email::MIME::CreateHTML. En la sinopsis de este módulo tienes un ejemplo de creación. Verás que usa Email::Send, pero lo dicho: es más seguro usar Email::Sender.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con módulo Email-Send-SMTP

Notapor BigBear » 2012-02-28 15:58 @707

¡Qué mal!, pero este módulo me venía tan bien con el tema de los adjuntos. Una pregunta: ¿qué significa la opción charset del módulo http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.24/lib/Email/Send/SMTP/Gmail.pm?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda con módulo Email-Send-SMTP

Notapor explorer » 2012-02-28 16:34 @732

charset se refiere a la codificación de caracteres que usarás en el mensaje. Ese valor se pondrá en la cabecera del mensaje, y ayudará al cliente de correo a presentar el mensaje en pantalla (o impresora).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con módulo Email-Send-SMTP

Notapor BigBear » 2012-02-28 16:41 @737

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Email::Send::SMTP::Gmail;
  2. use Email::MIME::CreateHTML;
  3.  
  4. my $cantidad = "1";
  5.  
  6. my $user = 'user';
  7. my $pass = 'pass';
  8.  
  9. my $to = 'target';
  10.  
  11. my $email = Email::MIME->create_html(
  12. header => [
  13. From => $user,
  14. To => $to,
  15. Subject => 'Here is the information you requested',
  16. ],
  17. body => "<h1>hola</h1>dsadsadsa",
  18.         );
  19.  
  20.  
  21.  
  22. if (my $mail = Email::Send::SMTP::Gmail->new(
  23. -smtp  => "gmail.com",
  24. -login => $user,
  25. -pass  => $pass
  26. )) {
  27.  
  28.  
  29. $mail->send($email);
  30.  
  31. print "ok";
  32. $mail->bye;
  33. } else {
  34. print "error in thel login\n";
  35. }
  36.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Y me devuelve
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Reference found where even-sized list expected at C:/Perl/lib/Email/Send/SMTP/Gmail.pm line 85.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿ Cómo puedo arreglar este error ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda con módulo Email-Send-SMTP

Notapor explorer » 2012-02-28 17:56 @789

La línea 29 está mal. Necesitas pasar mejor los argumentos.

El error dice que has pasado una referencia a un objeto, en lugar de una lista par de elementos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda con módulo Email-Send-SMTP

Notapor BigBear » 2012-02-28 18:09 @798

Sí, es porque le falta esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. "-to      => $to,
  2. -subject => "test",
  3. -charset=>'utf-8',
  4. -body    => "test",
  5. -attachments=> "test.jpg"
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


pero entonces, ¿cómo hago para usar correctamente el $email?

¿ Me podrías dar un ejemplo basándote en mi código ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda con módulo Email-Send-SMTP

Notapor explorer » 2012-02-28 19:25 @850

Pero es que yo veo un problema...

Email::MIME::CreateHTML crea un correo electrónico completo (cabeceras y cuerpo), mientras que Email::Send::SMTP::Gmail hace lo mismo, antes de enviarlo hacia Gmail.

Entonces... te sobra potencia por algún sitio...

Si el requerimiento es que salga por Gmail, y no te ha funcionado ningún otro módulo, deberíamos acomodarnos a su funcionamiento, que sería, en teoría, pasando el código HTML en un fichero aparte, y agregándolo como adjunto. El problema es que no aparecería en el cuerpo del mensaje, sino como un adjunto real, preparado para que el usuario se lo descargue.

No sé... ¿y probando con poner header => [] en el CreateHTML?

Yo probaría a generar el correo con Email::MIME::CreateHTML o directamente con Email::MIME, y luego enviaría el correo con Email::Sender::Transport::SMTP.

Lo que me parece extraño es la situación de la rama Email dentro de CPAN... faltan módulos y documentación, comparado con lo que se podía hacer hace 5 años. Y la página del Perl Email Project, está parada.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 19 invitados

cron