E-mail dal tuo dominio

Il tuo bot può scrivere ai tuoi clienti via e-mail da un indirizzo sul tuo dominio, per esempio noreply@example.com. Il messaggio però lo invia il nostro server. Per questo, prima del primo invio, occorre aggiungere una volta tre record al DNS del tuo dominio. Di seguito: perché serve, cosa aggiungere esattamente e cosa succede dopo.

Perché senza record DNS le e-mail non arrivano

Guardala dal lato di chi riceve: Gmail, Outlook o il server di posta del tuo cliente. Arriva un messaggio che dichiara di venire dal tuo dominio, ma arriva da un server che al tuo dominio non appartiene. È esattamente l'aspetto di una falsificazione: così funziona il phishing.

L'unico modo che il destinatario ha per distinguerli è chiedere al dominio stesso: «questo mittente agisce davvero a tuo nome?». La risposta la pubblichi nel DNS del tuo dominio, perché il DNS è l'unico posto di cui disponi solo tu e quindi l'unico a cui il destinatario crede.

Finché quella risposta manca, un server di posta coscienzioso deve trattare il messaggio come sospetto. Nel migliore dei casi finisce nello spam, nel peggiore viene rifiutato e il destinatario non saprà mai che esisteva.

I tre record qui sotto non sono quindi una formalità né una casella da spuntare. Sono la tua autorizzazione.

I tre record e cosa fa ciascuno

DKIM — la firma che dimostra l'autenticità

DKIM è una firma crittografica apposta a ogni messaggio in uscita. La piattaforma genera per il tuo dominio una coppia di chiavi: quella privata resta da noi e firma la posta, quella pubblica la pubblichi nel DNS. Il destinatario prende la chiave pubblica dal tuo DNS e verifica la firma. Se torna, il messaggio è stato inviato da chi possiede la chiave privata e il contenuto non è stato alterato per strada.

Senza DKIM: non c'è nulla con cui verificare la firma. Il messaggio appare non firmato e privo di credibilità, e nessun'altra impostazione lo compensa. DKIM è il più importante dei tre.

SPF — quali server possono inviare a tuo nome

SPF risponde a un'altra domanda: da quali server è ammessa posta per questo dominio. È un elenco di sorgenti: i server di posta del tuo hosting, i servizi di invio che già usi e, perché il bot possa scrivere, i nostri server di invio.

Senza SPF: il messaggio arriva da un server che il tuo dominio non riconosce. Per un filtro è un classico indizio di falsificazione, e si somma a ogni altro sospetto.

DMARC — cosa deve fare il destinatario se i controlli falliscono

DKIM e SPF rispondono a «il messaggio è autentico». DMARC risponde alla domanda successiva: cosa fare se non lo è. È la tua istruzione al destinatario: non fare nulla e limitarsi a segnalare, mettere nello spam, oppure rifiutare. DMARC è anche l'indirizzo a cui i destinatari inviano rapporti aggregati sulla posta a tuo nome, compresi i tentativi altrui di falsificazione.

Inizia con la politica più mite, «solo rapporti». Irrigidiscila più avanti, quando sei sicuro che tutti i tuoi mittenti legittimi (amministrazione, CRM, newsletter, questo bot) superino i controlli. Una politica severa attivata troppo presto comincia a mangiarsi la tua stessa posta.

Senza DMARC: ogni destinatario decide per conto suo e tu non scopri mai che fine fa la posta inviata a tuo nome.

Quali record aggiungere

Per prima cosa registra il dominio nel pannello: sezione Email«Sending domains» → pulsante «Add domain». La finestra ha tre campi: il dominio stesso (per esempio shop.example.com), la parte locale dell'indirizzo (quella prima della @, di solito noreply) e il nome del mittente che il destinatario vede al posto di un indirizzo. Dopo il salvataggio i tuoi record DNS compaiono a schermo.

Tutti e tre sono record TXT nel DNS del tuo dominio. Si aggiungono dove gestisci il dominio: il pannello del registrar o il tuo provider DNS.

