Envío de emails con formato HTML en Perl

Necesito enviar correos electrónicos con formato HTML (con enlaces y fotos) desde un CGI hecho en Perl. Sé enviar mensajes de texto, llamando al programa Sendmail del servidor, pero no sé cómo enviarlos con formato HTML.
Lo estoy intentando así:
$mailprog = '/usr/lib/sendmail';
$destinatario="destino\@loquesea.com";
$from="origen\@loquesea.com";
$asunto="Prueba de envio";
#-- Abrimos el programa de correo.
open(MAIL,"|$mailprog -t");
print MAIL "To: $destinatario\n";
print MAIL "From: $from\n";
print MAIL "Subject: $asunto\n\n";
print MAIL "MIME-Version: 1.0\r\n";
print MAIL "Content-type: text/html; charset=iso-8859-1\r\n";
print MAIL qq|<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">|;
print MAIL "<HTML><HEAD>\n";
print MAIL "<TITLE>Mensaje de correo</TITLE>\n";
print MAIL "</HEAD><BODY>\n";
print MAIL "<H3>Prueba de envio de correo en formato HTML</H3>\n";
print MAIL "<HR>\n";
print MAIL "Cuerpo del mensaje.<BR>\n";
print MAIL "Cuerpo del mensaje.\n";
print MAIL "<P><HR>\n";
print MAIL "</BODY>\n</HTML>\n";
#-- fin del E-Mail.
print MAIL "-" x 75 . "\n\n";
close (MAIL);
Pero lo que recibo es el mismo código HTML sin interpretar.
¿Estoy poniendo mal las cabeceras?

1 respuesta

Respuesta
1
De esta linea print MAIL "Subject: $asunto\n\n";
quita el último \n.
Nada más.
Suerte
Hola.
Muchas gracias. Di con la solución al azar tras hacer muchas pruebas. Efectivamente, los 2 retornos del carro son los que hacían que no funcionase, pero te agradezco mucho tu respuesta.
Un saludo!
(Ya sé a quién tengo que preguntar cuando vuelva a tener dudas ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas