Le email di WordPress finiscono nello spam: le cause vere e come risolvere

Il modulo di contatto dice “messaggio inviato”. Il cliente non riceve niente, e due giorni dopo ti scrive su un altro canale chiedendo se lo stai ignorando. Non stai ignorando nessuno. È l’email che non è mai arrivata: finita nello spam, o scartata ancora prima di entrare nella casella del destinatario.
In questo articolo ti spiego perché succede, perché il problema sembra essersi aggravato proprio adesso, come risolvere la causa principale con l’invio via SMTP (il protocollo che i server di posta usano per scambiarsi messaggi in modo autenticato, al contrario del semplice “spedisci e spera” di PHP), e cosa controllare intorno per non ritrovarti di nuovo qui tra sei mesi.

Perché WordPress manda le email nello spam
La causa quasi sempre è la stessa, a prescindere dal plugin che hai installato. WordPress internamente usa una funzione chiamata wp_mail(), che si appoggia alla libreria PHPMailer. Di default, però, quella libreria consegna la posta tramite la funzione PHP mail(), che si limita a passare il messaggio al server di hosting, senza nessuna autenticazione crittografica che dimostri che il mittente sei davvero tu.
Importante: cambiare plugin del modulo di contatto non risolve niente. Contact Form 7, WPForms, Gravity Forms usano tutti wp_mail() sotto il cofano, e falliscono allo stesso identico modo su un sito senza SMTP configurato.
A questa causa se ne sommano quasi sempre altre due:
- Record DNS mancanti o errati. Senza SPF, DKIM e DMARC configurati sul dominio, i provider di posta non hanno modo di verificare che l’email arrivi davvero da te. Ne parlo più avanti: è il punto dove si arena la maggior parte dei siti.
- Reputazione dell’IP condiviso. Su hosting condiviso, il tuo indirizzo di invio è lo stesso di centinaia di altri siti. Se anche uno solo finisce in blacklist, la penalità in parte ricade su tutti.
Il contenuto dell’email conta meno di quanto si pensi di solito. Nel 2026 i deliverability lead sono abbastanza concordi (fonte: Omnisend): l’ossessione per le “parole spam” e per il rapporto testo/immagine è un consiglio superato. Contano soprattutto autenticazione, quanto i destinatari interagiscono con le tue email, e quante persone le segnalano come spam.
Perché il problema è esploso proprio adesso
Se ti sembra peggiorato di recente, non è un’impressione. Da febbraio 2024 Gmail e Yahoo hanno reso obbligatorie, non più solo consigliate, alcune regole per chi invia più di 5.000 email al giorno: autenticazione SPF, DKIM e DMARC (almeno in modalità di sola osservazione), un link di disiscrizione in un click, e un tasso di segnalazioni spam sotto lo 0,3%.
La soglia dei 5.000 invii al giorno può far pensare che un piccolo sito ne sia escluso. Nella pratica i filtri sono diventati più severi in generale, non solo per chi la supera. A novembre 2025 Google ha inasprito ulteriormente l’enforcement, passando da ritardi temporanei nella consegna a rifiuti permanenti per chi non è in regola. Microsoft ha introdotto regole simili per Outlook, Hotmail e Live.com a maggio 2025.
Risultato: un sito che tre anni fa consegnava senza problemi le sue email transazionali con PHP mail() oggi le trova nello spam, senza aver cambiato niente lato WordPress. È cambiato il filtro, non il sito.