I valori sotto usano example.com come esempio: sostituiscilo con il tuo. I valori esatti per il tuo dominio sono mostrati nella scheda del dominio nel pannello: copiali da lì, soprattutto DKIM, il cui valore contiene la tua chiave pubblica, diversa per ogni dominio e non ricavabile dalla documentazione.

A schermo ogni record è diviso in due campi separati — «Host» e «Value» — ciascuno con il proprio pulsante «Copy». Copiali uno per volta nei campi corrispondenti del tuo provider DNS: le due parti non si incollano come un blocco unico.

TipoNome del record (host)Valore
TXTmybot._domainkey.example.comv=DKIM1; k=rsa; p= seguito dalla lunga chiave presa dal pannello
TXTexample.com (radice del dominio)v=spf1 include:esp.getmybot.dev ~all
TXT_dmarc.example.comv=DMARC1; p=none; rua=mailto:dmarc@example.com

Due inciampi frequenti:

  • Molti pannelli aggiungono il dominio al nome da soli. Se il campo del nome mostra già «.example.com», inserisci solo mybot._domainkey e non il nome completo, altrimenti otterrai mybot._domainkey.example.com.example.com.
  • Il valore DKIM è lungo e non deve contenere a capo o spazi all'interno della chiave. Copialo con il pulsante, non trascinando con il mouse.

Se il dominio ha già un record SPF

Un dominio può avere un solo record SPF. Se già invii posta tramite hosting, CRM o un altro servizio di newsletter, esiste già. Non aggiungerne un secondo: integra quello esistente con un altro include, prima del ~all finale:

v=spf1 include:spf.tuoprovider.it include:esp.getmybot.dev ~all

Due record SPF su un dominio sono lo stesso errore di nessuno: il controllo non passa, perché il destinatario non può sapere a quale dei due credere.

Attenzione: essere «coperti» tramite il record di qualcun altro non basta. Anche se il tuo fornitore attuale ci include nel proprio SPF, il nostro include deve stare direttamente nel tuo record — il perché è più sotto, nella sezione sulla verifica del dominio.

Perché in SPF un include e non un indirizzo IP

L'errore più comune è incollare un indirizzo IP visto in un'intestazione o su un forum. Non farlo.

include:esp.getmybot.dev è un rimando al nostro elenco di server di invio, che manteniamo noi. Oggi quel nome punta a un solo relay. Domani potranno essere di più, spostarsi o essere sostituiti. Quando succederà aggiorneremo l'elenco dalla nostra parte e il tuo record continuerà a funzionare senza che tu debba toccare nulla. È tutto qui il senso: l'indirizzo cambia in un posto solo e non nel DNS di ogni cliente.

Un IP scritto a mano semplicemente smette di essere vero in quel momento. La posta comincia a fallire SPF senza alcun preavviso: nessun errore nel pannello, nessuna notifica. Lo scoprirai da clienti che «non hanno ricevuto niente».

Scrivi esattamente include:esp.getmybot.dev e non aggiungerci altro.

Verifica del dominio

Verificare il dominio significa che la piattaforma guarda da sé nel DNS del tuo dominio e conferma che i tre record sono a posto. Se tutti e tre passano, il dominio diventa verificato e l'invio è consentito. Finché uno non passa, resta in attesa.

Il controllo va oltre il semplice «il record esiste»:

RecordChe cosa viene davvero controllato
DKIMIl record è pubblicato e contiene la tua chiave pubblica. Un DKIM altrui, o vecchio di una chiave precedente, non passa.
SPFIl record esiste e contiene direttamente include:esp.getmybot.dev. Valori somiglianti come include:esp.getmybot.dev.dominio-altrui.example non contano.
DMARCUn record è pubblicato e inizia con v=DMARC1. La politica in sé (p=, rua=) non viene controllata: è una tua scelta, non un'autorizzazione per noi.

