The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MailMask listing page.
Email profesional con tu dominio. Máscaras, forwarding y bandeja compartida — sin Google Workspace.
MailMask te permite recibir y gestionar emails con tu dominio propio. Configura máscaras (aliases) que reenvían a tu Gmail, Outlook o cualquier buzón existente, sin montar un servidor de correo y sin pagar licencia por buzón. Ideal para freelancers, startups y equipos pequeños.
@easybits.cloud/mailmaskVACUUM INTO, verificado con integrity_check antes de subir a S3/docs que responde por RAG sobre la documentaciónPrecios en MXN. Máscaras, reglas, envíos y reenvío se cuentan por dominio, no por cuenta.
| Básico | Freelancer | Developer | |
|---|---|---|---|
| Mensual | $49 | $449 | $999 |
| Anual | $490 | $4,490 | $9,990 |
| Dominios | 1 | 15 | 20 |
| Máscaras | 5 | 50 | 100 |
| Reglas | — | 10 | 50 |
| Historial | 15 días | 30 días | 90 días |
| Envíos/día | — (add-on) | 200 | 1,000 |
| Reenvío de entrada | 100/hora | 500/hora | 2,000/hora |
| API + SDK | ✓ | ✓ | ✓ |
| SMTP relay | — | — | ✓ |
| Webhooks | — | — | ✓ |
Son dos límites distintos. Envíos es el correo saliente que originas tú (panel, API, SMTP relay). Reenvío de entrada es el correo que llega a una máscara y sale al buzón destino — el caso de uso principal, medido por hora y un orden de magnitud mayor: ~2,400, ~12,000 y ~48,000 al día. Quien solo reenvía nunca toca el límite de envíos.
Se compran encima de cualquier plan activo y se cobran aparte, mes a mes.
| Add-on | Precio | Qué hace |
|---|---|---|
| Envíos 25/día | +$49 | Desbloquea el envío desde tu dominio, tope 25/día por dominio |
| Envíos 100/día | +$99 | Igual, tope 100/día por dominio |
| Dominio extra | +$99 c/u | Un dominio más de cupo. Acumulable. No incluye envío |
Los dos de envíos son mutuamente excluyentes; se compran una vez y aplican a todos los dominios de la cuenta, con el tope contando por dominio y por día.
Fuente de verdad: PLANS y ADDONS en db.ts.
Node + tsx · Elysia · SQLite (Drizzle) · AWS SES/S3 · MercadoPago · Fly.io
Requiere los buckets de S3 mailmask-inbound y mailmask-backups en us-east-1. Todo AWS está fijado a esa región: SES inbound solo existe en us-east-1, us-west-2 y eu-west-1, y ahí viven las receipt rules y los dominios verificados.
El downtime es estructural: con SQLite en un volumen único solo una máquina puede montarlo, así que Fly debe detener la vieja antes de arrancar la nueva.
| Ruta | Uso |
|---|---|
/healthz | Liveness para fly-proxy. Sin I/O. |
/health | Diagnóstico: profundidad de cola, dead letters y estado de SES. Devuelve 503 si algo está degradado — no usar como readiness del proxy. |
La página pública /docs tiene doble propósito: es la documentación para usuarios y la fuente de la base de conocimiento del Asistente MailMask, el chat que responde dudas ahí mismo.
El agente vive en Formmy y responde por RAG sobre 18 documentos que se le suben; no lee el sitio en vivo. Las fuentes son dos:
public/docs.html — instalación, autenticación, dominios, aliases, reglas, envío, logs, SMTP, API keys, errores, MCP y referencia de la API.EXTRA_DOCS en scripts/upload-docs.ts — lo que no está en la página: planes y precios, configuración de dominio, bandeja, envío masivo y RBAC.No se actualiza solo. Después de editar docs.html o EXTRA_DOCS:
El baseUrl del SDK debe ser https://www.formmy.app. El apex formmy.app no sirve certificado TLS, así que apuntar ahí hace que todo fetch muera en el handshake con un Failed to fetch que parece CSP y no lo es. El host va en tres archivos (docs-chat.tsx, upload-docs.ts, setup-agent.ts) y en el connect-src del CSP en main.ts; el bundle lleva el valor incrustado, por eso hay que reconstruirlo.
| Archivo | Propósito |
|---|---|
main.ts | Todos los endpoints, estáticos y middleware |
db.ts | Capa de datos, definición de planes, CRUD |
schema.ts | Schema de Drizzle (22 tablas) |
auth.ts | JWT, hashing PBKDF2, tokens CSRF |
ses.ts | SES, S3, IAM, helpers de respaldo |
forwarding.ts | Procesamiento y reenvío de correo entrante |
backup.ts | Respaldo completo de la base con verificación |
cron.ts | Tareas programadas |
public/docs.html | Docs públicas y fuente del agente |
public/js/docs-chat.tsx | Widget del Asistente MailMask |
scripts/upload-docs.ts | Sube la base de conocimiento del agente |
scripts/setup-agent.ts | Persona e instrucciones del agente |
Hecho con 🚬🫁 por @blissito · fixter.org