Foros del Web » Programando para Internet » PHP »

servidor no procesa formulario con direccion de yahoo o hotmail...

Estas en el tema de servidor no procesa formulario con direccion de yahoo o hotmail... en el foro de PHP en Foros del Web. Hola, es mi primer pregunta en este foro, me han ayudado muchas veces sin necesidad de abrir un tema, pero ahora no encuentro respuesta... He ...
  #1 (permalink)  
Antiguo 28/11/2008, 21:25
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
servidor no procesa formulario con direccion de yahoo o hotmail...

Hola, es mi primer pregunta en este foro, me han ayudado muchas veces sin necesidad de abrir un tema, pero ahora no encuentro respuesta...

He estado trabajando con un servicio de hosting nuevo y al parecer el servidor no procesa bien mis php, en concreto tengo ya dos scripts de formularios que trabajaban a la perfección en el hosting anterior pero ahora los correos no llegan si en el campo de correo se introduce una dirección de yahoo o hotmail... si pongo una dirección de gmail o quito la verificación y simplemete introduzco @.com los correos si llegan al destinatario...

Espero explicarme bien y que alguien pueda ayudarme, si es asunto del servidor ojalá pudieran aconsejarme que decirle exactamente al servicio técnico porque no han podido hacer nada más que enviarme un script de ellos que "si funciona", obviamente no con lo que yo ya tengo hecho en cuanto diseño y demás...

Gracias por la atención...
  #2 (permalink)  
Antiguo 28/11/2008, 22:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: servidor no procesa formulario con direccion de yahoo o hotmail...

umm lo mas probable es que tu código estea mal postealo aver que encontramos.
Y si en caso dudas sobre el funcionamiento de tu host recomendaria usar PHPMAILER haciendo envios po SMTP desde un servidor remoto ;).
  #3 (permalink)  
Antiguo 29/11/2008, 13:20
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: servidor no procesa formulario con direccion de yahoo o hotmail...

Gracias NETSERVER...

Mira uno de los códigos es

<?php
// set flash vars
$name = $_REQUEST["name"];
$message = $_REQUEST["message"];
$sender = $_REQUEST["sender"];
$receiver = $_REQUEST["receiver"];
$subject = $_REQUEST["subject"];

// user infomation
$ip = $_SERVER['REMOTE_ADDR'];
$br = $_SERVER['HTTP_USER_AGENT'];

// compose email
if(isset($name) && isset($message) && isset($sender) && isset($receiver) && isset($subject) ){
$ToEmail = $receiver;
$mailheader = "From: " .$sender."\r\n";
$mailheader .= "Reply-To: ".$sender."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$message_body = "<br/ ><b>Name: </b> ".$name."<br />";
$message_body .= "<br/ ><b>Email: </b> ".$sender."<br />";
$message_body .= "<br/ ><b>Message:</b> <br /> ".$message."<br /><br />";
$message_body .= "<b>IP Address:</b> ".$ip. "<br/>";
$message_body .= "<b>Browser Information: </b> ".$br. "<br />";

mail($ToEmail, $subject, $message_body, $mailheader) or die ("Failure");

}
?>

Este lo llama flash y repito que en el servidor donde tenia antes el hosting funcionaba sin problemas, ahora cada que introduzco un direccion de yahoo o hotmail en el campo email no llega el mensaje... Pra que funcionara lo sustitui por un codigo que me dieron en el soporte que es...

<html>
<head>
<title>Formulario de Contacto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

// CONFIGURACION CORREO
$destinatario = "[email protected]"; // escribe aqui tu correo
$destinatario_bcc = "[email protected]"; // direccion de correo para copia oculta
$asunto = "Correo desde Web Site";
$campos_obligatorios = Array();
$campo_nombre = "Nombre";
$campo_telefono = "Telefono";
$campo_empresa = "Eempresa";
$campo_ciudad = "Ciudad";
$campo_mail = "Correo";
$campo_asunto = "Asunto";
$campo_comentarios = "Comentarios";


// CONFIGURACION HTML
$enviado_bien = "Su formulario ha sido enviado correctamente";
$enviado_mal = "ERROR: No se pudo enviar";

// RECOGER DATOS
reset ($_POST);
$mensaje .= "<table border=\"1\">";
while (list ($clave, $valor) = each ($_POST)) {
$clave = htmlspecialchars($clave);
$valor = htmlspecialchars(trim($valor));
$mensaje .= "<tr><th>" . $clave . "</th><td>" . $valor . "</td></tr>";
}
$mensaje .= "<tr><th>Fecha petición:</th><td>" . date("d/m/Y H:i:s") . "</td></tr>";
$mensaje .= "</table>";

// VARIABLES INTERNAS
$Nombre = $_POST[$campo_nombre];
$Telefono = $_POST[$campo_telefono];
$Eempresa = $_POST[$campo_empresa];
$Ciudad = $_POST[$campo_ciudad];
$Mail = $_POST[$campo_mail];
$Asunto = $_POST[$campo_asunto];
$Comentarios = $_POST[$campo_comentarios];

$cabeceras = "MIME-Version: 1.0\r\n"; //para el envío en formato HTML
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
if ($correo != "") {
$cabeceras .= "From: " . $nombre . " <" . $correo . ">\r\n"; // Dirección del remitente
$cabeceras .= "Reply-To: " . $nombre . " <" . $correo . ">\r\n"; // Dirección de respuesta
}
if ($destinatario_cc != "") { $cabeceras .= "Cc: " . $destinatario_cc . "\r\n"; }
if ($destinatario_bcc != "") { $cabeceras .= "Bcc: " . $destinatario_bcc . "\r\n"; }

if (mail($destinatario, $asunto, $mensaje, $cabeceras)) {
echo $enviado_bien;
} else {
echo $enviado_mal;
}
?>
</body>
</html>

Los mensajes llegan correctos con cualquier email introducido, el problema es que no llegan en el formato ni con los datos que deberia originalmente...

Tengo otro script que de igual forma funciona bien en otros servers pero aqui no, si crees que haga falta ponerlo dime, ese no es de flash, la forma esta en html ok... gracias por cualquier ayuda
  #4 (permalink)  
Antiguo 02/12/2008, 12:48
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: servidor no procesa formulario con direccion de yahoo o hotmail...

odin09:
Prueba cambiando la parte del mensaje como estaba antes.
Es decir sustituye:
En el script que te dieron donde dice ->
$mensaje .= "<tr><th>" . $clave . "</th><td>" . $valor . "</td></tr>";
}
$mensaje .= "<tr><th>Fecha petición:</th><td>" . date("d/m/Y H:i:s") . "</td></tr>";
$mensaje .= "</table>";
Pon lo que tenias antes ->
$mensaje = "<br/ ><b>Name: </b> ".$name."<br />";
$mensaje .= "<br/ ><b>Email: </b> ".$sender."<br />";
$mensaje .= "<br/ ><b>Message:</b> <br /> ".$message."<br /><br />";
$mensaje .= "<b>IP Address:</b> ".$ip. "<br/>";
$mensaje .= "<b>Browser Information: </b> ".$br. "<br />";

A ver que pasa.
Saludos
Y espero resulte
Franco
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:09.