# DKIM: cos’è la firma delle email e come si configura

> Il DKIM firma le tue email con una chiave pubblicata nel DNS. Verifica gratis la tua, trova il selettore e scopri come si pubblica una chiave nuova.

Fonte: https://www.infomail.it/aggiornamenti-per-il-servizio-dkim/ · Infomail, piattaforma italiana di email marketing di Hoplo S.r.l. · pubblicato il 2 febbraio 2024 (2024-02-02), aggiornato il 22 ottobre 2026 (2026-10-22)

Nel febbraio 2024 questa pagina annunciava un costo di attivazione del DKIM per i nuovi
domini. Non vale più: oggi in Infomail il DKIM per i nuovi domini è incluso. Al posto
dell’annuncio c’è la guida, con il controllo in testa.

Il DKIM (*DomainKeys Identified Mail*) è una firma digitale che chi spedisce aggiunge a ogni
email. Lavora con due chiavi: quella privata resta sul server che spedisce e firma i
messaggi, quella pubblica sta nel DNS del tuo dominio, dove chiunque può leggerla. Il server
che riceve la usa per controllare due cose: che la firma l’abbia messa chi controlla il
dominio e che il messaggio non sia stato modificato per strada. Lo standard è la
[RFC 6376](https://www.rfc-editor.org/rfc/rfc6376), del 2011.

Somiglia al sigillo di ceralacca sulla busta, con una differenza a nostro favore: la
ceralacca si può rifare, una firma DKIM senza la chiave privata no.

Rispetto all’[SPF](https://www.infomail.it/come-impostare-lo-spf/), che guarda da quale server è partita l’email,
il DKIM ha un vantaggio pratico: viaggia dentro il messaggio. Se un cliente gira la tua
newsletter a un collega senza toccarla, la firma resta valida.

## Dove sta la chiave: il selettore

La chiave pubblica non sta sul dominio, ma su un nome costruito così:

```
selettore._domainkey.tuodominio.it
```

Il *selettore* è il nome che chi firma ha dato alla chiave. Esiste perché un dominio può avere
più chiavi nello stesso momento, una per ogni servizio che firma, senza che si pestino i piedi
([RFC 6376, §3.1](https://www.rfc-editor.org/rfc/rfc6376#section-3.1)). Serve anche a
cambiare chiave senza interruzioni: si pubblica la nuova con un altro selettore, si sposta la
firma, poi si ritira la vecchia.

Dal DNS però non si può avere l’elenco dei selettori di un dominio: bisogna conoscerne il
nome. Lo strumento prova quelli più diffusi, e se il tuo si chiama in un altro modo ti
risponde «non trovato» anche se la chiave c’è.

## Come trovare il selettore

È scritto in ogni email firmata, nell’intestazione `DKIM-Signature`.

1. Apri un’email spedita dal dominio che vuoi controllare, per esempio una che hai mandato a
   te stesso su un indirizzo Gmail.
2. Mostra il messaggio originale: in Gmail è nel menu con i tre puntini, alla voce «Mostra
   originale».
3. Cerca la riga che comincia con `DKIM-Signature`. Il valore dopo `s=` è il selettore, quello
   dopo `d=` il dominio che ha firmato, che deve essere il tuo.
4. Scrivi il selettore nel campo in testa alla pagina e premi **Controlla**.

Nella stessa pagina Gmail mostra in alto l’esito di SPF, DKIM e DMARC per quel messaggio. Se
accanto a DKIM c’è PASS e il dominio è il tuo, la firma funziona.

## Come si leggono la firma e il record

### La firma nel messaggio

Un’intestazione DKIM somiglia a questa (le parti lunghe sono accorciate):

```
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuodominio.it;
  s=catapulta; h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=AuUoFEfDxTDkHlLXSZEpZj79…
```

| Tag | Cosa contiene |
| --- | --- |
| `d=` | Il dominio che firma. Per il DMARC è quello che conta |
| `s=` | Il selettore, cioè dove cercare la chiave pubblica |
| `a=` | L’algoritmo. Oggi `rsa-sha256`; `rsa-sha1` è vietato dalla [RFC 8301](https://www.rfc-editor.org/rfc/rfc8301) |
| `h=` | Le intestazioni firmate: se una cambia, la firma non torna |
| `bh=` | L’impronta del corpo del messaggio |
| `b=` | La firma vera e propria |
| `c=` | Quanto la verifica tollera spazi e a capo aggiunti per strada |

### Il record nel DNS

Il record della chiave è un TXT con pochi tag
([§3.6.1](https://www.rfc-editor.org/rfc/rfc6376#section-3.6.1)):

```
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx3f…IDAQAB
```

- `v=DKIM1` dice che è una chiave DKIM e, se c’è, va per primo.
- `k=` è il tipo di chiave: `rsa`, il valore predefinito, oppure `ed25519`, più corta,
  arrivata con la [RFC 8463](https://www.rfc-editor.org/rfc/rfc8463) nel 2018.
- `p=` è la chiave pubblica. Vuoto vuol dire chiave revocata: le email firmate con quel
  selettore non superano più il controllo.
- `t=y` dichiara che il dominio sta facendo prove, e chi riceve tratta i messaggi come se non
  fossero firmati.

### Quanto deve essere lunga la chiave

La [RFC 8301](https://www.rfc-editor.org/rfc/rfc8301) vieta le chiavi RSA sotto i 1024 bit e
chiede di usarne almeno 2048. Gmail, per gli account personali, accetta da 1024 bit in su e
consiglia 2048 se il fornitore del DNS li supporta. La scheda DKIM del controllo ti dice
quanti bit ha la tua.

## Come si pubblica una chiave DKIM

La chiave non la inventi: te la dà il servizio che firma le email, che ne tiene la parte
privata. A te tocca pubblicare quella pubblica.

1. Prendi dal servizio il nome e il valore del record. Il nome è del tipo
   `selettore._domainkey`, il valore comincia con `v=DKIM1`.
2. Crea un record TXT con quel nome nel pannello DNS. Attenzione: molti pannelli aggiungono
   da soli il dominio in fondo, e se scrivi `catapulta._domainkey.tuodominio.it` il nome
   diventa `catapulta._domainkey.tuodominio.it.tuodominio.it`. Nel dubbio scrivi solo
   `catapulta._domainkey`.
3. Incolla il valore così com’è, senza virgolette in più e senza a capo.
4. Salva, poi chiedi la verifica al servizio o ripeti il controllo con il selettore.

Una chiave RSA da 2048 bit supera i 255 caratteri che un singolo pezzo di testo di un record
TXT può contenere. Alcuni pannelli la dividono da soli in più stringhe, altri chiedono di
farlo a mano. Chi riceve le riunisce senza aggiungere spazi
([§3.6.2.2](https://www.rfc-editor.org/rfc/rfc6376#section-3.6.2.2)): puoi tagliare in
qualsiasi punto, purché non aggiungi e non perdi caratteri.

## Gli errori che rompono la firma

- La chiave sul nome sbagliato: il dominio raddoppiato di cui sopra, un punto di troppo,
  `_domainkeys` al plurale: il record c’è, ma non dove lo cerca chi riceve.
- La chiave copiata male: uno spazio nel mezzo, le virgolette incollate dentro il valore, un
  pezzo perso andando a capo. Il controllo se ne accorge perché non riesce a misurarne la
  lunghezza.
- La firma con il dominio di qualcun altro. Se non pubblichi una chiave tua, alcuni servizi
  firmano con il loro dominio: la firma è valida, ma `d=` non è il tuo e per il DMARC non
  conta.
- La chiave vecchia cancellata troppo presto. Cambi fornitore e togli il record mentre le
  ultime campagne stanno ancora partendo, o mentre il gestionale firma ancora con quella. Si
  pubblica la nuova, si aspetta, poi si spegne la vecchia.
- `t=y` dimenticato dopo le prove: le email risultano firmate, ma la firma non conta.
- Il messaggio cambiato dopo la firma. Una lista di distribuzione che aggiunge un piè di
  pagina, un filtro aziendale che riscrive i link: se cambia una parte firmata, la verifica
  fallisce. Non dipende da te, ed è uno dei motivi per avere anche l’SPF.

<figure class="schermata">
  <img src="https://www.infomail.it/media/app/domini-invio.webp" alt="Domini di invio con lo stato di verifica di DKIM, SPF e DMARC" width="1824" height="334" loading="lazy" decoding="async">
  <figcaption>Lo stato dei tre record del dominio mittente, ricontrollato periodicamente.</figcaption>
</figure>

## Il DKIM con Infomail

Nella pagina dei **Domini di invio** scegli tra due strade: lasciare che Infomail generi una
chiave nuova, RSA da 2048 bit, oppure importare una chiave che hai già. In tutti e due i casi
vedi il nome del record, del tipo `catapulta._domainkey.tuodominio.it` se non hai scelto un
selettore tuo, e il valore da incollare. Per i nuovi domini non costa niente in più.

Con la chiave pubblicata le campagne partono firmate con il tuo dominio in `d=`, cioè
allineate per il DMARC. Dopo la pubblicazione premi **Verifica DNS**; chi ti gestisce il DNS
può ricevere le istruzioni direttamente dalla piattaforma. Infomail ricontrolla DKIM e SPF al
momento di ogni invio. I passaggi uno per uno sono nella guida
[Inserire un nuovo mittente](https://www.infomail.it/help/inserire-un-nuovo-mittente/), e per tutto il resto ti
assistiamo per la configurazione del mittente.

## Le richieste di Gmail e Yahoo sul DKIM

Per tutti i mittenti basta SPF o DKIM; per chi spedisce molto servono entrambi, insieme al
DMARC (le regole, in vigore da febbraio 2024, le avevamo raccontate
[quando sono state annunciate](https://www.infomail.it/gmail-e-yahoo-modificano-le-policy-antispam-entro-febbraio-2024/)).
Sulla chiave le indicazioni sono queste:

- Gmail vuole almeno 1024 bit e ne consiglia 2048
  ([linee guida di Google](https://support.google.com/a/answer/81126));
- Yahoo indica lo stesso minimo di 1024 bit
  ([pratiche consigliate di Yahoo](https://senders.yahooinc.com/best-practices/)).

Quando Gmail respinge un messaggio per il DKIM, il codice nell’errore è 4.7.30 o 5.7.30
([domande frequenti di Google](https://support.google.com/a/answer/14229414)). La soglia dei
mittenti massivi e il resto dei requisiti sono nella
[guida al DMARC](https://www.infomail.it/come-impostare-il-dmarc-per-lemail-marketing/#cosa-chiedono-gmail-e-yahoo).

## Domande frequenti

### Nell’originale dell’email vedo «DKIM: fail». Cosa controllo?

Tre cose, in quest’ordine. Che il selettore in `s=` abbia una chiave pubblicata (il controllo
qui sopra te lo dice). Che quella chiave sia la stessa che il servizio usa per firmare: capita
che venga rigenerata e il DNS resti con la vecchia. Infine, se il messaggio è passato da una
lista di distribuzione o da un inoltro che l’ha modificato: in quel caso il problema non è il
record.

### Ogni quanto va cambiata la chiave?

Le regole non fissano una scadenza. Cambiala quando cambi fornitore, quando chi aveva accesso
alla chiave privata non lavora più con te, o se temi che sia finita dove non doveva. Pubblica
la nuova con un selettore diverso: la RFC 6376 sconsiglia di riusare un selettore per una
chiave nuova, e così le email ancora in viaggio restano verificabili.

### Il DKIM basta contro chi si spaccia per me?

Da solo no. Dimostra quale dominio ha firmato, ma chi truffa può firmare con un dominio suo e
mettere il tuo nel «Da». Il controllo che li collega è il DMARC.

### Ho più domini: serve una chiave per ciascuno?

Sì, almeno un record per dominio: la firma vale per il dominio scritto in `d=`, e chi riceve
cerca la chiave sotto quel dominio. Se spedisci con `tuodominio.it` e `tuodominio.com`,
pubblichi il record su tutti e due.

### Conviene una chiave ed25519?

È più corta e più moderna, e la RFC 8463 chiede ai server che ricevono di saperla verificare.
Chi la adotta, di solito, firma due volte, con una chiave RSA e una ed25519 su due selettori
diversi, come suggerisce la stessa RFC per il periodo di transizione. Se il servizio con cui
spedisci non te la propone, la RSA da 2048 bit va benissimo.
