Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2007, 10:42
Contentype
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 6 meses
Puntos: 0
formulario php - correo html

Bueno, luego de buscar algún caso similar al mío y no dar con él, me presento en este foro lanzando un problema para alguien que se apiade de este pobre novato.
Resulta que encontré un script de php para enviar un correo desde un formulario y el problema es que cuando lo abro en outlook me aparece como texto plano (el código html) y en yahoo me aparece bien como html, aquí dejo el script de php para que lo revisen a ver si alguien puede decirme qué está mal...

gracias!

<?
/* ------------------------------------------------------
Formular-Gateway-Script für mail to date / web to date
(C) 2002 MultiMüller GmbH www.multimueller.de
Agregados, mejoras y correcciones hechos por Pablo Lecce
www.rhosting.com.ar
Script para el filtrado contra ataques usando formularios
tomado del sitio http://php-hispano.net/foros/PHP/15101
------------------------------------------------------
*/
// Funcion para prevenir el spam filtrando las cabeceras
function ValidarDatos($campo){
//Array con las posibles cabeceras a utilizar por un spammer
$badHeads = array("Content-Type:",
"MIME-Version:",
"Content-Transfer-Encoding:",
"Return-path:",
"Subject:",
"From:",
"Envelope-to:",
"To:",
"bcc:",
"cc:");
//Comprobamos que entre los datos no se encuentre alguna de
//las cadenas del array. Si se encuentra alguna cadena se
//dirige a una página de Forbidden
foreach($badHeads as $valor){
if(strpos(strtolower($campo), strtolower($valor)) !== false){
header("HTTP/1.0 403 Forbidden");
exit;
}
}
}
// Declaro como falsa la variable de plantillas para dejar que el programa la evalue
$hayplantilla=false;
$haygracias=false;
// Declaro las variables de acumulacion de variables
$reemplazar.="";
$cadenanueva.="";
$reemplazarencadena=array();
$cadenanuevaencadena=array();
// Evalua si se pasaron variables. Si es asi separa variables especificas y compila las otras.
if (count(stripslashes($_POST))!=0){
$cuerpodelmensaje="";
while (list($key, $val) = each ($_POST)){
switch ($key){
case "recipient":
$enviaraemail=$val;
break;
case "email":
$emaildelqueenvia=$val;
break;
case "subject":
$asunto=$val;
break;
case "redirect":
$fgwreturnurl=$val;
if($fgwreturnurl!=""){$haygracias=true;}
break;
case "plantilla":
$plantilla=$val;
if($plantilla!=""){$hayplantilla=true;}
break;

default:
$keysinguionesbajos=ereg_replace("_"," ",$key);
if($hayplantilla==true){
$reemplazar.=",{{".$key."}}";
$cadenanueva.=",".$val;
} else {
$cuerpodelmensajefinal.=$keysinguionesbajos.": ".$val."<br>";
}
}
}


if($hayplantilla==true){
$reemplazados=explode(",",$reemplazar);
$cadenanuevaencadena=explode(",",$cadenanueva);
$archivo = file($plantilla);
$lineasdecadena = count($cadenanuevaencadena);
$lineas = count($archivo);
for($i=0; $i < $lineas; $i++){
$Cadena=$archivo[$i];
for( $j = 0; $j <= $lineasdecadena; $j++ ){
if(($reemplazados[$j]!="")&&($cadenanuevaencadena[$j]!="")){$Cadena=ereg_replace($reemplazados[$j],$cadenanuevaencadena[$j],$Cadena); }
}
$cuerpodelmensajefinal.=$Cadena;
}
}

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-Type:text/html; charset=iso-8859-1\r\n";
$headers .= 'To: '.$enviaraemail.'' . "\r\n";
$headers .= 'From: '.$emaildelqueenvia.' <'.$emaildelqueenvia.'>' . "\r\n";
if(@mail ($enviaraemail, $asunto, $cuerpodelmensajefinal, $headers)){if($haygracias==true){header("Location: ".$fgwreturnurl);} else { echo "Muchas gracias por ponerte en contacto con nosotros! Tu mensaje fue enviado. Una persona de nuestra empresa se pondrá en contacto contigo a la brevedad.<p>&nbsp;</p>Continuá disfrutando nuestro sitio!";}} else { echo "No se ha podido enviar tu email. Por favor vuelve atras e intentalo nuevamente.";}}else{echo "Error: no se ha transferido ningún dato";die;
}
?>