Gratis · nessun account

Verifica SPF e DMARC

Controlla online i record SPF, DMARC, MTA-STS e CAA di un dominio e scopri come viene valutato ciascuno. Inserisci il dominio da cui invii la posta, per esempio example.com anziché www.example.com.

Un controllo gratuito delle impostazioni pubbliche del sito. Il tuo sito web non viene modificato.

Nessuna registrazione Nessun traffico distruttivo Controlli di siti web pubblici
Riferimento dei record

Che cosa fa ogni record e come viene valutato

La verifica legge questi record sul nome host che inserisci. L’assenza di SPF, DMARC e MTA-STS viene segnalata solo se l’host ha record MX, perché un host che non riceve posta non ne ha bisogno allo stesso modo.

RecordDove viene pubblicatoCome dovrebbe essereCome lo valuta questa verifica
MXRecord MX sul nome host.Presenti sui domini che ricevono posta.Contati e mostrati; da soli non sono mai un rilievo.
SPFUn record TXT che inizia con v=spf1 sul nome host.Esattamente un record SPF che elenca ogni servizio che invia posta per il dominio.Assente quando l’host ha record MX: medio. Il testo del record viene mostrato.
Meccanismo all di SPFL’ultimo termine del record SPF.-all o ~all.+all: alto. ?all: basso. -all e ~all non segnalano nulla.
Lookup DNS di SPFI termini include, a, mx, ptr, exists e redirect del record.Al massimo dieci termini che richiedono un lookup DNS.Più di dieci nel record di primo livello: medio. Le destinazioni include: non vengono espanse, quindi i lookup annidati non sono contati.
DMARCUn record TXT che inizia con v=DMARC1 su _dmarc.example.com per example.com.p=quarantine o p=reject quando i report mostrano che tutta la posta legittima passa.Assente quando l’host ha record MX: medio. p=none: basso. quarantine o reject: superato. sp, pct, rua e allineamento non vengono valutati. Su un sottodominio i destinatari applicano anche la policy DMARC del dominio organizzativo, che questo controllo non legge.
MTA-STSUn record TXT che inizia con v=STSv1 su _mta-sts.example.com, più un file di policy sull’host mta-sts.Sia il record sia il file di policy, in modalità enforce dopo i test.Record assente quando l’host ha record MX: basso. Viene controllato solo il record DNS; il file di policy non viene scaricato.
CAARecord CAA sul nome host.Record che indicano solo le autorità che emettono i certificati che usi.Qualsiasi record CAA: superato. Nessuno: basso. Il contenuto non viene confrontato con il tuo certificato. Su un sottodominio le autorità che emettono certificati rispettano anche il CAA del dominio padre, che questo controllo non legge.
DKIMRecord TXT su selector._domainkey.example.com.Una chiave per ogni servizio che firma la tua posta.Non controllato: i nomi dei selector non si possono scoprire dal solo DNS.

Report TLS, DNSSEC e BIMI non vengono controllati.

Come correggere

Come correggere i problemi SPF e DMARC più comuni

Modifica un record alla volta e lascia al DNS il tempo di aggiornarsi prima di controllare di nuovo. Gli esempi usano example.com e servizi segnaposto; sostituiscili con il tuo dominio e con i servizi che inviano davvero la tua posta.

Pubblica DMARC in modalità di monitoraggio

Aggiungi un solo record TXT su _dmarc del dominio del tuo indirizzo From. p=none non cambia la consegna, e rua chiede ai destinatari report aggregati che mostrano quali server inviano posta a nome del tuo dominio e se superano SPF o DKIM con allineamento. Se i report vanno a un altro dominio, quel dominio deve pubblicare un record che li autorizzi.

; DMARC record for example.com, monitoring only
_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

; Only if rua points to another domain, for example rua=mailto:reports@example.net,
; example.net publishes:
example.com._report._dmarc.example.net.  TXT  "v=DMARC1"

Passa a quarantine, poi a reject

