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?
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 de hmk_usuario
1