Foros del Web » Programando para Internet » PHP »

Problema con formulario de contacto

Estas en el tema de Problema con formulario de contacto en el foro de PHP en Foros del Web. Saludos amigos, tengo en una web un formulario de contacto que no funciona correctamente, antes sí funcionaba, el script es el siguiente: Código PHP: <?php ...
  #1 (permalink)  
Antiguo 03/02/2008, 12:23
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Problema con formulario de contacto

Saludos amigos, tengo en una web un formulario de contacto que no funciona correctamente, antes sí funcionaba, el script es el siguiente:
Código PHP:
<?php
    
if(isset($_POST['enviar'])) {
        
// creamos la función que valida que la dirección de correo ingresada sea correcta
        
function email_valido($correo) {
            if(
eregi"^[_\.0-9a-z-]+@[0-9a-z\._\-]+\.[a-z]{2,4}$"$correo)) return true;
            else return 
false;
        }
        if(
$_POST['nombre'] == '') {
            echo 
"No ha ingresado su nombre.<br /><a href='javascript:history.back()'>Regresar</a>";
        }elseif(!
email_valido($_POST['email'])) {
            echo 
"No ha ingresado su Email, o la dirección ingresada no es correcta.<br /><a href='javascript:history.back()'>Regresar</a>";
        }elseif(
$_POST['asunto'] == '') {
            echo 
"No ha ingresado el asunto.<br /><a href='javascript:history.back()'>Regresar</a>";
        }elseif(
$_POST['mensaje'] == '') {
            echo 
"No ha escrito el mensaje.<br /><a href='javascript:history.back()'>Regresar</a>";
        }else {
            
$nombre $_POST['nombre'];
            
$email $_POST['email'];
            
$asunto $_POST['asunto'];
            
$para "[email protected]";
            
$mensaje '<html>
                    <head><title>Contacto</title></head>
                    <body>
                        '
.nl2br($_POST[mensaje]).'
                    </body>
                </html>'
;
            
$sheader "From:".$nombre." <".$email.">\nReply-To:".$email."\n";
            
$sheader $sheader."Mime-Version: 1.0\n";
            
$sheader $sheader."Content-Type: text/html";
            
mail($para,$asunto,$mensaje,$sheader);
            echo 
"El mensaje se ha enviado correctamente. Le estaremos respondiendo a la brevedad posible. Gracias.";
        }
    }else {
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <label>Nombre:</label>
    <input type="text" name="nombre" />
    <label>Email:</label>
    <input type="text" name="email" />
    <label>Asunto:</label>
    <input type="text" name="asunto" />
    <label>Mensaje:</label>
    <textarea name="mensaje" rows="5" cols="50"></textarea>
    <input type="submit" name="enviar" value="Enviar mensaje" />
    <input type="reset" value="Restablecer" />
</form>
<?php
    
}
?>
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".

No entiendo a qué se refiere con la función "nobody", porque como función de PHP no existe, por lo menos no figura en el manual, le he estado dando mil vueltas al asunto pero no encuentro solución, espero que alguno me pueda dar un mayor alcance al respecto. gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 03/02/2008, 13:35
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Problema con formulario de contacto

Proba usar PHPmailer para mandar el email.

Link: PHP mailer con Gmail
  #3 (permalink)  
Antiguo 03/02/2008, 13:58
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Problema con formulario de contacto

Ok, le echaré una mirada, gracias hgp147
  #4 (permalink)  
Antiguo 04/02/2008, 12:03
Avatar de xhiena  
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 34
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Problema con formulario de contacto

ponle el header en el correo de return-path

Return-path: [email protected]\r\n
  #5 (permalink)  
Antiguo 04/02/2008, 12:39
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Problema con formulario de contacto

El problema es que estás enviando un correo como anónimo y el server por cuestiones de seguridad tiene desactivado el usuario "anónimo" o "nobody" por eso debes especificar el return-path que es la ruta del mensaje desde origen a destino.
Por eso prueba lo que ha dicho xhiena.
Saludos!
__________________
I'm gonna start a revolution from my bed...
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 19:19.