Mac User Group Argentina  
Inicio Usuarios Leé que no muerden!!! El que busca, encuentra Registrarse Facebook
Retroceder   Mac User Group Argentina > Mac > Programación
Respuesta
Herramientas Desplegado
No Leído 16/09/13, 08:34:29   #1
Juanfly
Veterano
 
Fecha de Ingreso: abr 2010
Ubicación: Cap federal
Mensajes: 363
Agradeció: 5 veces
Agradecimientos: 87 veces en 47 posts
Juanfly is on a distinguished road
Predeterminado Ayuda con Php web form.

gente estoy terminando una pequeña web y tengo un problema con la contact form, por algun motivo no logro hacerla anda, en realidad funciona, pero el mail nunca llea a la casilla.

Tengo una pagina contactus.php donde esta la contact form, este es el codigo que importa :

Código HTML:
<?php  
  
        // check for a successful form post  
        if (isset($_GET['s'])) echo "<div class=\"alert alert-success\">".$_GET['s']."</div>";  
  
        // check for a form error  
        elseif (isset($_GET['e'])) echo "<div class=\"alert alert-error\">".$_GET['e']."</div>";  
  
?>

        <form method="POST" action="contact-form-submission.php" class="form-horizontal">  
            <div class="control-group">  
                <label class="control-label" for="input1">Name</label>  
                <div class="controls">  
                    <input type="text" name="contact_name" id="input1" placeholder="Your name">  
                </div>  
            </div>  
            <div class="control-group">  
                <label class="control-label" for="input2">Email Address</label>  
                <div class="controls">  
                    <input type="text" name="contact_email" id="input2" placeholder="Your email address">  
                </div>  
            </div>  
            <div class="control-group">  
                <label class="control-label" for="input3">Message</label>  
                <div class="controls">  
                    <textarea name="contact_message" id="input3" rows="8" class="span4" placeholder="Your message or questions."></textarea>  
                </div>  
            </div>  
            <div class="form-actions">  
                <input type="hidden" name="save" value="contact">  
                <button type="submit" class="btn btn-primary">Send</button>  
            </div>  
        </form>

y despues tengo un pequeño php que gestiona la recoleccion de datos y envio del email si todos los campos estan bien completados

contact-form-submission.php

Código HTML:
<?php  
  
// check for form submission - if it doesn't exist then send back to contact form  
if (!isset($_POST["save"]) || $_POST["save"] != "contact") {  
    header("Location: contactus.php"); exit;  
}  

$myemail = 'test@worldfruitco.com';
      
// get the posted data  
$name = $_POST["contact_name"];  
$email_address = $_POST["contact_email"];  
$message = $_POST["contact_message"]; 

      
// check that a name was entered  
if (empty ($name))  
    $error = "You must enter your name.";  
// check that an email address was entered  
elseif (empty ($email_address))   
    $error = "You must enter your email address.";  
// check for a valid email address  
elseif (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email_address))  
    $error = "You must enter a valid email address.";  
// check that a message was entered  
elseif (empty ($message))  
    $error = "You must enter a message.";  
          
// check if an error was found - if there was, send the user back to the form  
if (isset($error)) {  
    header("Location: contactus.php?e=".urlencode($error)); exit;  
}  
          
// write the email content  
$email_content = "Name: $name\n";  
$email_content .= "Email Address: $email_address\n";  
$email_content .= "Message:\n\n$message";
$headers = "From: $myemail\n";

      
// send the email  
mail ($myemail, "New Contact Message", $email_content, $headers);  
      
// send the user back to the form  
header("Location: contactus.php?s=".urlencode("Thank you for your message.")); exit;  
  
?> 
Como les dije, no tengo idea porque el e-mail nunca llega, porque la form funciona bien, me da mensajes de success y todo lo que deberia hacer. Estoy usando bootstrap, nose si tendra algo que ver....

si alguien se da cuenta de mi error, lo agradeceria.

