// come risolvere
SendGrid 403 "from address does not match a verified Sender Identity": come risolvere
SendGrid rifiuta la posta con 403 quando il From non è un mittente verificato o un dominio autenticato. Trova il vero indirizzo From e verificalo come si deve.
Cosa significa
Twilio SendGrid ti permette di inviare solo da indirizzi che hai verificato. Il tuo messaggio usava un indirizzo From che non è né un Single Sender verificato né parte di un dominio autenticato, quindi la Mail Send API ha risposto con HTTP 403. Il corpo della risposta di solito è così:
{
"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
}]
}Via SMTP (smtp.sendgrid.net) lo stesso testo arriva come errore 550. Non è stato inviato nulla.
Perché succede
- Nessuna identità mittente ancora. I nuovi account devono verificare un Single Sender o autenticare un dominio prima di inviare.
- Il Single Sender non è confermato. SendGrid ha inviato un'email di verifica a quell'indirizzo e nessuno ha cliccato il link.
- Il tuo codice invia da un altro indirizzo. Un Single Sender copre un solo indirizzo preciso. Se hai verificato
hello@yourdomain.comma l'applicazione invia danoreply@yourdomain.com, fallisce. - Un plugin sovrascrive il From. WordPress, WooCommerce o un plugin di moduli possono inviare da
wordpress@yourdomain.como dall'indirizzo del visitatore. Consulta email del modulo di contatto inviate "From" l'indirizzo del visitatore. - Sottodominio non corrispondente. Un dominio autenticato copre il dominio che hai autenticato. Verifica che il dominio del From sia esattamente quello elencato (o un sottodominio coperto da esso).
- Account o subuser sbagliato. Le identità mittente appartengono all'account o al subuser che le ha create; una chiave API di un altro subuser non le vede.
Un 403 può anche derivare da una chiave API senza il permesso Mail Send; in quel caso il messaggio è diverso (parla di permessi o autorizzazione, non di Sender Identity).
Come verificare
- Registra nei log l'indirizzo From esatto della richiesta (il campo
from.emailnel JSON dell'API, oppure ilMAIL FROMe l'intestazione From via SMTP). - Nella console di SendGrid vai su Settings > Sender Authentication. Guarda l'elenco Single Sender (l'indirizzo c'è ed è verificato?) e l'elenco Domain Authentication (il dominio c'è ed è verificato?).
- Conferma che la chiave API appartenga allo stesso account o subuser.
Come risolvere
Opzione 1: verifica un Single Sender (rapido, per i test)
In Settings > Sender Authentication scegli di verificare un singolo mittente, inserisci l'indirizzo From esatto che usa il tuo codice, poi clicca il link nell'email che SendGrid gli invia. La casella deve esistere. SendGrid stessa presenta questa opzione come soluzione di test, non come la scelta migliore per la produzione: la posta non è firmata con il tuo dominio.
Opzione 2: autentica il tuo dominio (consigliato)
La Domain Authentication aggiunge record CNAME al tuo DNS in modo che SendGrid firmi la tua posta con DKIM per il tuo dominio. Da quel momento qualsiasi indirizzo del dominio può essere usato come From e DMARC può essere superato. Se i record non si verificano, leggi i CNAME di autenticazione del dominio SendGrid non si verificano.
Correggi l'applicazione
- Usa ovunque un unico indirizzo From preso dalla configurazione. Esempio con la libreria 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.' }); - Nei plugin SMTP per WordPress, imposta l'indirizzo From e attiva l'opzione che lo forza, così gli altri plugin non possono sovrascriverlo.
- Non usare mai un indirizzo Gmail, Outlook o Yahoo come From tramite SendGrid. Non puoi autenticare quei domini e le loro policy DMARC causano rifiuti o la consegna nello spam.
Verifica che sia risolto
Invia un messaggio tramite la tua applicazione all'indirizzo unico nella home page di Delivmail. Se SendGrid lo accetta, compare il report. Con la Domain Authentication, DKIM dovrebbe essere superato per yourdomain.com e DMARC dovrebbe essere superato. Con il solo Single Sender, aspettati invece una firma DKIM del dominio di SendGrid: è un buon motivo per passare all'autenticazione del dominio. Poi invia di nuovo il messaggio fallito. Per i problemi generali di invio da un sito web, consulta le email del tuo sito o di WordPress finiscono nello spam.
Verifica che sia risolto
Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.
Guide correlate
- Nessuna firma DKIM sulle tue emailDKIM aggiunge una firma digitale che dimostra che un'email arriva davvero dal tuo dominio. Attivala nel tuo provider di posta e pubblica la sua chiave nel DNS.
- La firma DKIM fallisce (firma o body hash non validi)La tua email è firmata, ma la firma non risulta corretta. Di solito la chiave DNS è sbagliata, oppure qualcosa ha modificato l'email dopo la firma.
- DMARC fallisce: SPF e DKIM non corrispondono al tuo dominioSPF o DKIM possono essere superati e DMARC fallire lo stesso, perché sono stati superati per un altro dominio. Fai in modo che almeno uno dei due usi lo stesso dominio del tuo indirizzo From.
- Le email del tuo sito o di WordPress finiscono nello spamModuli di contatto, conferme d'ordine e reimpostazioni della password inviati dal tuo sito finiscono spesso nello spam. Inviali tramite SMTP autenticato o un servizio di email transazionali.
- Qualcuno invia email false con il tuo dominio (spoofing)I truffatori possono inviare email che sembrano arrivare dal tuo dominio. Una policy DMARC a reject dice ai destinatari di rifiutarle. Prima monitora, poi applica.