SPF, DKIM e DMARC per Resend.
Resend è un'API email pensata per gli sviluppatori e autentica il tuo dominio con un piccolo gruppo di record DNS generati per ogni dominio, non con una riga SPF condivisa da incollare. Quando aggiungi un dominio, Resend mostra tre record: un TXT DKIM su resend._domainkey (una chiave di firma che genera per te), più un TXT SPF e un record MX che stanno entrambi su un sottodominio send. usato come Return-Path. Dietro le quinte Resend gira su Amazon SES, ma nasconde i CNAME Easy-DKIM di SES dietro un'unica chiave DKIM propria. Quando questi tre record si risolvono, Resend firma la posta con il tuo dominio: DKIM si allinea in modo rigoroso (strict) a d=yourdomain.com, SPF si allinea in modalità relaxed tramite il sottodominio send e DMARC viene superato con entrambi.
Perché autenticare Resend?
Autenticare il tuo dominio Resend fa la differenza tra la posta in arrivo e lo spam, e finché non lo fai puoi inviare solo dal dominio di prova condiviso di Resend, onboarding@resend.dev, che non è affatto tuo. Da febbraio 2024 Gmail e Yahoo richiedono a ogni mittente di grandi volumi (circa 5.000+ messaggi al giorno) di superare SPF, DKIM e DMARC con allineamento, e nel 2025 Microsoft ha iniziato ad applicare le stesse regole alla posta ad alto volume diretta a Outlook/Hotmail. Di solito Resend è collegato proprio alla posta che queste regole giudicano con più severità: reset della password, ricevute, codici di verifica e, sempre più spesso, broadcast di marketing, dove basta finire una volta nello spam per interrompere un flusso di iscrizione. Resend rende tutto insolitamente pulito: poiché mette SPF/Return-Path su un sottodominio send. del TUO dominio (invece di possedere un dominio di bounce come fanno Mailchimp o la configurazione legacy di SendGrid), SPF si allinea davvero in modalità relaxed, e il selettore DKIM resend firma con il tuo dominio, quindi DKIM si allinea in modo strict. Pubblica i record e un dominio Resend supera DMARC con entrambi i meccanismi: la configurazione robusta che resiste all'inoltro. Se li salti, la posta parte come resend.dev oppure non è autenticata, con la reputazione messa in comune su un'infrastruttura condivisa.
Come funziona davvero SPF con Resend
Resend è un provider per singolo account basato su Amazon SES, quindi NON esiste un include condiviso per il tuo dominio radice, ed è una scelta voluta. Quando aggiungi un dominio, Resend predispone un sottodominio send. (il dominio MAIL FROM personalizzato di SES, cioè della busta) e mette lì il record SPF: send.yourdomain.com riceve v=spf1 include:amazonses.com ~all, e il relativo MX (feedback-smtp.{region}.amazonses.com) raccoglie bounce e segnalazioni di spam. L'SPF del tuo dominio radice non viene mai toccato: Resend gli aggiunge ZERO ricerche DNS. Due cose rendono questa configurazione migliore di quella della maggior parte degli ESP. La prima: poiché il Return-Path è un sottodominio del tuo dominio e non un dominio di bounce di proprietà di Resend, SPF si allinea per DMARC in modalità relaxed (send.yourdomain.com condivide il dominio organizzativo yourdomain.com). La seconda: Resend non usa i tre selettori CNAME Easy-DKIM di SES, ma genera una propria chiave DKIM e pubblica un unico TXT su resend._domainkey.yourdomain.com, firmando con d=yourdomain.com, quindi DKIM si allinea in modo strict. In concreto: sul tuo SPF radice non va nulla, l'include:amazonses.com che vedi appartiene solo al sottodominio send, e a portare l'allineamento più forte è DKIM, non un include sul dominio radice. Se un vecchio tutorial ti dice di aggiungere include:amazonses.com al dominio radice, ignoralo: per Resend non serve a nulla, brucia una delle 10 ricerche SPF del dominio radice e autorizza inutilmente tutto SES a inviare a nome del tuo dominio radice.
Passo dopo passo
- 1
Aggiungi il tuo dominio (e scegli una regione)
Accedi su resend.com, apri Domains nel menu a sinistra e fai clic su Add Domain. Inserisci il tuo dominio di invio: il dominio radice (yourdomain.com) o, meglio, un sottodominio di invio dedicato come updates.yourdomain.com. Poi scegli la regione AWS più vicina ai tuoi utenti (N. Virginia us-east-1, Ireland eu-west-1, São Paulo sa-east-1 o Tokyo ap-northeast-1). La regione è incorporata nell'host MX e non si può cambiare in seguito senza eliminare e aggiungere di nuovo il dominio, quindi sceglila con attenzione.
- 2
Apri la scheda Records
Resend genera i record DNS per te e li elenca nella scheda Records/DNS del dominio: un TXT DKIM (resend._domainkey), un TXT SPF sul sottodominio send e un MX sul sottodominio send. Se su send.yourdomain.com hai già un servizio attivo, usa l'opzione Custom Return Path per scegliere un altro sottodominio prima di copiare i record.
- 3
Aggiungi il record TXT DKIM
Dal tuo provider DNS crea un record TXT con host resend._domainkey e il lungo valore della chiave pubblica mostrato da Resend (inizia con p=). È il record che allinea in modo strict la tua posta a d=yourdomain.com, quindi incolla il valore esattamente: una chiave incollata solo in parte o con virgolette aggiunte è il motivo più comune per cui un dominio apparentemente corretto non supera DKIM. Nota che sta sul selettore del dominio radice (o del sottodominio di invio), non sotto send.
- 4
Aggiungi il TXT SPF sul sottodominio send
Crea un record TXT con host send (cioè send.yourdomain.com) e valore v=spf1 include:amazonses.com ~all. Autorizza la busta SES per il Return-Path: lascia stare il tuo SPF radice e NON aggiungervi include:amazonses.com. Se il tuo registrar aggiunge automaticamente il dominio, inserisci solo send, non send.yourdomain.com.
- 5
Aggiungi il record MX sul sottodominio send
Crea un record MX con host send, priorità 10 e valore feedback-smtp.{region}.amazonses.com corrispondente alla regione scelta (es. feedback-smtp.us-east-1.amazonses.com). Aggiungi un punto finale al valore, così il tuo registrar non vi accoda il tuo dominio. Questo MX riceve solo il feedback di SES su bounce e segnalazioni di spam: non cambia dove viene recapitata la tua normale posta in entrata.
- 6
Pubblica un record DMARC
Resend consiglia una policy DMARC ma non la crea per te. Aggiungi un record TXT sull'host _dmarc con v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. p=none è solo monitoraggio, quindi non cambia nulla nel recapito mentre confermi l'allineamento. Tieni esattamente un record _dmarc per dominio.
- 7
Fai clic su Verify DNS Records
Torna in Resend e fai clic su Verify DNS Records. Di solito la propagazione richiede pochi minuti, ma può arrivare a 72 ore; lo stato passa a Verified quando tutti e tre i record si risolvono. Se si blocca, ricontrolla che non ci sia un host duplicato, un MX della regione sbagliata o un punto finale mancante, poi verifica di nuovo.
- 8
Invia una vera email di prova e leggi le intestazioni
Verified nella dashboard non dimostra che la posta sia allineata. Invia un messaggio da un indirizzo del tuo dominio verificato (non @resend.dev) a un account Gmail, aprilo e scegli ⋮ → Show original. Devi vedere SPF: PASS (mailed-by un host send.yourdomain.com), DKIM: PASS con signed-by: yourdomain.com e selettore resend, e DMARC: PASS, tutti riferiti al tuo dominio e non a resend.dev o amazonses.com.
Record da aggiungere
Resend genera i valori esatti nella sua procedura guidata di configurazione: questi mostrano la struttura di ciò che aggiungerai presso il tuo provider DNS.
| Tipo | Host | Valore |
|---|---|---|
| TXT | resend._domainkey | p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ…(long public key from Resend)Chiave pubblica DKIM, selettore resend, sul tuo dominio radice/di invio: allinea in modo strict la posta a d=yourdomain.com. Valore di esempio; la vera chiave a 1024 bit viene generata per ogni dominio e mostrata come un'unica stringa p=… (senza prefisso v=DKIM1): incollala esattamente come appare. |
| TXT | send | v=spf1 include:amazonses.com ~allSPF per il sottodominio send (la busta SES / MAIL FROM). Sta su send.yourdomain.com, NON sul dominio radice: non aggiungere include:amazonses.com all'SPF del dominio radice. |
| MX | send | feedback-smtp.us-east-1.amazonses.comReturn-Path per bounce e segnalazioni di spam di SES: priorità 10, sul sottodominio send, con punto finale. Dipende dalla regione: è quella che hai scelto quando hai aggiunto il dominio (us-east-1 / eu-west-1 / sa-east-1 / ap-northeast-1). |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comQuesto lo aggiungi tu: Resend mostra una policy consigliata ma non la scrive mai nel DNS. Uno per dominio; parti da p=none, poi irrigidisci la policy. |
Tieni esattamente un record TXT SPF (v=spf1) sul dominio radice e unisci al suo interno tutti i mittenti. Avere due record SPF è di per sé un errore.
Il limite di 10 ricerche DNS
SPF ha un tetto fisso di 10 ricerche DNS: se lo superi, restituisce un permerror e smette di essere valido ovunque. Ecco quanto consuma di questo budget la configurazione di Resend.
La configurazione consigliata di Resend aggiunge 0 ricerche: tutte e 10 restano libere per i mittenti che hanno davvero bisogno di un include.
DKIM
DKIM è il record più importante in una configurazione Resend, ed è qui che Resend si discosta senza clamore da Amazon SES puro. Anche se gira su SES, NON ti dà i tre selettori CNAME Easy-DKIM di SES. Genera invece una propria coppia di chiavi DKIM per dominio e ti dà un unico record TXT: host resend._domainkey.yourdomain.com, valore la chiave pubblica (una stringa p=… mostrata nella scheda Records), selettore resend. Resend conserva la chiave privata corrispondente e firma ogni messaggio con d=yourdomain.com; s=resend. Poiché quel d= è il tuo dominio, non amazonses.com né un dominio di proprietà di Resend, DKIM si allinea in modo strict per DMARC e continua a passare anche quando un messaggio viene inoltrato (proprio quando SPF tende a rompersi). Due note pratiche. La prima: è un record TXT che pubblichi tu, non una delega CNAME, quindi Resend non può ruotare la chiave senza che tu faccia nulla, come fanno i provider CNAME: se la ruoti, ripubblichi il nuovo valore. La seconda: incolla il valore esattamente come lo mostra Resend. Poiché Resend firma con una chiave a 1024 bit, il valore p= è un'unica stringa di ~216 caratteri che rientra nel limite DNS di 255 caratteri per stringa TXT: a differenza delle chiavi più lunghe a 2048 bit fornite da alcuni provider, NON è suddivisa in più stringhe tra virgolette, quindi incollala come valore unico senza interruzioni. Una copia parziale, uno spazio inserito o una coppia di virgolette in più aggiunta dal tuo pannello DNS attorno alla stringa sono la causa numero uno di un dominio che sembra configurato ma non supera comunque il controllo DKIM. Il record DKIM sta sul selettore del tuo dominio radice (o del tuo sottodominio di invio), non sotto il sottodominio send, dove si trovano SPF e MX.
DMARC
DMARC è un record di policy separato che Resend consiglia ma non crea per te: lo aggiungi dal tuo provider DNS. Pubblica un record TXT su _dmarc.yourdomain.com partendo da v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. p=none è solo monitoraggio: non cambia nulla nel recapito, ma chiede ai server riceventi di inviarti via email i report aggregati (rua), così puoi confermare che la posta Resend superi SPF e DKIM allineati al tuo dominio. Qui Resend si comporta bene: ottieni l'allineamento SPF relaxed tramite il sottodominio send E l'allineamento DKIM strict tramite il selettore resend, quindi dovresti vedere pass DMARC puliti quasi subito, e se vuoi puoi aggiungere senza rischi adkim=s (allineamento DKIM strict), poiché d=yourdomain.com corrisponde esattamente al dominio del tuo From. Osserva i report per una o due settimane, assicurati che ogni mittente legittimo (Resend più eventuali host di caselle di posta o altri strumenti) sia autenticato, poi passa da p=none a p=quarantine e infine a p=reject. Tieni esattamente un record _dmarc per l'intero dominio organizzativo, a prescindere da quanti mittenti usi: non aggiungere mai un secondo record DMARC solo per Resend.
Verifica che funzioni davvero
Non fidarti del solo badge verde Verified di Resend: significa soltanto che i tre record si sono risolti, non che un messaggio reale sia allineato. Invia un'email di prova da un indirizzo del tuo dominio verificato (ad esempio no-reply@yourdomain.com, NON un indirizzo @resend.dev) a un account Gmail, aprila e scegli ⋮ → Show original. Devi vedere SPF: PASS con mailed-by che mostra un host send.yourdomain.com, DKIM: PASS con signed-by: yourdomain.com e selettore resend, e DMARC: PASS, tutti attribuiti al tuo dominio e non a resend.dev o amazonses.com. Se DKIM mostra il tuo dominio ma SPF mostra amazonses.com senza allinearsi, controlla che i record del sottodominio send siano al loro posto. Puoi controllare a campione i record grezzi con dig TXT resend._domainkey.yourdomain.com, dig TXT send.yourdomain.com e dig MX send.yourdomain.com. Infine analizza il dominio con il check-up del dominio di Qualisend per confermare che ogni record si risolva e che il tuo SPF radice resti sotto il limite di 10 ricerche e, quando iniziano ad arrivare i report aggregati DMARC, caricane uno nell'analizzatore di report DMARC: Resend/Amazon SES dovrebbe comparire come sorgente allineata che supera i controlli.
Insidie comuni
- Copertura
I record di Resend stanno sul sottodominio send, non sul dominio radice. I registrar che aggiungono automaticamente il dominio trasformano send in send.yourdomain.com.yourdomain.com e resend._domainkey in un host duplicato: inserisci solo le etichette (send, resend._domainkey) e lascia che il pannello aggiunga il dominio.
- Copertura
Il valore MX dipende dalla regione e deve corrispondere a quella scelta quando hai aggiunto il dominio. Un dominio eu-west-1 con un MX feedback-smtp us-east-1 non viene verificato, e non puoi cambiare la regione di un dominio dopo averlo creato: eliminalo e aggiungilo di nuovo nella nuova regione, poi aggiorna l'MX.
- Copertura
Aggiungi un punto finale al valore MX (feedback-smtp.{region}.amazonses.com.), così il tuo registrar non accoda il tuo dominio producendo feedback-smtp.us-east-1.amazonses.com.yourdomain.com.
- Fa fallire l'autenticazione
Non aggiungere include:amazonses.com all'SPF del tuo dominio RADICE. L'SPF di Resend va sul sottodominio send; un include sul dominio radice per Resend non serve a nulla, spreca una delle 10 ricerche SPF del dominio radice e autorizza tutto Amazon SES a inviare a nome del tuo dominio radice.
- Configurazione DNS
Resend è basato su SES ma NON usa i tre CNAME Easy-DKIM di SES: pubblica un unico TXT DKIM (selettore resend) che genera lui. Non cercare selettori CNAME; incolla esattamente l'unica chiave TXT, poiché una chiave incollata in parte o con virgolette aggiunte è il motivo principale per cui DKIM fallisce ancora su un dominio “configurato”. È una chiave a 1024 bit, quindi il valore sta in una sola stringa: non dividerlo.
- Copertura
Gli indirizzi condivisi @resend.dev (onboarding@resend.dev, delivered@resend.dev ecc.) servono solo per provare l'API: non sono il tuo dominio e ti danno zero allineamento SPF/DKIM. Per inviare a nome tuo devi aggiungere e verificare il tuo dominio.
- Configurazione DNS
Sono record TXT e MX, non CNAME, quindi non c'è la trappola del proxy di Cloudflare (nuvola arancione); ma se Cloudflare ha già creato in automatico un SPF sul tuo dominio radice, lascialo stare: l'SPF di Resend è separato e sta sul sottodominio send.
- Copertura
Se su send.yourdomain.com hai già posta o un servizio attivo (un SPF, un MX o un sottodominio esistente), usa la funzione Custom Return Path di Resend per scegliere un altro sottodominio di Return-Path invece di entrare in conflitto con ciò che c'è già.
Crea il tuo record SPF
Resend non richiede un include: nel record SPF del dominio radice. Usa il generatore per comporre un unico record pulito per gli altri mittenti e tienilo su una sola riga.
Fonti di invio
Cerca ogni piattaforma con cui invii email e selezionala.
Cerca qui sopra la tua piattaforma email oppure .
Server propri del dominio
Autorizza il dominio stesso, se invia posta direttamente (non tramite una delle piattaforme sopra).
Altri mittenti e IP
Tutto ciò che non è nella lista: l'host SPF di un altro provider o indirizzi IP specifici.
Aggiungiamo noi il prefisso include:. Inserisci l'hostname indicato nella documentazione del provider.
Policy per tutti gli altri
Cosa devono fare i server riceventi con la posta proveniente da server non elencati sopra (il meccanismo all).
Ancora nessun mittente, quindi ogni messaggio finirebbe nella policy ~all. Aggiungi al passaggio 1 le piattaforme con cui invii.
- Pubblicalo come record TXT sul dominio radice: host @ (il dominio senza prefissi), come valore l'intera stringa qui sopra.
- Tieni un solo record SPF per dominio. Unisci tutte le fonti di invio in quest'unica riga. Un secondo record TXT che inizia con v=spf1 li rende entrambi non validi.
- Resta entro le 10 ricerche DNS. Contano come ricerche include:, a e mx, e un include può innescarne altre al suo interno; ip4: e ip6: sono gratuiti.
Autenticazione pubblicata? Il passo successivo è inviare a una lista pulita e verificata.
Verifica una listaSPF per Resend: domande frequenti
Letture correlate
Altri provider: Transazionali e API
Tutte le guide SPFDopo la pubblicazione, controlla con il check-up del dominio che tutti i record vengano risolti correttamente, poi scopri con l'analizzatore di report DMARC chi invia a tuo nome. Sfoglia tutte le fonti di invio nel generatore. L'autenticazione, però, è solo metà della deliverability: un IP o un dominio di invio in blacklist ti manda comunque nello spam, per quanto pulito sia il tuo SPF, quindi conviene tenere d'occhio le blacklist con il monitoraggio blacklist.
Dominio autenticato: ora mantieni pulita la lista
Superare SPF, DKIM e DMARC ti porta nella posta in arrivo; una lista pulita ti ci fa restare. Verifica la tua: inizia gratis con 100 crediti, senza carta di credito.