Deliverability y autenticación

SPF, DKIM, DMARC y custom MAIL FROM — qué verifica cada chequeo, los 7 registros DNS que genera ReallyQuickEmails (POST /domains/register, POST /domains/:domain/verify, can_send), y factores de reputación (bounces, complaints, warming) que deciden si llegas al inbox.

Esta página explica cómo ReallyQuickEmails (RQE) autentica tus envíos y los mecanismos detrás de "¿llega al inbox?". No es un tutorial paso a paso (para eso ver Dominios) — es la teoría que necesitas para diagnosticar problemas y decidir qué configurar.

El stack de autenticación

Cuando un servidor de correo (Gmail, Outlook) recibe un email, hace 4 chequeos para decidir si va al inbox o a spam:

ChequeoQué verificaQuién lo configura
SPFEl servidor que envió el email tiene permiso para enviar desde tu dominioDNS de tu dominio
DKIMEl email fue firmado criptográficamente con una clave que publicaste en DNSDNS + RQE genera y firma
DMARCPolítica sobre qué hacer si SPF/DKIM fallan (none/quarantine/reject)DNS de tu dominio
MAIL FROM domainEl "envelope sender" (Return-Path) coincide con tu dominio, no con amazonses.comDNS + RQE

Cuando los 4 pasan, tu email tiene alignment estricto y la deliverability sube significativamente.

SPF (Sender Policy Framework)

Un record TXT en tu DNS que lista qué servidores pueden enviar emails desde tu dominio. Cuando RQE envía un email desde noreply@tudominio.com, Gmail consulta el SPF de tudominio.com y verifica que el servidor de envío esté en la lista.

Ejemplo de record (el que genera RQE al registrar tu dominio):

text
tudominio.com. TXT "v=spf1 include:amazonses.com ~all"

~all (soft fail): los servidores no listados se marcan como sospechosos sin rechazarse de plano. Puedes endurecerlo a -all (hard fail) una vez que confirmes que todo tu tráfico legítimo sale por servidores listados.

Si ya tienes SPF configurado para otro proveedor (Mailgun, Sendgrid, Google Workspace), tienes que mergear los include: en un solo record, no agregar otro TXT. Múltiples records SPF rompen la verificación.

DKIM (DomainKeys Identified Mail)

Una firma criptográfica del contenido del email, hecha con una clave privada de RQE. Tu dominio publica la clave pública en DNS vía 3 records CNAME. Cuando el email llega, Gmail toma la firma del header, descarga la clave pública del CNAME, y valida.

text
abc123._domainkey.tudominio.com. CNAME abc123.dkim.amazonses.com.
def456._domainkey.tudominio.com. CNAME def456.dkim.amazonses.com.
ghi789._domainkey.tudominio.com. CNAME ghi789.dkim.amazonses.com.

Los tokens (abc123, ...) se generan al registrar tu dominio y vienen en la respuesta de POST /domains/register.

DKIM también permite que tu dominio aparezca en el signed-by: del header en Gmail web, lo cual es señal de legitimidad para el usuario final.

DMARC

La política que indica qué debería pasar si SPF o DKIM fallan. Es el más fuerte de los 3 en términos de protección anti-spoofing.

PolíticaQué hace si falla SPF/DKIMCuándo usar
p=noneSolo reporta, no rechazaPrimera implementación, mientras analizas reportes
p=quarantineManda a spamDespués de 1–2 semanas de none sin issues
p=rejectRechaza el email completamenteProducción estable, máxima protección

Ejemplo:

text
_dmarc.tudominio.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@tudominio.com; pct=100"

pct=100 aplica la política al 100% del tráfico. Empezar con pct=10 y subir gradualmente es una práctica común.

Reportes DMARC

Si pasas rua=, los servidores receptores te mandan reportes diarios con qué % de tu tráfico pasó SPF/DKIM. Útil para detectar suplantación o configuraciones rotas. Hay servicios gratuitos para parsear los reportes (Postmark, dmarcian).

MAIL FROM domain (custom)

Cuando envías un email sin configuración extra, el mailed-by: que ve Gmail es amazonses.com — el dominio del proveedor, no el tuyo. Eso baja el SPF alignment de strict a relaxed.

Configurando un Custom MAIL FROM domain (en RQE, el subdominio bounce.tudominio.com), el mailed-by: pasa a ser tu dominio y SPF queda alineado strict.

RQE lo configura con un único record CNAME, incluido en los 7 que se generan al registrar el dominio:

text
bounce.tudominio.com. CNAME feedback-smtp.us-east-1.amazonses.com.

Custom MAIL FROM no es estrictamente necesario — can_send no lo requiere y los emails llegan igual sin él. Pero mejora el alignment SPF, sobre todo en clientes estrictos como ProtonMail u Outlook empresarial. Recomendado para volúmenes grandes.

El proceso de verificación en RQE

Registrar el dominio

POST /domains/register con { "domain": "tudominio.com", "sender_name": "Mi Empresa", "sender_email": "noreply@tudominio.com" } (los tres campos son requeridos). RQE genera los 7 records DNS y los devuelve en la respuesta. Ver Dominios.

Configurar los 7 records

En tu proveedor DNS (Cloudflare, GoDaddy, Route 53, etc):

  • 1 TXT verificación de dominio
  • 3 CNAME DKIM
  • 1 TXT SPF (mergear con existente si aplica)
  • 1 TXT DMARC
  • 1 CNAME Return-Path (Custom MAIL FROM)

Esperar propagación

5–10 minutos en Cloudflare/Route 53. Hasta 48h en proveedores lentos.

Verificar

POST /domains/:domain/verify comprueba la verificación del dominio, los 3 CNAME de DKIM y el CNAME de MAIL FROM (SPF y DMARC no se validan automáticamente). Cuando dominio y DKIM están verificados, la respuesta incluye can_send: true y puedes enviar emails desde *@tudominio.com.

Por qué los emails llegan a spam (más allá de la auth)

Aunque la auth técnica esté OK, hay factores reputacionales:

FactorImpacto
Dominio nuevo (< 30 días)Alto — hay que hacer warming
Tasa de bounces > 2%Alto — limpia tu lista regularmente
Tasa de complaints > 0.1%Crítico — Gmail/Outlook degradan reputación rápido
Sin List-Unsubscribe headerAlto — RQE lo agrega automático en campañas y en /v1/send-template-email; en envíos directos pásalo con custom_headers (POST /send-email y /v1/send-batch)
Contenido sospechosoMedio — palabras como "GRATIS", "URGENTE" en mayúsculas, ratio HTML/texto malo
Listas compradasCrítico — la mayoría son spam traps

Warming

Si tu dominio es nuevo o no envió en > 60 días, hay que hacer warming gradual: día 1 ~50k emails, día 2 ~75k, día 3+ resto. El modo por lotes automatiza esto.

Próximos pasos