Quando i report mostrano che tutte le fonti legittime passano, passa a p=quarantine, osserva di nuovo i report, poi passa a p=reject. La RFC 7489 offriva pct per applicare la policy a una parte della posta che fallisce. La RFC 9989, che la sostituisce, elimina pct perché i valori parziali venivano applicati in modo disomogeneo, e aggiunge t=y, che chiede ai destinatari di applicare un livello sotto la policy pubblicata. I destinatari che seguono ancora la RFC 7489 ignorano t=y, quindi durante il test aggiungi anche pct=0: chiede loro lo stesso trattamento di un livello inferiore. Rimuovi entrambi i tag per applicare la policy.

; Publish one version at a time, in this order, after p=none
; 1. Quarantine in test mode (t=y, plus pct=0 for RFC 7489 receivers), then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
; 2. Reject in test mode, then in full
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; t=y; pct=0; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"

Un solo record SPF per dominio

Un nome può avere un solo record TXT che inizia con v=spf1; con due, SPF fallisce con un errore permanente. Riunisci tutti i mittenti in un solo record. include: controlla il record di un provider, e redirect= affida l’intera policy a un altro dominio, utile quando più domini condividono una policy. redirect= viene ignorato se il record contiene anche un termine all.

; Before: two SPF records on one name (permerror)
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

; After: one record
example.com.  TXT  "v=spf1 include:_spf.mailhost.example include:spf.newsletter.example ~all"

; Another domain that uses the same policy
example.org.  TXT  "v=spf1 redirect=example.com"

Al massimo dieci query DNS

SPF ammette al massimo dieci termini che richiedono una query DNS, contando ogni include annidato: include, a, mx, ptr, exists e redirect. Uno in più e SPF fallisce con un errore permanente. Rimuovi gli include dei servizi che non usi più, sostituisci a e mx con intervalli ip4 o ip6 che controlli, elimina ptr e sposta un mittente massivo su un sottodominio con un proprio record SPF. Copiare gli indirizzi di un provider nel tuo record fa risparmiare query, ma la copia diventa obsoleta quando il provider li cambia. Questa verifica conta solo i termini di primo livello.

; One lookup each: include, a, mx, ptr, exists, redirect (plus every lookup inside an include)
; No lookup: ip4, ip6, all

; Before: 4 lookups in the top-level record alone
example.com.       TXT  "v=spf1 a mx include:_spf.mailhost.example include:spf.oldtool.example ~all"

; After: fixed address, unused service removed, bulk mail on its own subdomain
example.com.       TXT  "v=spf1 ip4:192.0.2.10 include:_spf.mailhost.example ~all"
news.example.com.  TXT  "v=spf1 include:spf.newsletter.example ~all"

Scegli ~all o -all con attenzione

Chiudi il record con ~all (softfail) o -all (fail), mai con +all, che fa passare qualsiasi server. -all è il segnale più severo, ma un destinatario che controlla SPF presto può allora rifiutare la posta inoltrata prima che DMARC veda la sua firma DKIM valida. Con una policy DMARC applicata, ~all lascia la decisione a DMARC. Un dominio che non invia posta può pubblicare v=spf1 -all.

; Choose one ending for example.com, not both
example.com.  TXT  "v=spf1 include:_spf.mailhost.example ~all"
example.com.  TXT  "v=spf1 include:_spf.mailhost.example -all"

; A domain that sends no mail
example.net.  TXT  "v=spf1 -all"

Allinea DKIM al tuo dominio From

DMARC passa quando SPF o DKIM passano per un dominio allineato all’indirizzo From. Molti servizi firmano per impostazione predefinita con il proprio dominio: DKIM passa, l’allineamento no. Attiva in ogni servizio la firma con il tuo dominio, così che la firma porti d=example.com, e pubblica la chiave o il CNAME che il servizio ti indica sotto il suo selettore. L’allineamento relaxed, quello predefinito, accetta qualsiasi sottodominio dello stesso dominio organizzativo; adkim=s e aspf=s richiedono una corrispondenza esatta.

; Key for a sending service, selector s1: a CNAME or a TXT record, as the service says
s1._domainkey.example.com.  CNAME  s1.dkim.mailhost.example.
s1._domainkey.example.com.  TXT    "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."

; Aligned signature in a delivered message: d= matches the From domain
From: news@example.com
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s1; ...