Perché DMARC è controllato in modo più lasco: dice ai destinatari cosa fare con gli esiti di DKIM e SPF, ma non ci dà il diritto di inviare a tuo nome. Quel diritto viene solo dai primi due record, ed entrambi sono verificati per contenuto in modo completo.

Un include altrui non conta

include:esp.getmybot.dev deve stare nel tuo record SPF. Se il tuo SPF include un fornitore terzo il cui record a sua volta include noi, la verifica non lo accetta: la piattaforma non risolve catene di include altrui. Il motivo è semplice: così la risposta a «questo dominio ci ha autorizzati?» resta univoca.

In pratica: anche se sei convinto di essere «coperto tramite il fornitore», aggiungi il nostro include direttamente al tuo record. Lo dice anche la schermata stessa, nella spiegazione del record SPF: se il dominio ha già un record SPF, aggiungi al suo interno il valore include:... invece di sostituire l'intero record, perché il dominio potrebbe inviare posta anche per altre vie. Quella nota è sempre visibile, non compare solo dopo una verifica fallita.

Il DNS non si aggiorna all'istante. Dopo il salvataggio presso il registrar i record devono propagarsi sui name server: di solito minuti, a volte ore, di rado fino a un giorno. Dipende dal tuo provider e dal TTL. È normale e non dipende da noi.

Aspettare passivamente però non serve. La piattaforma ricontrolla i domini in attesa una volta all'ora, ma nella scheda del dominio c'è il pulsante «Verify now»: lo stesso controllo eseguito subito, con il risultato immediatamente a video. Usalo appena salvati i record: se c'è un refuso lo scopri in un secondo e non in un'ora. Puoi ripeterlo quante volte vuoi.

Lo stato del dominio si vede nella scheda: «Pending verification», «Verified» o «Not verified». Finché non è verificato, la scheda riporta anche l'avviso «Sending from this domain is disabled until it is verified.»

L'esito non è un semplice «non superato». Ciascuno dei tre record ha a schermo il proprio stato — «Passing», «Not passing» o «Not checked yet» — e la propria riga che spiega che cosa non va.

Per l'SPF la schermata distingue due situazioni, ed è la distinzione che conta di più in tutto il percorso:

  • Il dominio non ha alcun record SPF. Pubblicane uno, con il valore della tabella qui sopra.
  • Un record SPF esiste ma non contiene il nostro include. Aggiungi l'include al record esistente: non crearne un secondo e non sostituirlo per intero. Lo stesso messaggio copre esplicitamente anche il caso della catena: se l'include ci raggiunge solo attraverso il record SPF di un altro fornitore, non conta, perché le catene non vengono risolte.

Il secondo caso è il momento più confuso dell'intero percorso: il record c'è già, l'hai appena riletto tu stesso, e la verifica continua a rifiutare. Il messaggio di errore ora dice esattamente ciò che dice la nota sempre visibile accanto al record: aggiungi il nostro include a quello che hai già.

Se la verifica non passa:

  1. Leggi quale dei tre record è segnato «Not passing» e che cosa dice la sua spiegazione, poi agisci di conseguenza.
  2. Assicurati che i record siano davvero pubblicati: molti pannelli richiedono un «applica modifiche» a parte.
  3. Controlla il nome del record per un dominio raddoppiato (vedi sopra).
  4. Controlla che il record SPF sia uno solo e che il nostro include stia in quel record stesso.
  5. Attendi un po' e riprova: la modifica potrebbe non essersi ancora propagata.

Finché il dominio non è verificato l'invio non funziona

Finché il dominio non è verificato, le e-mail non partono. Non «partono e finiscono nello spam»: non partono affatto, il tentativo fallisce con un errore di dominio non verificato, visibile nel registro.

È voluto, e non è un guasto. La posta da un dominio che non ha risposto di sé si traduce in segnalazioni di spam, e le segnalazioni danneggiano la reputazione di un'infrastruttura di invio condivisa da tutti i clienti della piattaforma. Non inviare un messaggio costa meno che inviarlo e poi passare sei mesi a uscire dalle blocklist. Da qui il divieto invece dell'avviso.

