Foros del Web » Programando para Internet » PHP »

Problema con formulario de correo, ¿es mi código o es el servidor?.

Estas en el tema de Problema con formulario de correo, ¿es mi código o es el servidor?. en el foro de PHP en Foros del Web. Hola, tengo un problema al mandar correos, tengo el siguiente código (el mismo que ya he utilizado en otras páginas y que en estas si ...
  #1 (permalink)  
Antiguo 02/06/2010, 13:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 3 meses
Puntos: 15
Problema con formulario de correo, ¿es mi código o es el servidor?.

Hola, tengo un problema al mandar correos, tengo el siguiente código (el mismo que ya he utilizado en otras páginas y que en estas si me funciona), pongo un correo de prueba y no me envía nada. El código pareciera funcionar bien y no me jala ningún error. Para esto utilicé un correo de prueba, el cual está correcto y no me funciona.

Aquí está la página donde está el formulario.

http://www.brinteva.com/index.php?op...d=20&Itemid=34

Y aquí está el código php en cuestión:

Código PHP:
<?php
    $nombre
=$_POST['nombre'];
    
$email=$_POST['email'];
    
$email2=$_POST['email2'];
    
$telefono=$_POST['telefono'];
    
$celular=$_POST['celular'];
    
$origen=$_POST['origen'];
    
$destino=$_POST['destino'];
    
$salida=$_POST['salida'];
    
$regreso=$_POST['regreso'];
    
$adultos=$_POST['adultos'];
    
$infantes=$_POST['infantes'];
    
$comentarios=$_POST['comentarios'];
    
    if (
$nombre == "")  {echo "no ingresaste tu nombre <br />";}
    if (
$email == "")  {echo "no ingresaste tu email <br />" ;}
    if (
$email != $email2)  {echo "tu email no corresponde con el email de confirmación <br />";}
    if (
$origen == "") {echo "no ingresaste la ciudad de origen, vuelve a intentar <br />";}
    if (
$destino == "") {echo "no ingresaste la ciudad de destino, vuelve a intentar <br />";}
    if (
$salida == "") {echo "no ingresaste la fecha de salida, vuelve a intentar <br />" ;}
    if (
$regreso == "") {echo "no ingresaste la fecha de regreso, vuelve a intentar <br />";}
    if ((
$adultos == "0")&&($infantes == "0")) {echo "no ingresaste ningún número de viajero, vuelve a intentar <br />";}
    
    if((
$nombre == "") || ($email == "") || ($email != $email2) || ($origen == "") || ($destino == "") || ($salida == "") || ($regreso == "") || (($adultos == "0")&&($infantes == "0"))) {echo "<a href=\"javascript: window.history. go( -1 )\" ><image src='Imagenes/botonregresar.png' border='0'>                </a>";}
    
    else{
                
$texto="Nombre: $nombre<br>";
                
$texto.="E-mail: $email<br>";
                
$texto.="Teléfono: $telefono<br>";
                
$texto.="Celular: $celular<br>";
                
$texto.="Ciudad de Origen: $origen<br>";
                
$texto.="Ciudad de Destino: $destino<br>";
                
$texto.="Fecha de Salida: $salida<br>";
                
$texto.="Fecha de Regreso: $regreso<br>";
                
$texto.="Nº de Adultos: $adultos<br>";
                
$texto.="Nº de Infantes: $infantes<br>";
                
$texto.="Comentarios: $comentarios";
                
$email="[email protected]";
                
$asunto="Solicitud de un viaje de un cliente";
                
$cabeceras "Content-type: text/html; charset=utf-8";
                
mail($email,$asunto,$texto,$cabeceras);
                
                echo 
"<h1>Tu mensaje ha sido enviado</h1>";
                echo 
"<p>Hemos recibido tu mensaje, en breve te responderemos</p>";
                echo 
"<p>$texto</p>";
                echo
" <a href=\"javascript: window.history. go( -1 )\"><image src='Imagenes/botonregresar.png' border='0'></a><br>";
                
        
    }

?>
  #2 (permalink)  
Antiguo 02/06/2010, 15:02
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 3 meses
Puntos: 15
Respuesta: Problema con formulario de correo, ¿es mi código o es el servidor?.

ahora me mandaron esto

Estimado cliente,

Por motivos de seguridad de su informacion, al ser la funcion mail simple vulnerable a ataques de maquinas de spam. Los formularios de contacto ahora deben llevar una autenticacion via SMTP si es que quiere dirigirlo a un correo publico como hotmail, yahoo etc.

Esto no quiere decir que la funcion mail no sirva o no funcione adecuadamente, lo puede verificar si pone una cuenta de su mismo dominio en su formulario, esta seria la UNICA forma de que la funcion mail simple (sin autenticacion) funcionara dentro de su sitio.

Si lo que desea es enviarlo externamente, tendra que verificar algunos scripts de autenticacion en internet; por otro lado cabe señalar que en Suempresa.com no proporcionamos asesoria para cuestiones de programacion/mantenimiento de sitios web, incluyendo dichos formularios.
  #3 (permalink)  
Antiguo 02/06/2010, 15:30
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 9 meses
Puntos: 9
De acuerdo Respuesta: Problema con formulario de correo, ¿es mi código o es el servidor?.

Esa respuesta me parece mas a que no tienen las agallas para decirte que su configuracion del servidor no le permite enviar correos a la bandeja de entrada de Hotmail, Yahoo, etc. porque los detectará como spam...

Mientras te dejo un script sencillo para usar SMTP

Código PHP:
<? 
// Script PHP para el envio de Mails usando SMTP. 

//Datos del Remitente y Destinatario 
$destinatario "[email protected]";// E-Mail Destinatario. 
$headers["From"] = "Tu Nombre <[email protected]>"// Nombre/E-Mail Remitente. (No usar puntos o comas en donde va Tu nombre) 
$headers["To"] = "Nombre Destinatario <[email protected]>"// Nombre/E-Mail Destinatario. 
$headers["Subject"] = "Asunto del Mensaje"// Asunto del Mensaje. 

// Cuerpo del Mensaje 
$cuerpo_del_mensaje "Hola, esto es una prueba"

// Datos del Servidor SMTP 
$params["host"] = "smtp.tudominio.com"// Host SMTP: host.tudominio.com 
$params["port"] = "25"// Puerto: 25 (Pregunta cual es a veces no es el mismo)
$params["auth"] = true// Autentificacion: Activada 
$params["username"] = "[email protected]"// Cuenta de Mail: [email protected] de la que aparecera el envio
$params["password"] = "12345678"// Clave de Cuenta de Mail: [email protected]

// Enviar el Mail 
$mail_object =& Mail::factory("smtp"$params);
$mail_object->send($destinatario$headers$cuerpo_del_mensaje);
?>
Espero te sirva
  #4 (permalink)  
Antiguo 02/06/2010, 18:38
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Problema con formulario de correo, ¿es mi código o es el servidor?.

utiliza phpmailer tiene autenticacion SMTP y te funciona con Gmail o GoogleApps
http://mundo-php.blogspot.com/2010/0...n-gmail-o.html

Etiquetas: correo, servidores, formulario
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 01:08.