saludos!
__________________
iMac 27" Core 2 Duo 3.06Ghz - 1TB HD - 8GB RAM - Ati 4850 HD 512MB __________________________________________________ _

iPhone 5 Black 16GB - iPod Touch 5thGen 32GB - iPad Air 16GB.
Juanfly no está en línea   Responder Con Cita
No Leído 16/09/13, 09:55:44   #2
cone
Veterano
 
Avatar de cone
 
Fecha de Ingreso: nov 2008
Ubicación: Buenos Aires
Mensajes: 4.552
Agradeció: 2.347 veces
Agradecimientos: 2.178 veces en 1.331 posts
cone
Predeterminado Ayuda con Php web form.

Con que proveedor de mail intentás enviar? no será que te falta autenticar antes de enviar?

Googleate PHP Mail authentication o similar
__________________
Mac Mini (Late 2012) i7 2.3 GHz / 16 GB / 256 GB SSD / 1 TB HD
iMac 20" (Early 2009) C2D 2.66 GHz / 8 GB / 1 TB HD
MacBook Air 13" (Mid 2012) i5 1.8 GHz / 4 GB / 128 SSD HD
iPhone 6/5 16 - iPhone 4 32 - New iPad 64 - iPad 2 64 - ATV 3G - ATV 2G - Time Capsule 4G

Última edición por cone fecha: 16/09/13 a las 09:58:52.
cone no está en línea   Responder Con Cita
No Leído 16/09/13, 19:17:16   #3
seujorge
Miembro
 
Avatar de seujorge
 
Fecha de Ingreso: feb 2008
Mensajes: 74
Agradeció: 74 veces
Agradecimientos: 24 veces en 13 posts
seujorge
Predeterminado

Fijate si la cuenta que pones en $myemail = 'test@worldfruitco.com' , no tiene que tener el mismo dominio del sitio web.

Por ejemplo: el sitio está en www.dominio.com y la cuenta que pones en $myemail tiene que ser info@dominio.com
seujorge no está en línea   Responder Con Cita
No Leído 17/09/13, 01:15:54   #4
Juanfly
Veterano
 
Fecha de Ingreso: abr 2010
Ubicación: Cap federal
Mensajes: 363
Agradeció: 5 veces
Agradecimientos: 87 veces en 47 posts
Juanfly is on a distinguished road
Predeterminado

Es el mismo dominio, de hecho ese es el dominio! Hoy no pide probar lo que dice cone, asique mañna voy a ver si es tema de autenticacion.
__________________
iMac 27" Core 2 Duo 3.06Ghz - 1TB HD - 8GB RAM - Ati 4850 HD 512MB __________________________________________________ _

iPhone 5 Black 16GB - iPod Touch 5thGen 32GB - iPad Air 16GB.
Juanfly no está en línea   Responder Con Cita
No Leído 17/09/13, 03:35:21   #5
grago
Veterano
 
Avatar de grago
 
Fecha de Ingreso: ago 2008
Mensajes: 974
Agradeció: 148 veces
Agradecimientos: 458 veces en 272 posts
grago
Predeterminado

Claro, lo más probable es que tu servidor no tenga un MTA instalado o ejecutándose. Por otra parte, tal como dice el manual de php, que la función mail() retorne TRUE no significa que el mail se envíe, sino que puede ser aceptado para envío, pero nunca enviado.

Podés utilizar una casilla de email de un proveedor para utilizar con autenticación SMTP (si no es para envío masivo podés utilizar una de Hotmail, GMail, etc.), pero te conviene utilizar una librería que haga esto, si no utilizás un framework podés utilizar el package Mail de PEAR.

Luego la autenticación es muy sencilla:

Código:
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password, 'port' => $port));

$mail = $smtp->send($to, $headers, $body);
También podés utilizar otras librerías como Swift Mailer o PHPMailer
grago no está en línea   Responder Con Cita
El siguiente Usuario da las gracias a grago por este mensaje:
No Leído 17/09/13, 11:00:08   #6
cone
Veterano
 
