Quickstart
1. Obtén tu API key
Sección titulada «1. Obtén tu API key»En el dashboard, crea una API key. Guárdala de forma segura: el token solo se muestra una vez al crearla.
2. Verifica tu dominio
Sección titulada «2. Verifica tu dominio»Para enviar correo firmado necesitas un dominio verificado. Publica los records SPF/DKIM/DMARC que te entrega la API (ver Conceptos).
3. Envía un correo
Sección titulada «3. Envía un correo»El payload es estilo SendGrid: personalizations[].to[].email, from, subject
y content[].
curl -X POST https://api.mailerdash.com/v1/mail/send \ -H "Authorization: Bearer $MAILERDASH_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Md-Channel: trans" \ -d '{ "personalizations": [{ "to": [{ "email": "recipient@example.com" }] }], "from": { "email": "no-reply@tu-dominio.com", "name": "Tu Servicio" }, "subject": "Hola desde MailerDash", "content": [{ "type": "text/html", "value": "<h1>Funciona 🎉</h1>" }] }'const res = await fetch('https://api.mailerdash.com/v1/mail/send', { method: 'POST', headers: { Authorization: `Bearer ${process.env.MAILERDASH_API_KEY}`, 'Content-Type': 'application/json', 'X-Md-Channel': 'trans', }, body: JSON.stringify({ personalizations: [{ to: [{ email: 'recipient@example.com' }] }], from: { email: 'no-reply@tu-dominio.com', name: 'Tu Servicio' }, subject: 'Hola desde MailerDash', content: [{ type: 'text/html', value: '<h1>Funciona 🎉</h1>' }], }),});console.log(res.status, await res.json());import os, requests
res = requests.post( "https://api.mailerdash.com/v1/mail/send", headers={ "Authorization": f"Bearer {os.environ['MAILERDASH_API_KEY']}", "X-Md-Channel": "trans", }, json={ "personalizations": [{"to": [{"email": "recipient@example.com"}]}], "from": {"email": "no-reply@tu-dominio.com", "name": "Tu Servicio"}, "subject": "Hola desde MailerDash", "content": [{"type": "text/html", "value": "<h1>Funciona 🎉</h1>"}], },)print(res.status_code, res.json())Errores
Sección titulada «Errores»Las respuestas de error usan un formato consistente:
{ "error": { "type": "validation_error", "code": "domain_unauthorized", "message": "..." } }Ver la referencia de errores para el catálogo completo de type y
code.