En las anteriores partes de este tutorial hemos creado un bonito formulario, con un genial acabado, y un script que nos permite enviar vía AJAX los datos al servidor para que nos lo envíe por e-mail.
Pero estamos enviando los datos a una página vacía (por ahora), post.php. Ahora nos encargaremos de que cada vez que se envíe nos llegue un bonito mensaje a nuestra bandeja de entrada:
Nota: Es necesario que el servidor donde alojes estos ficheros tenga activada la función mail de PHP. Yo he alojado los ficheros aquí (000webhost.com), y como veis funciona.
Por lo que he leído es posible que te llegue como spam (dependiendo de qué correo usas).
Nota 2: Importantísimo cambiar la primera variable ($receptor) por la dirección a la que quieres que llegue el correo.
<?php
    // Aquí el email al que queres recibir el correo
    // (en mi caso ecoal95[arroba]gmail[punto]com)
    $receptor = "tumail@tudominio.com";
    //-------------------------------------------------------------------
    // VARIABLES DEL MENSAJE
    $mensaje = preg_replace('/\n/','<br>',urldecode($_POST['mensaje']));
    $nombre = urldecode($_POST['nombre']);
    $email = urldecode($_POST['email']);
    $fecha = date('c');
    $titulo = "Nuevo mensaje de $nombre desde el formulario de contacto";
    // Comprobamos que hay un email váldo y un mensaje
    if( ! filter_var($email, FILTER_VALIDATE_EMAIL) || ! isset($_POST['mensaje']) )
        die("ERROR");
    // El mensaje
    $data = "
    <html><head>
        <title>$titulo</title>
        <meta name='viewport' content='width:device-width,initial-scale=1'>
        <style>
        body{
            font-family:Arial,Helvetica,sans-serif;
            background: #eee;
            color: #333;
        }
        .mensaje {
            width: 100%;
            max-width: 650px;
            background: #fff;
            border: 1px solid #ccc;
            margin: 2em auto;
            padding: 2em;
        } </style>
    </head>
    <body>
        <div class='mensaje'>
            <h1>Nuevo mensaje de $nombre</h1>
            <p><strong>Fecha:</strong> $fecha</p>
            <p><strong>Mensaje:</strong><br>$mensaje</p>
            <p><strong>Email:</strong> <a href='mailto:$email'>$email</a></p>
        </div>
    </body></html>";
    $cabeceras = "MIME-Version: 1.0\r\n";
    $cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
    $cabeceras .= "From: $nombre<$email>\r\n";
    $cabeceras .= "To: $receptor";
    // Enviamos nuestro email y damos cuenta sy hay algún error
    if(mail($receptor, $titulo, $data, $cabeceras))
        echo "SUCCESS";
    else 
        echo "ERROR";
?>
Toda la serie: