Normalmente venía usando este tipo de subrutina para envío de emails HTML que incluían imágenes y formularios HTML con post a programas Perl. Sin embargo, he cambiado de servidor y el mismo programa no funciona si no le saco los renglones que permiten el formato HTML.
Por ejemplo, la siguiente subrutina funciona muy bien en un servidor y no en otro
Using perl Syntax Highlighting
sub mail {
open (MAIL, "|$mailprog -t") or &dienice("Can't access $mailprog!\n");
print MAIL "MIME-Version: 1.0\r\n";
print MAIL "Content-type: text/html; charset=iso-8859-1\r\n";
print MAIL "From: $recipient\n";
print MAIL "To: $FORM{'email'}\n";
print MAIL "Cc: $recipient\n";
print MAIL "Subject: Acuse de su Inscripcion\n\n";
print MAIL "<html><head><title>INSCRIPCION";
print MAIL "</title></head><body><br>";
print MAIL "Acuse de SU INSCRIPCION<br>";
print MAIL "<center><a href=http://www.server.com/index.shtml><img border=0 src=http://www.server.com/imagenes/logo.jpg></a></center><br>";
print MAIL "<center><img border=0 src=http://www.server.com/imagenes/logo1.jpg></center><br>";
print MAIL "<font face=Verdana color=#FF0000 size=4><p align=center><b>ACTIVE SU CUENTA</font>";
print MAIL "<center><H1><a href=http://www.server.com/cgi-bin/validar.pl?$user&$clave>Haga click aqui</a></H1></center><br>";
print MAIL "<H1>SI NO PUEDE VALIDAR HACIENDO CLICK ARRIBA COPIE ÉSTE LINK EN SU NAVEGADOR</H1><br><hr>";
print MAIL "http://www.server.com/cgi-bin/validar.pl?user=$user&clave=$clave";
print MAIL"<br><hr>nombre=$FORM{'nombre'}<br>";
print MAIL"<br><hr>Apellido=$FORM{'apellido'}<br>";
print MAIL"EMAIL=$FORM{'email'}<br>";
print MAIL"CLAVE=$FORM{'clave'}<br>";
print MAIL"pais donde vivo=$FORM{'pais'}<br>";
print MAIL "</BODY></html>";
close(MAIL);
}
open (MAIL, "|$mailprog -t") or &dienice("Can't access $mailprog!\n");
print MAIL "MIME-Version: 1.0\r\n";
print MAIL "Content-type: text/html; charset=iso-8859-1\r\n";
print MAIL "From: $recipient\n";
print MAIL "To: $FORM{'email'}\n";
print MAIL "Cc: $recipient\n";
print MAIL "Subject: Acuse de su Inscripcion\n\n";
print MAIL "<html><head><title>INSCRIPCION";
print MAIL "</title></head><body><br>";
print MAIL "Acuse de SU INSCRIPCION<br>";
print MAIL "<center><a href=http://www.server.com/index.shtml><img border=0 src=http://www.server.com/imagenes/logo.jpg></a></center><br>";
print MAIL "<center><img border=0 src=http://www.server.com/imagenes/logo1.jpg></center><br>";
print MAIL "<font face=Verdana color=#FF0000 size=4><p align=center><b>ACTIVE SU CUENTA</font>";
print MAIL "<center><H1><a href=http://www.server.com/cgi-bin/validar.pl?$user&$clave>Haga click aqui</a></H1></center><br>";
print MAIL "<H1>SI NO PUEDE VALIDAR HACIENDO CLICK ARRIBA COPIE ÉSTE LINK EN SU NAVEGADOR</H1><br><hr>";
print MAIL "http://www.server.com/cgi-bin/validar.pl?user=$user&clave=$clave";
print MAIL"<br><hr>nombre=$FORM{'nombre'}<br>";
print MAIL"<br><hr>Apellido=$FORM{'apellido'}<br>";
print MAIL"EMAIL=$FORM{'email'}<br>";
print MAIL"CLAVE=$FORM{'clave'}<br>";
print MAIL"pais donde vivo=$FORM{'pais'}<br>";
print MAIL "</BODY></html>";
close(MAIL);
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Como ya dije, esto en otro servidor no anda, excepto que le saqué las dos líneas siguientes
Using perl Syntax Highlighting
print MAIL "MIME-Version: 1.0\r\n";
print MAIL "Content-type: text/html; charset=iso-8859-1\r\n";
print MAIL "Content-type: text/html; charset=iso-8859-1\r\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
pero claro, en este caso el email ya pierde su formato HTML y pasa a ser texto plano.
Gracias.