1. ¿Buscando un Banco para abrir tu primera cuenta de ahorros? Revisa nuestro comparativo de cuentas cero mantenimiento haciendo clic aquí.
    Ocultar anuncio

Problema con Formulario de Contactos

Publicado en 'Webmasters' por Jhetro, 2 Feb 2008.





  1. Jhetro

    Jhetro Miembro nuevo

    Registro:
    15 May 2007
    Mensajes:
    22
    Likes:
    0




    Saludos amigos, tengo una web con un formulario de contactos que ahora no me funciona el script es php, antes si me funcionaba, es el siguiente:

    <?php

    $nombre = $_POST['nombre'];
    $mail = $_POST['mail'];
    $telefono = $_POST['telefono'];
    $razon = $_POST['razon'];
    $pais = $_POST['pais'];
    $empresa = $_POST['empresa'];

    $header = 'From: ' . $mail . " \r\n";
    $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
    $header .= "Mime-Version: 1.0 \r\n";
    $header .= "Content-Type: text/plain";

    $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
    $mensaje .= "Su e-mail es: " . $mail . " \r\n";
    $mensaje .= "Su teléfono es: " .$telefono . " \r\n";
    $mensaje .= "Su País es: " .$pais . " \r\n";
    $mensaje .= "La razón es: " .$razon . " \r\n";
    $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
    $mensaje .= "Enviado el " . date('d/m/Y', time());

    $para = 'limafreelance@gmail.com';
    $asunto = 'Contacto desde la Web';

    mail($para, $asunto, utf8_decode($mensaje), $header);

    echo "<script> alert('El mensaje se ha enviado correctamente'); </script>" ;
    ?>

    Le pregunte a mi proveedor del host que es lo que pasaba, me dijo: hemos bloqueado la funcion "nobody", debido a su uso para enviar spam. Prueba usando una cuenta real de correo, no "nobody".

    Alguien me puede decir como hago eso o a que se refiere?, ya que soy diseñador no programador. Gracias por sus respuestas...:yeah:
     


  2. MijT

    MijT Miembro de bronce

    Registro:
    12 Oct 2006
    Mensajes:
    1,106
    Likes:
    63
    Veamos, según lo que he entendido tu proveedor te dice que la cuenta del usuario que envía debe ser una cuenta existente, pero la función "nobody" no existe como tal(por lo menos no aparece en el manual oficial) y tu script ak ejecutarse no valida la entrada de datos que recibe, así que si un usuario quiere no escribe ninguna dirección de correo "mail" de tu formulario.

    Te recomiendo validar antes la entrada de datos, por lo menos valida que exista una dirección de correo correcta(usuario@correo.com). Te dejo un script que yo uso en mis páginas, puedes adaptarlo a tus necesidades y mejorarlo de ser necesario.

    http://pastebin.com/f54fc119a

    Espero que te sirva de ayuda.

    Saludos.
     
  3. Jhetro

    Jhetro Miembro nuevo

    Registro:
    15 May 2007
    Mensajes:
    22
    Likes:
    0
    Gracias por tu respuesta MijT, lo probé, me dice correo enviado, al igual que mi script, pero no envía, no me llega al mail.

    Si algún amigo se apiada de mí se lo agradeceré gracias...:pls:
     
  4. MijT

    MijT Miembro de bronce

    Registro:
    12 Oct 2006
    Mensajes:
    1,106
    Likes:
    63
    En ese caso te recomiendo usar la Librería PHP-Mailer, como veo que usas una dirección de Gmail aquí tienes un manual de cómo aplicar la librería PHP-Mailer con Gmail, espero que te sirva.

    Saludos.
     
  5. Jhetro

    Jhetro Miembro nuevo

    Registro:
    15 May 2007
    Mensajes:
    22
    Likes:
    0
    Otra vez gracias por responder amigo, probe el PHP-Mailer pero no pude configurarlo, pero hice la prueba de test que viene, ahi si me llegaron a mi correo porque los manda de otro servidor, agradecería si me puediesen dar la mano para mandarlos de mi mismo hosting, mi correo Gmail era solo una referencia....... Ojalá alguien se apiade de mí...:pls:
     
  6. MijT

    MijT Miembro de bronce

    Registro:
    12 Oct 2006
    Mensajes:
    1,106
    Likes:
    63
  7. Jhetro

    Jhetro Miembro nuevo

    Registro:
    15 May 2007
    Mensajes:
    22
    Likes:
    0