Se vedi questo errore, controlla i record DNS e lancia la verifica prima di scrivere all'assistenza. Nella stragrande maggioranza dei casi è un refuso nel nome di un record.

Disiscrizioni, segnalazioni e rifiuti

Tre regole che sorprendono chi non le conosce in anticipo.

Ogni messaggio promozionale contiene una disiscrizione in un clic. La piattaforma aggiunge da sé il link di disiscrizione nel piè di pagina e le intestazioni tecniche con cui il client di posta disegna un pulsante «Annulla iscrizione» accanto all'indirizzo del mittente. Non si può togliere: né con un'impostazione né impaginando il messaggio. La disiscrizione ha effetto subito, senza aprire il messaggio e senza passaggio di conferma. Gmail e gli altri grandi provider lo pretendono dai mittenti di massa: un messaggio che ne è privo finisce nello spam con certezza.

La disiscrizione è definitiva e non si annulla dall'interfaccia. Un indirizzo disiscritto non riceve più posta da questo bot. Non c'è un pulsante «ripristina» né una scorciatoia via reimportazione di una lista: la disiscrizione non viene mai annullata scavalcando la persona. Tornare può farlo solo lei, lasciando di nuovo il proprio indirizzo nel tuo modulo di iscrizione.

C'è un caso ancora più severo: se qualcuno ha premuto «Questo è spam» nel proprio client, l'indirizzo viene chiuso per sempre. Nemmeno una nuova iscrizione dal tuo modulo lo riapre, perché sappiamo già come è finito il tentativo precedente e scrivere a indirizzi simili è ciò che distrugge più in fretta la reputazione di un dominio. Gli indirizzi chiusi manualmente per richiesta legale si comportano allo stesso modo.

Un rifiuto definitivo sopprime l'indirizzo per sempre. Se il server del destinatario risponde che quella casella non esiste, l'indirizzo viene marcato come non recapitabile ed escluso dagli invii successivi. Non è uno stato temporaneo: continuare a bussare a una casella inesistente è la via più rapida ai filtri antispam, trascinandoci tutti gli altri indirizzi.

I rifiuti temporanei (casella piena, server momentaneamente irraggiungibile) non chiudono l'indirizzo: l'invio prosegue.

Perché le aperture risultano sottostimate

Le statistiche e-mail contengono un dato sulle aperture, ed è sempre inferiore alla realtà. Non è un errore di conteggio: è il modo stesso in cui le aperture si misurano.

Un'apertura viene registrata quando il client di posta, mostrando il messaggio, carica da un server una minuscola immagine di tracciamento. I client moderni non caricano immagini remote per impostazione predefinita; e quelli che le caricano (Apple Mail e simili funzioni per la privacy) lo fanno in anticipo per tutti, compresi quelli che il messaggio non l'hanno mai aperto. Nel primo caso l'apertura si perde, nel secondo viene attribuita a chi non c'era. Non esiste modo di contare le aperture con più precisione: né per noi né per nessun altro.

Per questo nell'interfaccia c'è una precisazione accanto al numero: è un limite inferiore, non una cifra esatta. Usalo per confrontare i messaggi fra loro, dove la stessa distorsione vale per tutti, ma non come risposta a «quante persone hanno letto il messaggio».

Se ti serve una metrica affidabile di coinvolgimento, guarda «Link clicks». Un clic su un link è un'azione reale di una persona reale; nessuno la compie in anticipo al posto suo. Anche «Delivered», «Unsubscribes», «Complaints» e «Bounces» si contano con esattezza: li riportano i server di posta, non un'immagine dentro un messaggio. Tutto questo sta nel blocco «Sending stats» della stessa schermata Email.

Cosa leggere dopo

  • Canali — multicanalità e capacità dei canali.
  • Trasmissioni — invio a molti destinatari.
  • Analisi — dove vedere i numeri.