SDK de MailMask

Cliente oficial TypeScript/JavaScript para la API de MailMask. Crea aliases, gestiona dominios, envía emails y más desde tu código.

npm: @easybits.cloud/mailmask

Instalación

npm install @easybits.cloud/mailmask

Autenticación

Para usar el SDK necesitas una API Key. Puedes crear una desde el Dashboard en la sección de API Keys. Requiere plan Developer o Agencia.

Las API keys tienen el prefijo mk_ y solo se muestran una vez al crearlas. Guárdala en un lugar seguro.

import { MailMask } from "@easybits.cloud/mailmask";

const mm = new MailMask({ apiKey: "mk_..." });

Dominios

Gestiona los dominios conectados a tu cuenta. Puedes listar, agregar, verificar y consultar el estado de salud DNS.

// Listar dominios
const domains = await mm.domains.list();

// Obtener un dominio
const domain = await mm.domains.get("domain-id");

// Agregar dominio
const { domain } = await mm.domains.create("example.com");

// Eliminar dominio
await mm.domains.delete("domain-id");

// Verificar DNS
await mm.domains.verify("domain-id");

// Estado de salud
const health = await mm.domains.health("domain-id");

Aliases

Crea y administra aliases de email. Cada alias reenvía correo a uno o múltiples destinos.

// Listar aliases
const aliases = await mm.aliases.list("domain-id");

// Crear alias
const alias = await mm.aliases.create("domain-id", {
  alias: "hello",
  destinations: ["me@gmail.com"]
});

// Crear alias con múltiples destinos
const alias = await mm.aliases.create("domain-id", {
  alias: "team",
  destinations: ["alice@company.com", "bob@company.com"]
});

// Actualizar alias
await mm.aliases.update("domain-id", "hello", { enabled: false });

// Eliminar alias
await mm.aliases.delete("domain-id", "hello");

Reglas

Las reglas permiten enrutar o filtrar emails automáticamente según criterios como remitente, asunto o contenido.

// Listar reglas
const rules = await mm.rules.list("domain-id");

// Crear regla
const rule = await mm.rules.create("domain-id", {
  field: "from",
  match: "contains",
  value: "@newsletter.com",
  action: "forward",
  target: "newsletters@gmail.com"
});

// Actualizar regla
await mm.rules.update("domain-id", "rule-id", { enabled: false });

// Eliminar regla
await mm.rules.delete("domain-id", "rule-id");

Envío de emails

Envía emails individuales o masivos desde cualquier alias de tu dominio.

// Enviar email
await mm.send.send("domain-id", {
  from: "hello",
  fromName: "Mi Tienda",
  to: "client@example.com",
  subject: "Hola!",
  html: "<p>Contenido del email</p>"
});

// Envío masivo
const job = await mm.send.bulkSend("domain-id", {
  from: "hello",
  recipients: ["a@test.com", "b@test.com"],
  subject: "Newsletter",
  html: "<p>Contenido</p>"
});

// Consultar estado del envío masivo
const status = await mm.send.bulkStatus("domain-id", job.jobId);

Logs

Consulta el historial de emails procesados por un dominio.

const logs = await mm.logs.list("domain-id");

Credenciales SMTP

Crea credenciales SMTP para enviar emails desde tu código o aplicaciones SaaS. Disponible solo en plan Developer.

// Listar credenciales
const creds = await mm.smtp.list("domain-id");

// Crear credencial
const cred = await mm.smtp.create("domain-id", "Mi app");
console.log(cred.smtpPassword); // Solo se muestra una vez

// Revocar credencial
await mm.smtp.revoke("domain-id", "cred-id");

API Keys

Administra tus API keys programáticamente. Útil para rotación automática de credenciales.

// Listar keys
const keys = await mm.apiKeys.list();

// Crear key
const newKey = await mm.apiKeys.create("Mi nueva key");
console.log(newKey.key); // mk_... — solo se muestra una vez

// Revocar key
await mm.apiKeys.revoke("key-id");

Manejo de errores

El SDK lanza MailMaskError para respuestas HTTP no exitosas. Incluye el código de estado y el mensaje del servidor.

import { MailMask, MailMaskError } from "@easybits.cloud/mailmask";

try {
  await mm.domains.create("example.com");
} catch (err) {
  if (err instanceof MailMaskError) {
    console.error(err.status, err.message);
  }
}

MCP Server

Próximamente

Estamos desarrollando un servidor MCP (Model Context Protocol) que permite a agentes de IA como Claude interactuar con tu cuenta de MailMask directamente. Podrás crear aliases, gestionar reglas y enviar emails desde cualquier cliente MCP compatible.

// claude_desktop_config.json (próximamente)
{
  "mcpServers": {
    "mailmask": {
      "command": "npx",
      "args": ["@easybits.cloud/mailmask-mcp"],
      "env": { "MAILMASK_API_KEY": "mk_..." }
    }
  }
}

Referencia API

Para la referencia completa de la API HTTP (todos los endpoints, parámetros y respuestas), consulta la documentación interactiva:

© MailMask — mailmask.studio