Resumen y conceptos
Frontmail te permite enviar correos directamente desde tu frontend (un formulario de contacto, una solicitud de reserva, una confirmación de pedido) sin mantener tu propio backend. Conectas el proveedor de correo que ya usas, diseñas en el panel una plantilla HTML con parámetros tipados y llamas a una sola función:
import { init, send } from '@frontmail/browser';
init({ publicKey: 'pk_4f2a…' });await send('svc_01J9…', 'tpl_01J9…', { name: 'Lucía', message: '¡Hola!' });La solicitud llega a la API de Frontmail, que la comprueba (origen, protección contra bots, rate limits, validación de parámetros), reserva un crédito y pone el correo en cola. Después, un proceso de envío renderiza la plantilla y la entrega a través de tu proveedor. Los eventos de entrega (entregado, rebotado, abierto…) vuelven a través de los webhooks del proveedor a tu historial y a tus estadísticas.
Las piezas básicas
Sección titulada «Las piezas básicas»Organización
Sección titulada «Organización»Todo (claves, servicios, plantillas, créditos, miembros) pertenece a una organización. Un usuario puede ser miembro de varias organizaciones y cambiar entre ellas. Cada organización tiene un plan y su propio saldo de créditos.
Clave pública y clave privada
Sección titulada «Clave pública y clave privada»Clave pública pk_… |
Clave privada sk_… |
|
|---|---|---|
| Dónde vive | En tu código de frontend: no es un secreto | Solo en tu servidor: trátala como una contraseña |
| Cómo se envía | user_id en el cuerpo o cabecera X-Frontmail-Public-Key |
Authorization: Bearer sk_… (o accessToken en el cuerpo), nunca desde un navegador: las solicitudes con cabecera Origin se rechazan |
| Qué la protege | Orígenes permitidos, Turnstile, rate limits, protección contra bots | Que sea secreta: se salta las comprobaciones de origen y de CAPTCHA |
| Qué puede hacer | send, send-form, subidas de archivos, consultar el estado de sus propios mensajes |
Todo lo anterior más send-batch, history, templates |
Como una clave pública es visible para cualquiera que abra tu página, Frontmail nunca confía solo en ella. Lee Claves públicas y privadas antes de publicar.
Servicios
Sección titulada «Servicios»Un servicio es una conexión con un proveedor de correo: SMTP (Zoho, tu propio servidor…), Mailgun, Amazon SES, Postmark, Mailjet, Brevo, Resend, Gmail u Outlook / Microsoft 365. Las credenciales se cifran con AWS KMS. Frontmail comprueba cada servicio a diario e inmediatamente después de un error de autenticación, y una plantilla puede tener un servicio de respaldo que toma el relevo cuando falla el principal (conmutación por error o failover). Consulta el resumen de servicios.
Plantillas
Sección titulada «Plantillas»Una plantilla es un correo HTML completo (con una versión en texto plano generada) más el asunto,
los destinatarios (To, CC, BCC, Reply-To, From) y un esquema de parámetros. Los parámetros son
tipados (string, email, number, date, list…) y se validan en cada envío, y el cuerpo usa
Handlebars para condiciones, bucles y helpers de formato. Consulta
Plantillas HTML y Parámetros y tipos.
Créditos
Sección titulada «Créditos»Un correo aceptado = un crédito. Los créditos provienen de asignaciones (grants):
- subscription: la cuota mensual de tu plan (no se acumula),
- pack: paquetes de créditos prepagados válidos de 3 a 12 meses, disponibles en todos los planes, incluido Free,
- bonus: créditos añadidos por el soporte de Frontmail,
- overdraft: un margen de sobregiro del 10 % en los planes de pago, que se cobra en tu siguiente factura.
Los créditos siempre se toman de la asignación que caduca antes, y el sobregiro, en último lugar. Los envíos de prueba desde el editor de plantillas son gratuitos. Si un envío falla definitivamente, el crédito se devuelve. Consulta Orden de consumo.
Ningún correo se descarta en silencio
Sección titulada «Ningún correo se descarta en silencio»Cuando te quedas sin créditos, Frontmail no tira tu correo. En el modo predeterminado hold, acepta
la solicitud con 202 { "status": "held" }, guarda el mensaje y lo envía automáticamente en cuanto
vuelve a haber créditos: tras comprar un paquete, una recarga automática, una mejora de plan o al
empezar el siguiente periodo de facturación. Lee Cola de correos retenidos.
Ciclo de vida de un mensaje
Sección titulada «Ciclo de vida de un mensaje»accepted ─┬─► queued ─► sending ─► sent ─┬─► delivered │ ├─► bounced │ └─► complained ├─► held (sin créditos) ─► queued … o ─► discarded (retención caducada / manual) └─► (error de autenticación del proveedor) held_service_error ─► queued … tras arreglar el servicio failed (error permanente, crédito devuelto)Todos los estados se explican en Estados de los mensajes.
Próximos pasos
Sección titulada «Próximos pasos»- Inicio rápido: envía tu primer correo en unos diez minutos.
- Formulario de contacto con respuesta automática: un tutorial completo.
- Tutorial: crea y publica paso a paso un formulario de contacto real, desde el registro hasta la puesta en marcha.
- Guía del panel: todas las pantallas del panel explicadas.
- Migrar desde EmailJS: cambia un import.