<?php

$email_to = "pau@paugarciamila.com";
$email_subject = "Contacto a través de de la web cursoparaemprendedores.com";

// validation expected data exists
if (!isset($_POST['nombre']) || !isset($_POST['email']) || !isset($_POST['mensaje'])) {
    $respuesta = array(
        'ok' => false,
        'msg' => 'Hay algún error con los datos del formulario.'
    );
    echo json_encode($respuesta);
    exit();
}

$nombre = $_POST['nombre'];
$email_de = $_POST['email'];
$mensaje = $_POST['mensaje'];

$error_message = "";

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if (!preg_match($email_exp, $email_de)) {
    $error_message .= 'La dirección de correo electrónico no es válida.<br />';
}

$string_exp = "/^[A-Za-z .'-]+$/";
if (!preg_match($string_exp, $nombre)) {
    $error_message .= 'El nombre indicado no parece que sea correcto.<br />';
}

if (strlen($error_message) > 0) {
    $respuesta = array(
        'ok' => false,
        'msg' => $error_message
    );
    echo json_encode($respuesta);
    exit();
}
$email_message = "Datos del formulario:\n\n";

function clean_string($string) {
    $bad = array("content-type", "bcc:", "to:", "cc:", "href");
    return str_replace($bad, "", $string);
}

$email_message .= "Nombre: " . clean_string($nombre) . "\n";
$email_message .= "Email: " . clean_string($email_de) . "\n";
$email_message .= "Mensaje: " . clean_string($mensaje) . "\n";

// create email headers
$headers = 'From: ' . $email_de . "\r\n" .
        'Reply-To: ' . $email_de . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);

$respuesta = array(
    'ok' => true,
    'msg' => ''
);
echo json_encode($respuesta);