Formulario de Contacto en PHP con Envió de Correo Paso a Paso (Sin Frameworks)

Comparte

Contenido:

En este tutorial te enseñarés a crear un formulario de contacto en PHP puro que envia un correo electrónico al administrador del sitio web. Este ejemplo es ideal para sitios web simples, sin frameworks, y que requieren una manera directa de recibir mensajes.

✉️ Requisitos:

  • Un servidor con soporte para PHP (como XAMPP, WAMP o un hosting con PHP activado)
  • Tener habilitada la función mail() de PHP
<form action="contacto.php" method="POST">
  <label>Nombre:</label>
  <input type="text" name="nombre" required><br>
  
  <label>Correo:</label>
  <input type="email" name="correo" required><br>

  <label>Mensaje:</label><br>
  <textarea name="mensaje" rows="5" required></textarea><br>

  <input type="submit" name="enviar" value="Enviar">
</form>

⚖️ Paso 2: Crear el archivo PHP que procesa y envia el correo

contacto.php

<?php
if (isset($_POST['enviar'])) {
    $nombre = htmlspecialchars($_POST['nombre']);
    $correo = filter_var($_POST['correo'], FILTER_VALIDATE_EMAIL);
    $mensaje = htmlspecialchars($_POST['mensaje']);

    if ($correo) {
        $destino = "admin@tusitio.com"; // Cambiar por tu correo real
        $asunto = "Mensaje desde Formulario Web";
        $contenido = "Nombre: $nombre\nCorreo: $correo\nMensaje:\n$mensaje";
        $headers = "From: $correo";

        if (mail($destino, $asunto, $contenido, $headers)) {
            echo "<p>Mensaje enviado correctamente.</p>";
        } else {
            echo "<p>Error al enviar el mensaje.</p>";
        }
    } else {
        echo "<p>Correo electrónico no válido.</p>";
    }
}
?>

🔎 Notas adicionales:

  • Asegúrate de que tu servidor tiene habilitado el uso de la función mail().
  • En algunos servidores locales (como XAMPP), necesitarás configurar el archivo php.ini para enviar correos reales.
  • También podrías usar librerías como PHPMailer para funcionalidades avanzadas como SMTP.




codigo fuente gratis