Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2007, 17:56
Marco70
 
Fecha de Ingreso: julio-2006
Mensajes: 29
Antigüedad: 18 años, 4 meses
Puntos: 0
Mal funcionamiento con cuentas de hotmail o yahoo

Buenas tardes;

Estoy teniendo un problema con el siguiente script, cuando en el campo de Email: ponen una cuenta de hotmail o de yahoo, no me llegan el formulario a mi cuenta de correo, de todos los demás dominios si me llegan. No se a que se daba, si alguien sabe el porque, se los agradecería mucho.

Este es el script:

<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}

/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */

if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "You did not enter the direction of electronic mail";
exit();
}

/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="Confirmation.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor

/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEIRES QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="[email protected], [email protected]";

/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */
$sujeto = "Datos del Formulario";

/* aquí se construye el encabezado del correo, en futuras
versiones del script explicaré mejor esta parte */
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "NOMBRE: $nombre\n";
$mensaje .= "APELLIDO: $apellido\n";
$mensaje .= "CIUDAD: $ciudad\n";
$mensaje .= "ESTADO: $estado\n";
$mensaje .= "EMAIL: $email\n";
$mensaje .= "ADULTOS VIAJAN: $viajeros\n";
$mensaje .= "MENORES VIAJAN: $menores\n";
$mensaje .= "FECHA LLEGADA: $llegada\n";
$mensaje .= "FECHA SALIDA: $salida\n";
$mensaje .= "AEROLINE VIAJA: $aerolinea\n";
$mensaje .= "NUMERO VUELO: $vuelo\n";
$mensaje .= "HORA LLEGADA: $hora\n";
$mensaje .= "HOTEL: $hotel\n";
$mensaje .= "UTILIZA TARJETA CREDITO: $credito\n";
$mensaje .= "HA VISITADO MEXICO: $visita\n";
$mensaje .= "DONDE: $donde\n";
$mensaje .= "QUELITE TOUR: $quelite\n";
$mensaje .= "COPALA TOUR: $copala\n";
$mensaje .= "ROSARIO TOUR: $rosario\n";
$mensaje .= "CITY TOUR: $city\n";
$mensaje .= "LA NORIA TOUR: $noria\n";
$mensaje .= "COMENTARIOS: $comentarios\n";
$mensaje .= "IP: $ip\n";

/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='5;url=$respuesta'>";
}

?>