Formulario PHP no llega a destino

Denunciar
Message postés
4
Date d'inscription
lunes, 15 de julio de 2019
Estatus
Miembro
Última intervención
viernes, 26 de julio de 2019
-
fersosafotos
Message postés
4
Date d'inscription
lunes, 15 de julio de 2019
Estatus
Miembro
Última intervención
viernes, 26 de julio de 2019
-
Hola, ojalá me puedan ayudar.
Tengo un formulario de contacto que lo envía pero no me llega a mi e-mail.
Dejo código
Gracias!

En el idex.html inserté:

<FORM ACTION="enviar_email.php" METHOD="post">

<label for="first_name">Nombre</label> <INPUT type="text" size=36 name="first_name"></INPUT>
<label for="last_name">Apellido</label> <INPUT type="text" size=36 name="last_name"></INPUT>
<label for="email">E-mail</label> <INPUT type="email" size=36 name="email"></INPUT>
<label for="telephone">Teléfono</label> <INPUT type="tel" size=36 name="telephone"></INPUT>
<label for="message">Mensaje</label> <TEXTAREA rows=5 cols=30 name="message"></TEXTAREA>
<br>
<INPUT type="reset" value="Borrar"> <INPUT type="submit" value="Enviar"></a>

</FORM>


y tengo el enviar_amail.php
<?php
if(isset($_POST['email'])) {



$email_to = "fernandososafotos@gmail.com";

$email_subject = "Tu Asunto de correo";

function died($error) {

// si hay algún error, el formulario puede desplegar su mensaje de aviso

echo "Lo sentimos, hay un error en sus datos y el formulario no puede ser enviado. ";

echo "Detalle de los errores.<br /><br />";

echo $error."<br /><br />";

echo "Porfavor corrije los errores e inténtelo de nuevo.<br /><br />";
die();
}

// Se valida que los campos del formulairo estén llenos

if(!isset($_POST['first_name']) ||

!isset($_POST['last_name']) ||

!isset($_POST['email']) ||

!isset($_POST['telephone']) ||

!isset($_POST['message'])) {

died('Lo sentimos pero parece haber un problema con los datos enviados.');

}


$first_name = $_POST['first_name']; // requerido

$last_name = $_POST['last_name']; // requerido

$email_from = $_POST['email']; // requerido

$telephone = $_POST['telephone']; // no requerido

$message = $_POST['message']; // requerido

$error_message = "Error";

//Verificar que la dirección de correo sea válida

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

if(!preg_match($email_exp,$email_from)) {

$error_message .= 'La dirección de correo proporcionada no es válida.<br />';

}

//Validadacion de cadenas de texto

$string_exp = "/^[A-Za-z .'-]+$/";

if(!preg_match($string_exp,$first_name)) {

$error_message .= 'El formato del nombre no es válido<br />';

}

if(!preg_match($string_exp,$last_name)) {

$error_message .= 'el formato del apellido no es válido.<br />';

}

if(strlen($message) < 2) {

$error_message .= 'El formato del texto no es válido.<br />';

}

if(strlen($error_message) < 0) {

died($error_message);

}

//Plantilla de mensaje

$email_message = "Contenido del Mensaje.\n\n";



function clean_string($string) {

$bad = array("content-type","bcc:","to:","cc:","href");

return str_replace($bad,"",$string);

}



$email_message .= "Nombre: ".clean_string($first_name)."\n";

$email_message .= "Apellido: ".clean_string($last_name)."\n";

$email_message .= "Email: ".clean_string($email_from)."\n";

$email_message .= "Teléfono: ".clean_string($telephone)."\n";

$email_message .= "Mensaje: ".clean_string($message)."\n";


//Encabezados

$headers = 'From: '.$email_from."\r\n".

'Reply-To: '.$email_from."\r\n" .

'X-Mailer: PHP/' . phpversion();

@mail($email_to, $email_subject, $email_message, $headers);

?>

<!-- Mensaje de Éxito-->

Muchas Gracias! Proximamente Estaremos en Contacto.

<?php
}
?>

1 respuesta

Message postés
4
Date d'inscription
lunes, 15 de julio de 2019
Estatus
Miembro
Última intervención
viernes, 26 de julio de 2019

dejo la solución.
Todo estaba bien, solamente que al probarlo usaba mi propio e-mail- al poner otro, si llega a destino.