Avatar de cone
 
Fecha de Ingreso: nov 2008
Ubicación: Buenos Aires
Mensajes: 4.552
Agradeció: 2.347 veces
Agradecimientos: 2.178 veces en 1.331 posts
cone
Predeterminado

Si, yo también iba a proponer PHPMailer, hay otras alternativas mucho mas potentes que usar el Mailer por defecto.
__________________
Mac Mini (Late 2012) i7 2.3 GHz / 16 GB / 256 GB SSD / 1 TB HD
iMac 20" (Early 2009) C2D 2.66 GHz / 8 GB / 1 TB HD
MacBook Air 13" (Mid 2012) i5 1.8 GHz / 4 GB / 128 SSD HD
iPhone 6/5 16 - iPhone 4 32 - New iPad 64 - iPad 2 64 - ATV 3G - ATV 2G - Time Capsule 4G
cone no está en línea   Responder Con Cita
No Leído 04/09/16, 01:56:33   #7
snowmeatball
Miembro
 
Fecha de Ingreso: sep 2016
Ubicación: CABA
Mensajes: 63
Agradeció: 10 veces
Agradecimientos: 14 veces en 13 posts
snowmeatball is on a distinguished road
Predeterminado

Por las dudas tambien revisa que el mail no este cayendo en carpeta de SPAM, muchas veces los servidores lo tagean como spam cuando el sender es generico (vaya a saber con que MTA/MUA lo estas enviando); como siempre revisa los logs del Apache, ahi debe salir algun tipo de info util para ver cuando corre el envio
snowmeatball no está en línea   Responder Con Cita
No Leído 04/09/16, 03:45:32   #8
Animal
Veterano
 
Avatar de Animal
 
Fecha de Ingreso: abr 2008
Ubicación: Buenos Aires
Mensajes: 21.017
Agradeció: 11.453 veces
Agradecimientos: 21.610 veces en 9.189 posts
Animal is an unknown quantity at this point
Predeterminado

Zarpado revival !!!!!
__________________
LatitudMac :: Capacitación y Soporte
Animal está en línea ahora   Responder Con Cita
Los siguientes 2 usuarios dan las gracias a Animal por este mensaje:
No Leído 14/11/16, 23:16:53   #9
NicolaStuka
Nuevo Miembro
 
Fecha de Ingreso: oct 2016
Ubicación: Miramar
Mensajes: 15
Agradeció: 8 veces
Agradecimientos: 4 veces en 4 posts
NicolaStuka is on a distinguished road
Predeterminado

Por casualidad... no lo intentaras enviar al mail desde un servidor de prueba?
__________________
 MacBook PRO MID 2012 
 MacBook Air EARLY 2015 
NicolaStuka no está en línea   Responder Con Cita
No Leído 15/11/16, 00:51:50   #10
Animal
Veterano
 
Avatar de Animal
 
Fecha de Ingreso: abr 2008
Ubicación: Buenos Aires
Mensajes: 21.017
Agradeció: 11.453 veces
Agradecimientos: 21.610 veces en 9.189 posts
Animal is an unknown quantity at this point
Predeterminado

Cita:
Empezado por NicolaStuka Ver Mensaje
Por casualidad... no lo intentaras enviar al mail desde un servidor de prueba?
Click the image to open in full size.
__________________
LatitudMac :: Capacitación y Soporte
Animal está en línea ahora   Responder Con Cita
El siguiente Usuario da las gracias a Animal por este mensaje:
Respuesta

Tags
ayuda, form, php, web

Herramientas
Desplegado

Normas de Publicación
No puedes escribir temas nuevos
No puedes escribir respuestas
No puedes utilizar adjuntos
No puedes editar tus mensajes

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT. Ahora son las 11:46:01.


2017