Come risolvere: l’invio SMTP autenticato
Consiglio: prima di toccare qualsiasi impostazione, manda un test da mail-tester.com. Avere un punteggio di partenza ti fa lavorare su dati reali, non alla cieca.
Scegli un plugin SMTP
- FluentSMTP: gratuito e open source, con logging completo delle email e oltre 10 connessioni SMTP senza paywall. È la scelta più solida se non vuoi un plugin che spinge continuamente verso l’upgrade a pagamento.
- WP Mail SMTP: lo standard di mercato, oltre 4 milioni di installazioni, con una configurazione guidata comoda se non sei pratico di queste impostazioni. Logging e tracciamento email restano riservati alla versione Pro.
- Post SMTP: il piano gratuito più completo per la diagnostica. Registra gli errori, ha un failover automatico se il primo servizio non risponde, e supporta l’autenticazione OAuth 2.0 con Gmail e Microsoft 365, così eviti di scrivere la password in chiaro nelle impostazioni.
Scegli un servizio di invio transazionale
Il plugin da solo non basta: gli serve un servizio esterno a cui appoggiarsi per l’invio vero e proprio.
- Sotto i 9.000 invii al mese, Brevo va bene: 300 email al giorno gratis per sempre, contatti illimitati. Nel piano free però ogni email porta il branding Brevo, e toglierlo costa circa 10,80$ al mese.
- Per volumi alti, Amazon SES è il più economico: 0,10$ ogni 1.000 email. Richiede più impostazione tecnica (dalle 4 alle 16 ore, secondo quanto conosci AWS) e fattura per ogni singolo destinatario, non per invio.
- Per la massima affidabilità, Postmark ha ottenuto il 98,7% di recapito in inbox in un test indipendente del 2026 (Hackceleration), contro il 95,3% di SendGrid. Il piano gratuito però copre solo 100 email al mese: di fatto, un tier di prova.
Collega il plugin e forza il mittente
Nel plugin inserisci le credenziali API o SMTP fornite dal servizio scelto, poi attiva l’opzione “Force From Email” (o equivalente). Da quel momento ogni email del sito parte da un indirizzo coerente sul tuo dominio, non da un mix di mittenti diversi a seconda del plugin che l’ha generata.
Verifica che funzioni
Manda un’altra email di test e ricontrolla il punteggio su mail-tester.com. Se prima eri a 5 o 6 su 10 e ora superi l’8, la parte più difficile è fatta. Il resto, DNS e contenuto, arriva nella prossima sezione.
Le altre correzioni: DNS, hosting condiviso, contenuto
Configura SPF, DKIM e DMARC
SMTP autenticato non basta se il dominio non conferma di essere d’accordo con quell’invio. Servono tre record DNS:
- SPF (Sender Policy Framework, elenca chi può spedire per conto del tuo dominio): un solo record TXT che comincia con
v=spf1, mai due. Esempio:v=spf1 include:spf.brevo.com ~all. Attenzione al limite di 10 lookup DNS: superarlo blocca l’intero record, ed è la causa più comune di “l’SPF ha smesso di funzionare dopo che ho aggiunto un altro servizio”. - DKIM (firma crittografica del messaggio): di solito un record CNAME o TXT che generi dalla dashboard del provider scelto, con valori specifici per il tuo account.
- DMARC: un record TXT su
_dmarc.tuodominio.comche dice ai provider cosa fare se SPF o DKIM falliscono. Vai per gradi. Parti dav=DMARC1; p=none; rua=mailto:dmarc@tuodominio.comper osservare senza bloccare niente, poi dopo 2-4 settimane di report puliti passa ap=quarantine, infine ap=reject. L’intero percorso richiede in genere 4-6 settimane.
Attenzione: qui si arena quasi tutti. SPF e DKIM possono risultare “passati” singolarmente, e DMARC fallire comunque: chiede che il dominio nel campo From corrisponda a quello validato da SPF o da DKIM, basta uno dei due ma deve essere quello giusto. Su Amazon SES e Mailgun, ad esempio, SPF di default non si allinea: serve un sottodominio dedicato per il mittente. Su Brevo con IP condiviso, SPF non si allinea affatto, e l’allineamento passa solo tramite DKIM.
Per verificare, apri un’email arrivata su un Gmail che controlli e clicca su “Mostra originale”. Le tre righe di autenticazione devono risultare tutte “PASS”, DMARC compreso.
Se sei su hosting condiviso
Su hosting condiviso (Aruba e simili) il tuo IP di invio è quello di centinaia di altri domini. È l’effetto condominio: se uno spedisce spam, l’IP finisce in blacklist e la posta legittima di tutti gli altri ne risente. Ci sono casi documentati sui forum italiani di email spedite da server Aruba, condivisi e anche dedicati, che finiscono in spam solo su Outlook pur con SPF corretto, perché Microsoft pesa la reputazione dell’IP più di quanto faccia Google.
La soluzione più pratica resta un relay transazionale esterno come quelli visti sopra: bypassa del tutto l’IP dell’hosting e usa quello, già reputato, del provider. Un IP dedicato è un’alternativa, ma va “scaldato” con un volume di invio costante prima di guadagnarsi fiducia. Non risolve subito, e per un sito piccolo spesso non vale la spesa.
Cura il contenuto delle email
Conta meno del DNS, ma conta. Almeno il 60% di testo rispetto alle immagini, mai email fatte di una sola immagine, massimo 2-3 link e mai shortener come bit.ly. Nei form, l’email del visitatore va sempre nel campo Reply-To, mai nel From: è l’errore più comune nei plugin di contatto, e fa fallire proprio l’allineamento DMARC di cui parlavo sopra.
Se il sito manda anche newsletter o email di marketing, non solo transazionali, da febbraio 2024 serve il pulsante di disiscrizione in un click: due header tecnici, List-Unsubscribe e List-Unsubscribe-Post, che la firma DKIM deve coprire, altrimenti Gmail non lo mostra.
Come verificare che le email arrivino davvero
“Email inviata” nell’interfaccia di WordPress significa solo che è uscita dal server. Non che qualcuno l’abbia ricevuta. Tre strumenti gratuiti coprono la maggior parte dei casi:
- mail-tester.com: un punteggio su 10, il primo test da fare sempre, prima e dopo ogni modifica.
- Google Postmaster Tools: il dato più affidabile perché arriva direttamente da Gmail. Tasso di segnalazioni spam, esito di SPF/DKIM/DMARC, stato di conformità. La soglia da rispettare è lo 0,1% di spam rate, e da giugno 2024 chi supera lo 0,3% perde ogni possibilità di “mitigazione” da parte di Google (fonte: Gmail Help).
- MXToolbox: controlla DNS e blacklist in un colpo solo.
Con questi tre, gratis, copri circa il 90% dei problemi tipici in meno di mezz’ora a settimana.

