todas las guías

// cómo solucionarlo

Resend "domain is not verified": corrige los registros DNS y los errores 403

Resend no envía hasta que tu dominio está verificado. Corrige los registros DKIM, SPF y MX del subdominio send, el estado pending o failed y los errores 403.

Qué significa

Resend solo envía desde dominios que te pertenecen y que has verificado con registros DNS. Si envías desde un dominio no verificado, o no verificado exactamente como está escrito en tu dirección From, la API responde con un error 403. El mensaje suele decir que el dominio no está verificado y te pide que lo añadas y lo verifiques en la página Domains de Resend.

Un 403 parecido aparece cuando envías desde el dominio de prueba resend.dev a cualquier dirección que no sea la de tu propia cuenta: el dominio de prueba solo te entrega a ti.

En la página Domains, cada dominio tiene un estado. Los principales son:

  • not_started: el dominio se ha añadido, pero no has hecho clic en "Verify DNS Records".
  • pending: Resend sigue buscando los registros.
  • verified: puedes enviar.
  • failed: Resend no ha encontrado los registros en 72 horas.
  • temporary_failure: el dominio estaba verificado, pero un registro ha desaparecido. Resend vuelve a comprobarlo durante 72 horas y después lo marca como failed.

Por qué ocurre

  • Registros no añadidos o añadidos con un nombre incorrecto. Los registros de Resend van en nombres como resend._domainkey y en un subdominio de envío (por defecto send). Si tu panel DNS añade tu dominio, al introducir el nombre completo se duplica; consulta registro DNS añadido con un nombre incorrecto.
  • Dominio del From distinto. Verificaste updates.yourdomain.com pero envías desde yourdomain.com, o al revés. Cada dominio y cada subdominio se verifican por separado.
  • El valor DKIM se recortó o se modificó al pegarlo (caracteres que faltan, comillas de más, saltos de línea).
  • Registros eliminados más tarde, por ejemplo durante una migración DNS, lo que provoca temporary_failure. Consulta registros de email perdidos al cambiar de proveedor DNS.
  • Todavía no son visibles. Los registros se han añadido hace poco.

Cómo comprobarlo

  1. En Resend, abre el dominio y su pestaña Records. Anota el tipo, el nombre y el valor de cada registro; es la única fuente fiable, porque el conjunto de registros puede variar de un dominio a otro (los dominios más recientes pueden recibir registros CNAME en lugar de TXT y MX para SPF).
  2. Comprueba lo que ve internet. Para una configuración típica:
    dig +short TXT resend._domainkey.yourdomain.com
    dig +short MX send.yourdomain.com
    dig +short TXT send.yourdomain.com
    Compara cada respuesta con la pestaña Records.
  3. Pasa tu dominio por el escáner de dominios de Delivmail para ver los registros SPF, DKIM y DMARC publicados.
  4. Compara, carácter a carácter, el dominio del From de tu código con el nombre del dominio verificado.

Cómo solucionarlo

  1. Añade todos los registros de la pestaña Records. Un conjunto típico tiene este aspecto (tus valores serán distintos, cópialos de Resend):
    resend._domainkey.yourdomain.com  TXT  "p=MIGfMA0GCSqGSIb3DQEB..."
    send.yourdomain.com               MX   10 feedback-smtp.<region>.amazonses.com
    send.yourdomain.com               TXT  "v=spf1 include:amazonses.com ~all"
  2. Pon el MX en el subdominio send, nunca en la raíz. Añadirlo a yourdomain.com enviaría tu correo entrante al gestor de rebotes de Resend. Tus registros MX actuales para tu buzón no cambian.
  3. No fusiones este SPF con tu SPF raíz. Pertenece al subdominio send, que es el dominio de Return-Path que usa Resend. Tu registro SPF raíz no se toca.
  4. En Cloudflare, deja los registros CNAME como "DNS only".
  5. Haz clic en Verify DNS Records en Resend. Si el estado es failed, corrige los registros y vuelve a iniciar la verificación.
  6. Haz que la dirección From coincida con el dominio verificado, o verifica el dominio que realmente usas. Usar un subdominio para cada tipo de correo es una buena práctica; consulta autenticación de email para subdominios.
  7. Añade DMARC si tu dominio no tiene, empezando por p=none; consulta la guía sobre la ausencia de registro DMARC en tu dominio.

Comprueba que está solucionado

Espera a que dig devuelva los valores esperados (de minutos a unas horas, según tu proveedor DNS y el TTL) y a que el dominio aparezca como verified. Después envía un email a través de Resend a la dirección única de la página de inicio de Delivmail. El informe debería mostrar DKIM superado para tu dominio, SPF superado en el subdominio send y DMARC superado. Después vuelve a enviar al destinatario original. Mantén los registros en su sitio: si quitas uno más adelante, el dominio pasa a temporary_failure.

Comprueba que está solucionado

Un cambio de DNS puede tardar de unos minutos a unas horas. Después, envía un nuevo email de prueba o vuelve a escanear tu dominio.

Guías relacionadas