MailMask

السجل الرسمي البحث والويب

Email for agents: domains, aliases, IMAP mailboxes, DNS, sending and webhooks via one API key.

ماذا يمكنك أن تفعل مع MailMask؟

  • Máscaras con forwarding — direcciones como hola@tudominio.com que reenvían a uno o varios destinatarios
  • Envío autenticado — salida desde tu dominio con DKIM y SPF configurados automáticamente en SES
  • Bandeja compartida — asigna conversaciones a miembros del equipo y responde desde el dashboard, con actualización en tiempo real vía SSE
  • API REST + SDK — cliente JS/TS publicado como @easybits.cloud/mailmask
  • SMTP relay — credenciales SMTP para enviar desde tu código o SaaS (plan Developer)
  • Reglas de enrutamiento — reenvío condicional por alias
  • RBAC por dominio — roles owner, admin y agent con permisos granulares
  • Respaldos verificados — snapshot completo del SQLite con VACUUM INTO, verificado con integrity_check antes de subir a S3

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http mailmask 'https://www.mailmask.studio/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "mailmask": {
            "type": "http",
            "url": "https://www.mailmask.studio/mcp"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. MailMask
  2. Qué es
  3. Features
  4. Planes
  5. Stack
  6. Setup
  7. Deploy
  8. Endpoints de salud
  9. Documentación y agente
  10. Estructura

MailMask

Email profesional con tu dominio. Máscaras, forwarding y bandeja compartida — sin Google Workspace.

mailmask.studio

Qué es

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.

Features

  • Máscaras con forwarding — direcciones como hola@tudominio.com que reenvían a uno o varios destinatarios
  • Envío autenticado — salida desde tu dominio con DKIM y SPF configurados automáticamente en SES
  • Bandeja compartida — asigna conversaciones a miembros del equipo y responde desde el dashboard, con actualización en tiempo real vía SSE
  • API REST + SDK — cliente JS/TS publicado como @easybits.cloud/mailmask
  • SMTP relay — credenciales SMTP para enviar desde tu código o SaaS (plan Developer)
  • Reglas de enrutamiento — reenvío condicional por alias
  • RBAC por dominio — roles owner, admin y agent con permisos granulares
  • Respaldos verificados — snapshot completo del SQLite con VACUUM INTO, verificado con integrity_check antes de subir a S3
  • Blog integrado — 24 guías SEO sobre email profesional y forwarding
  • Docs con agente — chat de soporte en /docs que responde por RAG sobre la documentación

Planes

Precios en MXN. Máscaras, reglas, envíos y reenvío se cuentan por dominio, no por cuenta.

BásicoFreelancerDeveloper
Mensual$49$449$999
Anual$490$4,490$9,990
Dominios11520
Máscaras550100
Reglas—1050
Historial15 días30 días90 días
Envíos/día— (add-on)2001,000
Reenvío de entrada100/hora500/hora2,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.

Add-ons

Se compran encima de cualquier plan activo y se cobran aparte, mes a mes.

Add-onPrecioQué hace
Envíos 25/día+$49Desbloquea el envío desde tu dominio, tope 25/día por dominio
Envíos 100/día+$99Igual, tope 100/día por dominio
Dominio extra+$99 c/uUn 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.

Stack

Node + tsx · Elysia · SQLite (Drizzle) · AWS SES/S3 · MercadoPago · Fly.io

Setup

cp .env.example .env
npm install
npm run dev    # localhost:8000
npm test

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.

Deploy

fly deploy     # ~22s, ~11s de downtime

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.

Endpoints de salud

RutaUso
/healthzLiveness para fly-proxy. Sin I/O.
/healthDiagnóstico: profundidad de cola, dead letters y estado de SES. Devuelve 503 si algo está degradado — no usar como readiness del proxy.

Documentación y agente

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:

  1. 13 secciones extraídas de public/docs.html — instalación, autenticación, dominios, aliases, reglas, envío, logs, SMTP, API keys, errores, MCP y referencia de la API.
  2. 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:

FORMMY_SECRET_KEY=sk_live_xxx npx tsx scripts/upload-docs.ts   # borra y re-sube, idempotente
npm run build:chat                                             # solo si tocaste docs-chat.tsx

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.

Estructura

ArchivoPropósito
main.tsTodos los endpoints, estáticos y middleware
db.tsCapa de datos, definición de planes, CRUD
schema.tsSchema de Drizzle (22 tablas)
auth.tsJWT, hashing PBKDF2, tokens CSRF
ses.tsSES, S3, IAM, helpers de respaldo
forwarding.tsProcesamiento y reenvío de correo entrante
backup.tsRespaldo completo de la base con verificación
cron.tsTareas programadas
public/docs.htmlDocs públicas y fuente del agente
public/js/docs-chat.tsxWidget del Asistente MailMask
scripts/upload-docs.tsSube la base de conocimiento del agente
scripts/setup-agent.tsPersona e instrucciones del agente

Hecho con 🚬🫁 por @blissito · fixter.org

الأسئلة الشائعة

ما هو MailMask؟

Email for agents: domains, aliases, IMAP mailboxes, DNS, sending and webhooks via one API key.

كيف أثبّت MailMask؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http mailmask 'https://www.mailmask.studio/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج MailMask إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل MailMask مفتوح المصدر؟

شيفرته علنية على GitHub، لكن المستودع لا يعلن ترخيصًا قياسيًا.

من يصون MailMask؟

ينشره blissito. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.