Un sitio estático no tiene servidor que reciba un formulario, así que un formulario de contacto suele implicar un servicio externo, un script y una clave de API. En Lobsite, un formulario solo necesita su action: apúntalo a /_lobsite/forms/<name> y despliega. Los mensajes llegan a la página Envíos de tu panel y a tu correo, con el spam filtrado.
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Cómo funciona
- Apunta el formulario a Lobsite.
action="/_lobsite/forms/contact"ymethod="POST". La última parte de la ruta da nombre al formulario:contact,newsletter,quote. - Despliega. El deploy lee tu HTML y registra cada formulario que envía a
/_lobsite/forms/; no hay nada que registrar a mano. - Lee los mensajes en la página Envíos del panel, en tu correo (con Reply-To del remitente) o expórtalos con
lobsite forms export contact --csv.
La caja de arriba empieza con una página de contacto. Publícala para ver el formulario en un sitio publicado; acepta mensajes cuando el sitio se conserva en una cuenta.
Protección contra spam incluida
Cuando se sirve una página, Lobsite añade a cada formulario un campo trampa oculto y una marca de tiempo firmada. Los envíos que rellenan la trampa, o que llegan en menos de 2 segundos desde que cargó la página, se apartan como spam, y a quien envía demasiados seguidos se le rechaza. No tienes que añadir captcha ni script para nada de esto.
Validaciones, páginas de agradecimiento y JavaScript
Cada formulario puede tener una sección en lobsite.toml, que viaja con el deploy:
[forms.contact]
required = ["name", "email", "message"]
types = { email = "email" }
redirect = "/thanks"
requiredytypestambién se comprueban en el servidor; un envío que no los cumple no se guarda, y el visitante ve qué corregir.redirectmuestra tu propia página tras enviar. Sin él, el visitante ve una página de agradecimiento con un enlace para volver.- Enviar con
fetchmantiene al visitante en la página: envíanew FormData(form)conAccept: application/json, y la respuesta es{"ok": true}o los campos que no pasaron. - Los frameworks funcionan cuando el formulario está en el HTML compilado, que es lo que producen el prerenderizado y la exportación estática (Astro, Eleventy, Next.js con
output: "export", SvelteKit conprerender).
Hay ejemplos completos (newsletter, solicitud de presupuesto, el script de fetch) en la documentación de formularios.
Qué incluye cada plan
| Sin cuenta | Gratuito | De pago (pronto) | |
|---|---|---|---|
| Acepta envíos | Cuando se reclama el sitio | Sí | Sí |
| Envíos al mes por sitio | — | 25 | Sin límite |
| Avisos por correo | — | El correo de tu cuenta | Cualquier dirección verificada |
| Webhooks firmados | — | No | Sí |
| Se conservan | — | 90 días | 1 año |
Las URL de vista previa nunca aceptan envíos, y la subida de archivos en formularios aún no está disponible.
Apunta un formulario a /_lobsite/forms/contact. Filtro de spam incluido.
Las redirecciones, cabeceras y formularios están en lobsite.toml y viajan con cada deploy.
Previsualiza antes de publicar. Vuelve atrás con un clic, redirecciones incluidas.
Todos los límites están publicados y cada error te dice qué hacer a continuación.
Cada sitio recibe una dirección *.lobsite.app con HTTPS desde el primer deploy.
Los archivos se guardan por su hash. Volver a desplegar un sitio sin cambios sube 0 bytes.
Formularios de Lobsite, un servicio de formularios o tu propio backend
| Formularios de Lobsite | Un servicio de backend de formularios | Tu propio backend | |
|---|---|---|---|
| Qué añades a la página | El action |
El endpoint del servicio, a menudo con clave o script | Tu endpoint |
| Cuentas que gestionar | La del sitio | Una segunda | Un servidor o un hosting de funciones |
| Filtro de spam | Incluido | Según el servicio y el plan | Lo construyes tú |
| Se revierte con el sitio | Sí: los ajustes viven en lobsite.toml |
No | Depende |
| Volumen gratuito | 25 al mes por sitio | Según el servicio | Tus costes de hosting |
| Webhooks | Plan de pago, pronto | Normalmente | Sí |
Si hoy necesitas cientos de envíos al mes, o subida de archivos, un servicio dedicado encaja mejor hasta que llegue el plan de pago. Para un formulario de contacto en un sitio pequeño, basta con el action.
Preguntas frecuentes
¿Los formularios de Lobsite necesitan JavaScript?
No. Un formulario HTML normal funciona tal cual. JavaScript es opcional, para mostrar un mensaje sin salir de la página.
¿Por qué el mensaje de mi formulario fue a spam?
Lo más habitual es que el formulario se renderizara con JavaScript en el navegador, de modo que perdió los campos ocultos antispam que Lobsite añade al servir la página. Mantén el formulario en el HTML compilado y deja que el navegador lo envíe tal como se sirvió.
¿Puedo recibir los mensajes en otra dirección de correo?
En el plan gratuito, los avisos van al correo de tu cuenta. Cualquier dirección verificada llega con el plan de pago, disponible pronto.
¿Un sitio sin cuenta acepta mensajes de formularios?
Todavía no: el deploy funciona, con un aviso, y el formulario empieza a aceptar mensajes cuando reclamas el sitio en una cuenta gratuita.
¿Puedo tener varios formularios en un sitio?
Sí. Cada nombre es un formulario propio, con sus mensajes y ajustes: /_lobsite/forms/contact y /_lobsite/forms/newsletter se mantienen separados en la página Envíos y en las exportaciones.