integraciones · approach

Un formulario HTML para tu sitio estático sin servidor.

Dirige action a un endpoint receptor de POST. Cada envío llega a tu bandeja y avisa por Discord, Slack, email o webhook. El sitio sigue siendo archivos estáticos.

mailto falla por dos motivos: publica tu dirección rastreable y depende de un correo configurado. Puede abrir nada o una aplicación sin sesión y perder el mensaje.

El endpoint evita ambos. No expone tu dirección y usa POST estándar. mailcontact valida, guarda y avisa igual para HTML manual, generadores o páginas antiguas.

configuración recomendada

Utiliza el script de MailContact con tu diseño.

Añade este HTML a tu sitio o utiliza el generador de formularios. Sustituye el enlace por el de tu formulario. El script alojado inserta la comprobación oculta, gestiona el envío y la verificación automática y conserva el borrador si hay errores. Tú controlas el HTML y el CSS. Los formularios Free muestran un enlace visible «Processed by mailcontact.app»; Pro y Plus no. Los avisos siguen el idioma del navegador; configura data-mailcontact-language="fr" en el formulario para forzar el francés.

contact.html
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST" data-mailcontact-form lang="es" data-mailcontact-language="es">
  <input type="hidden" name="_language" value="es" />
  <fieldset>
    <legend>Contáctanos</legend>
    <label>
      Nombre (opcional)
      <input name="name" type="text" autocomplete="name" maxlength="200" />
    </label>
    <label>
      Correo electrónico
      <input name="email" type="email" autocomplete="email" maxlength="320" required />
    </label>
    <label>
      Mensaje
      <textarea name="message" rows="5" maxlength="5000" required></textarea>
    </label>
    <noscript>
    <div aria-hidden="true" style="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;">
      <label>Sitio web
        <input name="company_website" type="text" tabindex="-1" autocomplete="off" />
      </label>
    </div>
    </noscript>
    <button type="submit">Enviar mensaje</button>
  </fieldset>
  <p data-contact-status role="status" aria-live="polite" aria-atomic="true"></p>
</form>
<script defer src="https://mailcontact.app/forms/v1.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Para un componente con su propio controlador de envío, carga el mismo script y utiliza MailContact.prepare(form) y MailContact.send() en lugar del marcador automático. Consulta la referencia de interfaces personalizadas para carga, avisos y atribución de Free.

el código

Alternativa: una integración directa para Static sites.

Este ejemplo envía directamente a la API. Mantén el campo obligatorio company_website presente y vacío. Los envíos nativos abren JSON si tienen éxito o una página de verificación si hace falta. Los scripts sin verificación envían los mensajes sospechosos a Spam; el spam claro también se retiene sin alertas ni consumo de cuota. Una respuesta de éxito confirma recepción, incluida revisión, o el descarte silencioso de una trampa rellenada. Consulta protección contra spam para conocer todo el funcionamiento.

index.html
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST">
  <label for="name">Name</label>
  <input id="name" type="text" name="name" />

  <label for="email">Email</label>
  <input id="email" type="email" name="email" required />

  <label for="message">Message</label>
  <textarea id="message" name="message" rows="5" required></textarea>

  <button type="submit">Send</button>
  <input name="company_website" type="text" tabindex="-1" autocomplete="off"
    style="position:absolute;left:-10000px" aria-hidden="true" />
</form>

cómo funciona

Tres pasos de principio a fin.

01

Crear una bandeja

Una bandeja por sitio con endpoint y email inmediatos. Sin DNS ni servidor de correo.

02

Pega el formulario

Pega el código en cualquier HTML y sustituye your-form-id por tu endpoint. Bastan los campos name, email y message.

03

Recibe avisos

Añade Discord, Slack, email o webhook. Los mensajes aparecen y avisan al llegar.

por qué mailcontact

Pensado para funcionar con Static sites.

El servidor que no tienes que desplegar

Tu alojamiento sigue sirviendo archivos. mailcontact recibe POST, valida, guarda y notifica: la parte dinámica que faltaba.

Tu dirección queda fuera del HTML

Sin mailto, spans ofuscados ni datos rastreables. Los visitantes ven un formulario y tu dirección sigue privada.

Sin compilación ni JavaScript

HTML sencillo para páginas manuales y generadores. Sin compilador, framework ni scripts obligatorios.

preguntas frecuentes

Static sites + mailcontact: tus preguntas resueltas

¿Puedo adaptar el formulario al diseño de mi sitio?

Por completo. Tú controlas el HTML y CSS. El endpoint solo comprueba los nombres: email y message son obligatorios; name y subject, opcionales; company_website debe estar presente y vacío. El resto del código lo decides tú.

¿Cómo muestro un agradecimiento tras el envío?

Un envío nativo muestra actualmente la respuesta JSON del endpoint. Para una mejor experiencia, utiliza el script alojado de MailContact: envía los campos, gestiona la verificación y muestra los avisos en la página. Actualmente no se puede configurar una redirección para los envíos nativos.

¿Con qué alojamientos estáticos funciona?

Cualquiera: GitHub Pages, Netlify, Vercel, Cloudflare Pages, un bucket de S3 o nginx sirviendo una carpeta. El formulario envía a los servidores de mailcontact y se aceptan solicitudes de cualquier origen: no hay nada que configurar en el alojamiento.

¿Hay límites de envío?

Free incluye un proyecto, un formulario, 50 envíos al mes y canales de notificación. Pro añade email entrante, diez proyectos y 1000 mensajes al mes en toda la cuenta. Los formularios tienen un límite de 20 peticiones por minuto e IP.

relacionado

También funciona con

Una bandeja por cada proyecto de Static sites que publiques.

Formularios y una dirección de email real, juntos, con avisos en tus herramientas. Empieza con una cuenta gratuita.

Crear formulario gratis

Sin tarjeta de crédito. Free incluye un proyecto y 50 mensajes de formulario al mes.