
🔧 Perché WordPress non invia email e come risolverlo
Hai controllato la tua email e non hai trovato nulla. Nessun messaggio di reset della password, nessuna conferma d'ordine, nessuna email di test dal modulo di contatto. I clienti contattano l'assistenza, ma le risposte non arrivano mai. WordPress resta in silenzio e non riesci a capire perché.
Questo problema è dolorosamente familiare a chiunque abbia lanciato un sito WordPress. Il server di posta predefinito funziona tramite mail(), una funzione PHP integrata. I provider di hosting spesso la bloccano e i messaggi finiscono nello spam o non vengono affatto inviati.
Spoiler: si può risolvere in 15-20 minuti configurando un server SMTP. Ecco un'analisi passo passo delle cause, la diagnostica e due metodi di configurazione funzionanti: via API Gmail e via Mailgun. Niente panico, ci sono gli screenshot.
💡 Panoramica rapida:
- Verifica se il server di posta di WordPress è attivo, il plugin
Check Emailmostra la situazione reale in un minuto - Scopri perché
mail()è inaffidabile e come SMTP risolve il problema - Configura Gmail SMTP con OAuth 2.0, passo dopo passo, dalla Google Console allo stato verde
- Collega Mailgun tramite
WP Mail SMTP, per i siti con traffico che hanno bisogno di più di 100 email al giorno - Rispondi a domande comuni: perché le email finiscono nello spam, quale porta scegliere, cosa fare con gli errori di autenticazione
Perché WordPress non invia le email
WordPress utilizza di default la funzione wp_mail(), che internamente chiama la funzione PHP mail(). Il problema è che mail() è un meccanismo di base, senza autenticazione. I moderni servizi email come Gmail, Yahoo e Outlook richiedono crittografia e verifica del mittente. Senza questi requisiti, i messaggi vengono bloccati dall'hosting o contrassegnati come spam dal destinatario.
La seconda causa comune è la mancanza dei record DKIM e SPF nel DNS. Si tratta di firme digitali che dicono ai server di posta: «il mittente è legittimo, il messaggio non è contraffatto». Senza di essi, Gmail invierà il tuo messaggio direttamente nella cartella «Spam».
Infine, la colpa può essere dei plugin. Alcune soluzioni anti-spam e i plugin per moduli di contatto intercettano la coda di posta e bloccano gli invii «sospetti». Questo è particolarmente vero per gli invii massivi, per i quali mail() è fondamentalmente inadatto.
Come verificare il funzionamento del server di posta di WordPress
Prima di immergerti nelle impostazioni SMTP, escludi lo scenario di un mail() non funzionante. Il plugin Check Email fa esattamente questo: invia un messaggio di test attraverso il meccanismo standard di WordPress e mostra il risultato.
Installa Check Email dal repository di WordPress (Plugin → Aggiungi nuovo → cerca "Check Email"), attivalo e vai su Strumenti → Check Email. Inserisci il tuo indirizzo, clicca "Invia email di test" e in un paio di secondi vedrai un report.

Controlla le cartelle «Posta in arrivo» e «Spam». Se il messaggio è arrivato, mail() funziona e il problema è in un plugin specifico (modulo di contatto, WooCommerce). Contatta l'assistenza di quel plugin. Se non c'è alcun messaggio, mail() è bloccato dall'hosting e hai bisogno di SMTP.
Come configurare SMTP via Gmail in WordPress
SMTP (Simple Mail Transfer Protocol) è un protocollo con autenticazione e crittografia. A differenza del semplice mail(), le email via SMTP superano la verifica dell'identità, non vengono bloccate dall'hosting e raramente finiscono nello spam.
Il primo metodo è il plugin Gmail SMTP, che collega WordPress direttamente al tuo account Google tramite OAuth 2.0. Ha oltre 100 recensioni su WordPress.org e aggiornamenti regolari. La versione gratuita consente di inviare fino a 100 email al giorno, il che è sufficiente per un piccolo sito o blog.
Installa Gmail SMTP dal repository ufficiale di WordPress, attivalo.

Poi ti serve Google Cloud Console. Vai su console.cloud.google.com, crea un nuovo progetto.

Nella barra laterale, seleziona «API e servizi» → «Credenziali», clicca «Crea credenziali» e scegli «ID client OAuth». Il sistema ti chiederà di configurare la schermata di consenso, specifica il tipo «Esterno» e compila i campi obbligatori (nome applicazione, email di assistenza). Clicca «Salva e continua».

Torna alla creazione dell'ID client OAuth: il tipo di applicazione è «Applicazione web», il nome è «Gmail SMTP».

Ora torna all'amministrazione di WordPress: nelle impostazioni del plugin Gmail SMTP, copia l'URL di reindirizzamento autorizzato.

Torni alla Google Console, incolli l'URL copiato nel campo «Authorized redirect URIs» e salvi. Dopo il salvataggio comparirà una finestra con Client ID e Client Secret: copi entrambi i valori e li incolli nei campi corrispondenti del plugin.
Indichi l'indirizzo Gmail da cui verranno inviate le email (lo stesso usato per creare il progetto), compili il campo «From Email Address», imposti «From Name» (il nome del sito). La porta SMTP è 587 per TLS. Se utilizza un certificato SSL, imposti 465. Clicchi su «Save Changes», poi su «Grant Permission» e completi l'autenticazione Google.

Dopo la concessione riuscita, il plugin mostrerà lo stato verde «Connected». Invii un'email di test: se arriva, la configurazione è completata.
Come configurare Mailgun per inviare email in WordPress
Se il sito ha bisogno di più di 100 email al giorno e vuole un'infrastruttura di recapito affidabile, valuti Mailgun. È un servizio di posta per sviluppatori con un piano gratuito fino a 100 email al giorno (la ricezione è gratuita), mentre i piani a pagamento partono da $35 al mese per 50.000 email. Il vantaggio principale è l'analisi dettagliata del recapito: può vedere se un'email è stata aperta o no, se è finita nello spam.

