WordPress non invia email: come risolvere con SMTP
Uno dei problemi più comuni di WordPress è che le email non arrivano: notifiche di commenti, email di recupero password, conferme d’ordine WooCommerce, messaggi dai form di contatto. Il risultato? Utenti frustrati e opportunità perse. Il problema nella maggior parte dei casi è che WordPress usa la funzione PHP mail() che molti server bloccano o filtrano come spam. La soluzione è configurare l’invio tramite SMTP.
Perché WordPress non invia email
Di default, WordPress invia le email usando la funzione wp_mail(), che si appoggia alla funzione mail() di PHP. Questa funzione ha diversi problemi:
- Nessuna autenticazione: le email inviate via PHP mail() non hanno autenticazione SPF, DKIM o DMARC, quindi i server di posta le considerano sospette.
- Server che la bloccano: molti hosting condivisi disabilitano o limitano la funzione mail() per prevenire abusi e spam.
- Filtri antispam: Gmail, Outlook e altri provider filtrano le email senza autenticazione, mandandole nello spam o rifiutandole del tutto.
- Nessun log: non puoi sapere se l’email è stata inviata, consegnata o rifiutata.
Come verificare se le email funzionano
Prima di configurare SMTP, verifica se il problema esiste davvero:
- Installa il plugin WP Mail SMTP (versione gratuita).
- Vai su WP Mail SMTP → Strumenti → Test email.
- Inserisci il tuo indirizzo email e invia un test.
- Se l’email non arriva (controlla anche la cartella spam), hai confermato il problema.
In alternativa, puoi testare inviando un commento sul sito e verificando se ricevi la notifica, oppure usando la funzione “Password dimenticata” nella pagina di login.
La soluzione: configurare SMTP
SMTP (Simple Mail Transfer Protocol) è il protocollo standard per l’invio di email. Invece di usare la funzione PHP mail(), un plugin SMTP invia le email attraverso un server di posta autenticato, proprio come farebbe un client email (Gmail, Outlook).
Le email inviate via SMTP:
- Hanno autenticazione corretta (SPF, DKIM).
- Arrivano nella casella di posta principale e non nello spam.
- Vengono accettate da tutti i provider di posta.
- Possono essere monitorate con log di invio.
Configurare WP Mail SMTP con Gmail
Il plugin WP Mail SMTP è la soluzione più diffusa con oltre 3 milioni di installazioni. Ecco come configurarlo con Gmail:
- Installa e attiva WP Mail SMTP dalla repository di WordPress.
- Vai su WP Mail SMTP → Impostazioni.
- In Email da, inserisci l’indirizzo Gmail che vuoi usare per inviare.
- In Mailer, seleziona Other SMTP (o “Google / Gmail” se vuoi usare l’API OAuth).
- Configura i parametri SMTP:
- Host SMTP: smtp.gmail.com
- Crittografia: TLS
- Porta: 587
- Autenticazione: attiva
- Username: il tuo indirizzo Gmail
- Password: una password per le app (non la password del tuo account Google)
- Salva e invia un’email di test.
Nota importante: Gmail richiede una “password per le app” che puoi generare nelle impostazioni di sicurezza del tuo account Google. La password normale non funziona se hai attivato la verifica in due passaggi.
Alternative a Gmail: servizi SMTP dedicati
Gmail ha un limite di 500 email al giorno, che può essere insufficiente per siti con molto traffico o WooCommerce. Ecco le alternative professionali:
- Brevo (ex Sendinblue): 300 email/giorno gratuite. Ottimo per piccoli siti. Include statistiche di apertura e consegna.
- Mailgun: 1.000 email/mese gratuite (per 3 mesi). Affidabile e veloce, ideale per siti di medie dimensioni.
- SendGrid: 100 email/giorno gratuite. Popolare tra gli sviluppatori, API potente.
- Amazon SES: 62.000 email/mese gratuite se invii da un’istanza EC2. Il più economico per grandi volumi.
- SMTP del tuo hosting: molti hosting offrono un server SMTP incluso nel piano. Chiedi al tuo provider i parametri di configurazione.
Configurare i record DNS per migliorare la consegna
Per massimizzare la consegna delle email, configura questi record DNS nel pannello del tuo dominio:
- SPF: autorizza il server SMTP a inviare email per conto del tuo dominio. Esempio: v=spf1 include:_spf.google.com ~all
- DKIM: firma digitale che certifica l’autenticità dell’email. Il servizio SMTP ti fornirà il record da aggiungere.
- DMARC: politica che indica ai server riceventi come gestire email non autenticate. Record base: v=DMARC1; p=none; rua=mailto:tuo@email.it
Senza questi record, le email possono ancora finire nello spam anche usando SMTP.
Monitorare le email inviate
Dopo aver configurato SMTP, attiva il log delle email in WP Mail SMTP → Impostazioni → Log email. Questo ti permette di:
- Verificare quali email sono state inviate dal sito.
- Controllare se ci sono errori di invio.
- Reinviare email non consegnate.
- Avere uno storico delle comunicazioni inviate.
Serve assistenza?
Se WordPress non invia email e non riesci a configurare SMTP, o se hai bisogno di aiuto con i record DNS, il team di SoccorsoWP può configurare tutto per te e assicurarsi che le email del tuo sito arrivino sempre a destinazione. Apri un ticket e risolvi il problema delle email.