Formulario de contacto en Cloudflare Pages

Formgong team ·

Un formulario de contacto en Cloudflare Pages puede enviarse desde el navegador. Pegue el HTML de abajo y ponga action en Formgong. No hace falta una Pages Function ni una API de correo. Telegram es instantáneo. En el plan gratis, el correo es un resumen a las 08:00 de la mañana siguiente.

Cloudflare Pages
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="es">
  <label>Nombre <input type="text" name="name" autocomplete="name" placeholder="Tu nombre" required></label>
  <label>Correo electrónico <input type="email" name="email" autocomplete="email" placeholder="tu@ejemplo.com" required></label>
  <label>Mensaje <textarea name="message" placeholder="¿En qué podemos ayudarte?" required></textarea></label>
  <div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
  <label>Deja este campo vacío<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Enviar</button>
</form>

Cómo funcionan los formularios en Cloudflare Pages

Cloudflare Pages sirve archivos estáticos. No busca un formulario en su HTML. Un POST a la URL de la página no tiene destino, así que el mensaje se pierde.

Un archivo functions/api/contact.js puede leer ese POST. Enviar el correo sigue pidiendo una API de email, un secreto y DNS en un dominio suyo. El formulario de abajo se salta ese trabajo.

Configuración en Cloudflare Pages

  1. Cree un formulario en Formgong y copie la clave. Empieza por fk_.
  2. Pegue el HTML en la carpeta que publica Pages, como public/index.html o contact.html. Ponga action en https://formgong.com/submit.
  3. Sustituya fk_your_access_key. Deje botcheck vacío. Añada Turnstile solo después de activarlo en Protection.
  4. Despliegue desde Git o ejecute wrangler pages deploy. Envíe una prueba desde la dirección pages.dev en vivo.
  5. En el plan gratis, el correo es un resumen a las 08:00 de la mañana siguiente. Telegram es instantáneo. Pro y Business envían un correo por cada envío.

¿Formgong o una Pages Function?

Escriba una Pages Function cuando el envío deba cambiar su base de datos o llamar a una API privada.

Use Formgong para un formulario de contacto. Se ahorra el secreto del correo, los DNS y una función que mantener. El sitio sigue siendo una carpeta de archivos estáticos.

Preguntas y respuestas

¿Cloudflare Pages incluye un formulario de contacto?

No. El tutorial oficial crea una Pages Function que devuelve los campos en JSON. No envía correo ni guarda una bandeja. Sigue haciendo falta un backend de formularios, o su función más una API de correo.

¿Necesito una Pages Function o un Worker?

No para este formulario. El navegador envía a Formgong. Use una función cuando el envío deba ejecutar su código. La vía gratis antigua de MailChannels para Workers se detuvo el 30 de junio de 2024.

¿El visitante puede quedarse en la página?

Sí. Llame a fetch en https://formgong.com/submit con Accept: application/json. Cuéntelo como enviado solo si response.ok y result.success son ambos verdaderos. El formulario HTML funciona sin JavaScript.

¿Cómo añado Turnstile en la misma cuenta?

Cree un widget de Turnstile en el panel de Cloudflare y pegue la clave del sitio en el formulario. Ponga el secreto en Formgong, en Protection, no en el proyecto de Pages. El widget envía cf-turnstile-response.

¿Qué incluye el plan gratis?

Free guarda 300 envíos al mes. Telegram es instantáneo. El correo es un resumen a las 08:00 de la mañana siguiente, en su zona horaria. Pro y Business envían un correo por cada envío.

Empezar gratis