• Publicidad

Enviar email con caracteres especiales con MIME::Lite

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Enviar email con caracteres especiales con MIME::Lite

Notapor javier4999 » 2009-03-25 20:43 @905

Hola.

Quiero enviar un email que incluya caracteres especiales del español como la Ñ, las letras con acentos, etc.

Se trata de un email en texto, no quiero el formato HTML.

A continuación el código perl:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $msg = MIME::Lite->new(
  From     => '[email protected]',
  To       => '[email protected]',
  Subject  => 'Mensaje de prueba nº 5',
  Data     => "Una araña en la casa del francés.\r\n"
  );
       
$msg->send;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El mensaje es enviado pero no sale la Ñ ni la É, en el lugar de esos caracteres tengo cuadraditos raros que impiden una correcta lectura del texto.

¿Qué hago para enviar los caracteres especiales correctamente?

Gracias.

Javier Bustos
javier4999
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-03-25 20:36 @900

Publicidad

Notapor explorer » 2009-03-26 03:36 @192

Bienvenido a los foros de Perl en Español, javier4999

Eso es un problema de codificación de caracteres.

Debes tener en cuenta varias temas.

Una cosa es la codificación de los caracteres que has puesto en tu PROPIO programa ¿Qué codificación has usado a la hora de escribir el programa? ¿En qué codificación está trabajando el editor de textos que has usado para crear el programa? Esto determina la codificación de los caracteres especiales que has puesto.

Ahora bien, si el texto que quieres enviar por correo lo lees de un fichero externo, ¿en qué codificación está?

Perl, por defecto, siempre trabaja con la codificación iso-8859-1 (latin1).


Y, por fin, ¿en qué codificación estás leyendo los mensajes?

Hay que aclarar esos aspectos antes de seguir, aunque un vistazo rápido a la documentación dice que hay que usar algo como
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$msg->attr("content-type.charset" => "UTF-8");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

para indicar la codificación que estamos usando en el mensaje.

¡Bienvenido a la torre de Babel!
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

Notapor javier4999 » 2009-03-27 18:11 @799

Ok, gracias amigo, funciona con $msg->attr("content-type.charset" => "UTF-8");

Saludos.
javier4999
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-03-25 20:36 @900


Volver a Módulos

¿Quién está conectado?

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