0

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *