1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

Ayuda formulario de contacto

Tema en 'PHP y MySQL' comenzado por eirix, 4 de Septiembre de 2017.

  1. eirix

    eirix Nuevo Miembro

    Se incorporó:
    21 de Julio de 2017
    Mensajes:
    6
    Me gusta recibidos:
    1
    Puntos de trofeos:
    3
    Género:
    Hombre
    buen dia chicos, engo un problema con un formulario, es un formulario de contacto pero al momento de enviar los datos al correo asignado no llega la informacion, podrian ayudarme ?
    <?php
    $errors = '';
    /* email */
    $myemail = 'ealvarado@3dadv.com.mx';
    if(empty($_POST['name']) ||
    empty($_POST['email']) ||
    empty($_POST['phone']) ||
    empty($_POST['message']))
    {
    $errors .= "\n Error: Todos los campos deben estar llenos.";
    }

    $name = $_POST['name'];
    $email_address = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];

    if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $email_address)) {
    $errors .= "\n Error: Introduce una direccion de correo valida";
    }

    if( empty($errors) ) {
    $to = $myemail;
    $email_subject = "Contact form submission: $name";
    $email_body = "You have received a new massage. ".
    " Here are the address:\n Name: $name \n Email: $email_address \n Phone: $phone \n Message: $message";

    $headers = "From: $myemail\n";
    $headers .= "Reply-To: $email_address";

    mail($to,$email_subject,$email_body,$headers);
    // redirect to the 'thank you' page
    header('Location: thank-you.html');
    }
    ?>
     
  2. AngelKrak

    AngelKrak Héroe de la web

    Se incorporó:
    29 de Abril de 2015
    Mensajes:
    1.459
    Me gusta recibidos:
    668
    Puntos de trofeos:
    113
    Género:
    Hombre
    Ocupación:
    Freelancer
    Localización:
    Guadalajara
    Página web:
    intenta con toda la variable junta sin concatenar y me cuentas ;)
    PHP:
    $email_body = "You have received a new massage. Here are the address:\n Name: $name \n Email: $email_address \n Phone: $phone \n Message: $message";
     
  3. eirix

    eirix Nuevo Miembro

    Se incorporó:
    21 de Julio de 2017
    Mensajes:
    6
    Me gusta recibidos:
    1
    Puntos de trofeos:
    3
    Género:
    Hombre
    sigue sin enviar la info, no se que pueda ser, sigue sin enviarse el correo. me preguntaba si tiene algo que ver el servidor en donde se hospeda el sitio ?
     
  4. Maddenamy

    Maddenamy Miembro conocido

    Se incorporó:
    9 de Enero de 2015
    Mensajes:
    960
    Me gusta recibidos:
    598
    Puntos de trofeos:
    93
    Ocupación:
    Estudiante
    Localización:
    México
    Página web:
    Intenta remover el último condicional para ver si lo manda así.

    También si puede depender el hosting que uses, ya que usas la función mail y algunos hosting pueden desactivarla o restringirla.
     
    A AngelKrak le gusta esto.
  5. roger

    roger Miembro

    Se incorporó:
    22 de Enero de 2015
    Mensajes:
    51
    Me gusta recibidos:
    12
    Puntos de trofeos:
    8
    Género:
    Hombre
    Hola buenas te recomiendo que uses la libreria phpmailer con los datos de una cuenta de gmail es muy fácil te dejo un ejemplo

    tienes que hacer un requiere a los siguientes archivos PHPMailer.php SMTP.php Exception.php

    https://github.com/PHPMailer/PHPMailer

    Código (Text):
    <?php


    //Import PHPMailer classes into the global namespace
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'vendor/autoload.php';

    $mail = new PHPMailer(true);
    try {
        //Server settings
        $mail->SMTPDebug = 2;                                 // Enable verbose debug output
        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        $mail->Username = 'user@example.com';                 // SMTP username
        $mail->Password = 'secret';                           // SMTP password
        $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $mail->Port = 587;                                    // TCP port to connect to

        //Recipients
        $mail->setFrom('from@example.com', 'Mailer');
        $mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
        $mail->addAddress('ellen@example.com');               // Name is optional
        $mail->addReplyTo('info@example.com', 'Information');
        $mail->addCC('cc@example.com');
        $mail->addBCC('bcc@example.com');

        //Attachments
        $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
        $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

        //Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = 'Here is the subject';
        $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
        $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    }

    Si tienes dudas responde y te ayudare
     
    A AngelKrak le gusta esto.

Comparte esta página