Si registri su mailgun.com. Dopo aver creato l'account, aggiunga un dominio: Mailgun le chiederà di inserire un sottodominio (ad esempio, mg.your-site.com) e fornirà i record DNS: TXT per la verifica, MX per l'instradamento della posta e CNAME per il tracciamento delle aperture.
Acceda al pannello del suo hosting (cPanel, ISPmanager o simile), apra l'editor DNS e aggiunga i record forniti da Mailgun:
- Record TXT: Name è il sottodominio, Type è TXT, TTL è 14400, TXT Data è il valore dal pannello Mailgun
- Record MX: nella sezione «MX Entry», inserisca priorità e destinazione fornite da Mailgun
- CNAME: per il tracciamento di aperture e clic
L'aggiornamento DNS richiede da pochi minuti a 48 ore. Verifichi lo stato nella sezione «Domains» del pannello Mailgun: quando compare «Active», può procedere.
Per connettere Mailgun a WordPress, installi WP Mail SMTP, il plugin SMTP più diffuso con oltre 3 milioni di installazioni attive. Vada su Impostazioni → WP Mail SMTP, in «From Email» specifichi un indirizzo sul suo dominio, in «From Name» il nome del sito. Nel campo «Mailer», selezioni «Mailgun».

Incolli la Private API Key dal pannello Mailgun (sezione «API Keys») e il nome di dominio che ha registrato. Attivi l'opzione «Set the return path to match the From Email»: allinea l'indirizzo di ritorno e riduce la probabilità di finire nello spam. Clicchi su «Save Settings» e invii un test tramite la scheda «Email Test».
Video tutorial: configurare SMTP in WordPress
Se preferisce guardare un video piuttosto che leggere, ecco un tutorial su come configurare SMTP in WordPress, dall'installazione del plugin alla prima email inviata:
⁉️🤔 Domande frequenti
Perché le email da WordPress finiscono nello spam anche con SMTP configurato?
Nella maggior parte dei casi il problema è la mancanza dei record SPF e DKIM nel DNS del dominio. Senza questi, il server di posta del destinatario non può verificare che il tuo server abbia il diritto di inviare email da quel dominio. Aggiungi un record TXT SPF (
v=spf1 include:_spf.google.com ~allper Gmail o simile per Mailgun) e una chiave DKIM dal pannello del servizio di posta. Il secondo fattore è la reputazione dell'IP: sugli hosting economici, l'indirizzo IP potrebbe essere stato segnalato per invii di spam prima di te.
Quale porta SMTP scegliere: 587 o 465?
La porta
587con TLS è lo standard moderno raccomandato dallo IETF per l'invio di email dai client. La porta465con SSL è un'alternativa obsoleta ancora supportata da molti provider per compatibilità. Usa587con TLS, a meno che il servizio di posta non richieda esplicitamente la465.
Il plugin SMTP di Gmail dà un errore di autenticazione. Cosa fare?
Le tre cause più comuni: gli URL di reindirizzamento non corrispondono (verifica che lo stesso indirizzo sia nella Google Console e nel plugin), l'applicazione in Google Cloud è in stato "Test" (passa a "Produzione" o aggiungi la tua Gmail all'elenco degli utenti di test), oppure l'autenticazione a due fattori di Google è attiva senza una password per le app (crea una password per le app nelle impostazioni di sicurezza di Google).
Posso inviare mailing massivi via SMTP di Gmail?
No. Gmail ha limiti rigidi: 100 email al giorno tramite il plugin
Gmail SMTP, fino a 2000 tramite Google Workspace. Per email marketing e invii regolari, usa Mailgun, Brevo (ex Sendinblue) o SendGrid: hanno integrazioni con WordPress e un'infrastruttura di recapito dedicata.
Mi serve un piano Mailgun a pagamento per un sito piccolo?
Il piano gratuito di Mailgun (100 email al giorno) è sufficiente per un sito medio: notifiche di ordine WooCommerce, reset password, conferme di registrazione, email dal modulo contatti. Un piano a pagamento ha senso quando il volume giornaliero supera il centinaio o hai bisogno di analisi delle aperture con conservazione dei log superiore a 24 ore.
Perché non dovrei affidarmi alla funzione mail() integrata in WordPress?
La funzione
mail()non autentica il mittente, non cifra la connessione e non aggiunge firme DKIM/SPF. La maggior parte dei provider di hosting la blocca a livello di server (per il rischio di attacchi spam) oppure fa passare il traffico attraverso IP condivisi con bassa reputazione. Il risultato: le email non arrivano in una percentuale significativa di casi, e quelle che arrivano sono spesso marcate come spam.
Vale la pena passare a SMTP adesso
Se le email di reset password non partono dal tuo sito, i clienti non ricevono le notifiche d'ordine e il modulo contatti è muto, la risposta è chiara: ti serve SMTP oggi. Non è una questione di "se ne valga la pena", è una questione di "quale esattamente".
Per un blog personale e una landing page, la combinazione Gmail SMTP con il tuo account Gmail è sufficiente. Configurala in 20 minuti e dimenticatene. Per un sito con prodotti, corsi o utenti, scegli WP Mail SMTP con Mailgun: il piano gratuito copre le esigenze di un tipico negozio online, e le analisi sul recapito ti avviseranno se qualcosa va storto.
Non rimandare. Mentre leggi questo paragrafo, il cliente di qualcuno non ha ricevuto un'email di conferma. SMTP risolve questo problema una volta per tutte.



