// cómo solucionarlo
SendGrid 403 "from address does not match a verified Sender Identity": cómo solucionarlo
SendGrid rechaza el correo con un 403 cuando la dirección From no es un remitente verificado ni un dominio autenticado. Encuentra el From real y verifícalo bien.
Qué significa
Twilio SendGrid solo te deja enviar desde direcciones que has verificado. Tu mensaje usaba una dirección From que no es ni un Single Sender verificado ni parte de un dominio autenticado, así que la Mail Send API ha respondido con un HTTP 403. El cuerpo suele tener este aspecto:
{
"errors": [{
"message": "The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements",
"field": "from",
"help": null
}]
}Por SMTP (smtp.sendgrid.net), el mismo texto llega como un error 550. No se ha enviado nada.
Por qué ocurre
- Todavía no hay ninguna identidad de remitente. Las cuentas nuevas deben verificar un Single Sender o autenticar un dominio antes de enviar.
- El Single Sender no está confirmado. SendGrid envió un email de verificación a esa dirección y nadie hizo clic en el enlace.
- Tu código envía desde otra dirección. Un Single Sender cubre una dirección exacta. Si verificaste
hello@yourdomain.compero la aplicación envía desdenoreply@yourdomain.com, falla. - Un plugin sustituye el From. WordPress, WooCommerce o un plugin de formularios pueden enviar desde
wordpress@yourdomain.como desde la dirección del visitante. Consulta emails de formularios de contacto enviados "From" la dirección del visitante. - Subdominio distinto. Un dominio autenticado cubre el dominio que autenticaste. Comprueba que el dominio del From es exactamente el que aparece en la lista (o un subdominio cubierto por él).
- Cuenta o subusuario equivocados. Las identidades de remitente pertenecen a la cuenta o al subusuario que las creó; una clave de API de otro subusuario no las ve.
Un 403 también puede venir de una clave de API sin el permiso Mail Send; en ese caso el mensaje es distinto (habla de permisos o de autorización, no de Sender Identity).
Cómo comprobarlo
- Registra en los logs la dirección From exacta de la petición (el campo
from.emaildel JSON de la API, o elMAIL FROMy la cabecera From por SMTP). - En la consola de SendGrid, ve a Settings > Sender Authentication. Revisa la lista de Single Senders (¿está la dirección y está verificada?) y la lista de Domain Authentication (¿está el dominio y está verificado?).
- Confirma que la clave de API pertenece a la misma cuenta o al mismo subusuario.
Cómo solucionarlo
Opción 1: verifica un Single Sender (rápido, para pruebas)
En Settings > Sender Authentication, elige verificar un remitente único, introduce la dirección From exacta que usa tu código y haz clic en el enlace del email que SendGrid le envía. El buzón tiene que existir. El propio SendGrid presenta esta opción como una solución para pruebas, no como la mejor opción para producción: el correo no va firmado con tu propio dominio.
Opción 2: autentica tu dominio (recomendado)
Domain Authentication añade registros CNAME a tu DNS para que SendGrid firme tu correo con DKIM para tu dominio. A partir de ahí, puedes usar cualquier dirección del dominio como From y DMARC puede superarse. Si los registros no se verifican, lee los CNAME de autenticación de dominio de SendGrid no se verifican.
Corrige la aplicación
- Usa en todas partes una única dirección From sacada de tu configuración. Ejemplo con la librería de Node.js:
await sgMail.send({ to: 'customer@example.com', from: { email: 'hello@yourdomain.com', name: 'Your Shop' }, replyTo: 'support@yourdomain.com', subject: 'Your order', text: 'Thank you for your order.' }); - En los plugins SMTP de WordPress, define la dirección From y activa la opción que la fuerza, para que otros plugins no puedan sustituirla.
- Nunca uses una dirección de Gmail, Outlook o Yahoo como From a través de SendGrid. No puedes autenticar esos dominios y sus políticas DMARC provocan rechazos o que el correo acabe en spam.
Comprueba que está solucionado
Envía un mensaje desde tu aplicación a la dirección única de la página de inicio de Delivmail. Si SendGrid lo acepta, aparece el informe. Con Domain Authentication, DKIM debería superarse para yourdomain.com y DMARC debería superarse. Con solo un Single Sender, verás que DKIM lo firma el dominio de SendGrid, lo que es un motivo para pasar a la autenticación de dominio. Después reenvía el mensaje que falló. Para los problemas generales de envío desde una web, consulta los emails de tu web o de WordPress van a spam.
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
- Tus emails no tienen firma DKIMDKIM añade una firma digital que demuestra que un email viene de verdad de tu dominio. Actívala en tu proveedor de correo y publica su clave en el DNS.
- La firma DKIM falla (firma no válida o body hash)Tu email está firmado, pero la firma no cuadra. Normalmente la clave DNS es incorrecta o algo modificó el email después de firmarlo.
- DMARC falla: SPF y DKIM no coinciden con tu dominioSPF o DKIM pueden superarse y DMARC fallar igualmente, porque se superaron para otro dominio. Haz que al menos uno use el mismo dominio que tu dirección From.
- Los emails de tu web o de WordPress van a spamLos formularios de contacto, las confirmaciones de pedido y los restablecimientos de contraseña que envía tu web suelen acabar en spam. Envíalos mediante SMTP autenticado o un servicio de email transaccional.
- Alguien envía emails falsos con tu dominio (suplantación)Los estafadores pueden enviar emails que parecen venir de tu dominio. Una política DMARC en reject indica a los receptores que los rechacen. Primero monitoriza, después aplica.