Una modifica DNS può impiegare quanto il TTL del record precedente per raggiungere ogni resolver. Poi esegui di nuovo la verifica sul dominio del tuo indirizzo From, perché legge esattamente il nome host che inserisci.

Leggere il risultato

Come leggere ogni stato.

  1. 01SuperatoIl record è stato trovato e supera il controllo.
  2. 02Basso · Medio · AltoUn record manca o è impostato in un modo che questo controllo segnala. Il livello è lo stesso usato dallo snapshot completo.
  3. 03OsservatoÈ stato rilevato un record, ma il controllo non ha prodotto né un superamento né un rilievo.
  4. 04Nulla osservatoIl controllo è stato eseguito ma non ha trovato alcun record da mostrare.
  5. 05Non applicabileIl controllo non si applica, per esempio SPF o DMARC quando l’host non ha record MX.
  6. 06Non misuratoIl lookup DNS non è riuscito, quindi il controllo non conta come superato.
Ambito

Che cosa non fa questa verifica.

  1. 01Legge i record sul nome host esatto che inserisci. Per www.example.com interroga www.example.com e _dmarc.www.example.com, non example.com.
  2. 02Il nome host deve risolversi in un indirizzo. Un dominio usato solo per la posta, senza record A o AAAA, non ottiene risultati qui.
  3. 03Non controlla DKIM, i report TLS né DNSSEC, e non espande i termini include: di SPF.
  4. 04I record di posta vengono letti solo dal DNS pubblico e non viene inviata alcuna email. La stessa esecuzione invia anche alcune richieste ordinarie alla home page per gli altri sette controlli. Non è un test di recapito, né una scansione delle vulnerabilità, né un test di penetrazione.
  5. 05Il risultato è una vista istantanea; le modifiche DNS possono richiedere tempo per raggiungere ogni resolver.
FAQ

Domande sul controllo SPF e DMARC.

Perché www.example.com non mostra alcun record SPF?

La verifica legge il nome host esatto. I record di posta di solito stanno sul dominio da cui invii la posta, quindi inserisci direttamente example.com.

p=none è sbagliato?

p=none è la modalità di monitoraggio. È un primo passo normale mentre leggi i report DMARC, quindi è valutato basso. Passa a quarantine o reject quando tutta la posta legittima passa.

Perché DKIM non viene controllato?

Le chiavi DKIM sono pubblicate con nomi di selector che conoscono solo i servizi di invio, quindi non si possono trovare dal solo DNS. Controllale nelle impostazioni di ogni servizio che invia la tua posta.

Verifica se la mia posta arriva nella casella di posta in arrivo?

No. I record di posta vengono letti solo dal DNS pubblico e non viene inviata alcuna email; la stessa esecuzione invia anche alcune richieste ordinarie alla home page per gli altri controlli. Non è una scansione delle vulnerabilità né un test di penetrazione. L’arrivo nella casella di posta dipende anche dal servizio di invio, dalla sua reputazione e da ogni messaggio.

Un dominio può avere due record SPF?

No. Se un nome ha più di un record TXT che inizia con v=spf1, SPF restituisce un errore permanente per ogni messaggio. Unisci i meccanismi in un solo record; un record lungo può essere diviso in più stringhe tra virgolette all’interno dello stesso record, che i destinatari uniscono senza aggiungere spazi.

Perché DMARC fallisce se SPF passa?

SPF controlla il mittente della busta, spesso un dominio di bounce del tuo servizio di posta, non il dominio del tuo indirizzo From. Quel risultato conta per DMARC solo quando i due domini sono allineati. In ogni servizio, configura la firma DKIM con il tuo dominio oppure un mittente della busta personalizzato su uno dei tuoi sottodomini.

Quanto tempo devo restare su p=none?

Finché i report aggregati non mostrano che tutte le fonti legittime passano con un dominio allineato, compresa la posta che parte solo una volta al mese, come le fatture. Per i domini i cui utenti scrivono a mailing list, la RFC 9989 sconsiglia reject; se lo scegli comunque, resta prima almeno un mese su none e altrettanto su quarantine.

Passo successivo

Trasforma i problemi rilevati in un piano di correzione chiaro.