Checklist: cosa controllare, in ordine
- Hai testato lo stato attuale con mail-tester.com prima di cambiare qualcosa?
- L’email in Impostazioni → Generali di WordPress è sul tuo dominio, non un Gmail generico?
- Hai scelto un plugin SMTP (FluentSMTP, WP Mail SMTP o Post SMTP) e un servizio transazionale adatto al tuo volume?
- Il plugin è collegato al servizio e il “Force From” è attivo?
- Hai pubblicato SPF, DKIM e DMARC (
p=noneper iniziare) sul dominio? - Hai verificato che DMARC risulti “PASS”, non solo SPF e DKIM, su un invio reale?
- Nei form, l’email del visitatore è nel Reply-To e mai nel From?
- Se mandi anche marketing, hai attivato il one-click unsubscribe con gli header giusti?
- Hai registrato il dominio su Google Postmaster Tools e controlli lo spam rate?
- Sei su hosting condiviso e il problema resta solo su Outlook? Valuta un relay esterno o un IP dedicato.
Se dopo questa lista l’unica cosa che manca è il tempo per seguirla, soprattutto per la parte DNS (dove un errore di battitura costa ore di propagazione perse), è il genere di lavoro che faccio abitualmente per i clienti che gestisco. Scrivimi se vuoi parlarne.


