WordPress non invia le mail: Guida completa per risolvere questo fastidioso problema?

Una delle domande che riceviamo più spesso e come risolvere il problema di WordPress che non invia le email. Alcuni utenti principianti ci chiedono perché il loro formulario di contatto non invia le email o addirittura perché non ricevono nessun tipo di notifica da WordPress.

In questo piccolo articolo (circa 2000 parole e qualche decina di immagini circa) farò del mio meglio per spiegarti le cause di questo problema e ovviamente ti mostrerò le varie soluzioni che hai a disposizione.

Pronto? Ottimo, procediamo con la guida.

Perché WordPress non invia le mail?

Il motivo più comune e che il tuo hosting WordPress non e configurato per usare la funzione PHP mail().

Anche se permetterebbero l'utilizzo della funzione mail, moltissimi provider email usano una varietà di tool per ridurre il spam. Questi tool tentano di dimostrare che una mail arriva esattamente da dove dice di arrivare e molto spesso le mail inviate da WordPress non riescono a passare questo test.

In questi casi quando una mail viene inviata da WordPress, questa non riesce neanche ad arrivare nella cartella spam del destinatario. Questo e il motivo principale perché noi di tuttowp.it non raccomandiamo di usare WordPress per inviare le tue newsletter.

Questo e anche il motivo per quale raccomandiamo di usare un server SMTP per inviare le email di WordPress.

SMTP (Simple Mail Transfer Protocol) e lo standard per l'invio delle email. Al contrario della funzione mail di PHP, SMTP usa metodi corretti di autenticazione, cosa che aiuta a inviare correttamente le tue email senza nessun tipo di blocco.

Ci sono tantissimi servizi SMTP disponibili sul web, pero in questo articolo andrò a parlarti dei due servizi che noi usiamo personalmente e che raccomandiamo: MailGun e Gmail.

Come inviare le mail di WordPress usando MailGun? (max 10k mail al mese)

Mailgun e un provider email molto conosciuto. Permettono ai loro utenti di inviare grosse quantità di mail che hanno un'altissima probabilità di finire nella casella di posta in arrivo del utente invece che finire nello spam per esempio.

Io personalmente utilizzo questa soluzione per inviare tutte le mail di WordPress per TuttoWP. Non ho ancora incontrato problemi e non ho mai superato il limite di 10000 email al mese quindi non ho mai pagato nulla anche se ho messo la carta di credito (postepay) alla registrazione.

Siccome il loro business e inviare email, spendono un sacco di soldi per assicurarsi che le tue email arrivano a destinazione in maniera veloce e senza problemi.

Dovresti sapere che MailGun e un servizio a pagamento e che per avere le 10000 email gratuite da inviare tramite WordPress devi registrarti e aggiungere la tua carta di credito (va anche con la PostePay). In questo modo se superi e invii più di 10000 email al mese loro possono farsi pagare. Inoltre e un modo per evitare che tutti li spammer si inscrivono che vuol dire che e meglio per tutti quanti.

Ecco cosa devi fare per inviare le mail di WordPress usando MailGun.

Prima di tutto devi andare e registrarti sul sito di MailGun. Una volta registrato aggiungi il tuo dominio cliccando il tasto Add a custom domain.

Vedrai la pagina dove puoi aggiungere un nuovo dominio. Qui dovrai aggiungere un sotto dominio della tua installazione WordPress, per esempio io ho usato mail.tuttowp.it, tu puoi usare che dominio vuoi. Prima pero andiamo velocemente a vedere come aggiungere un sotto dominio sul cPanel.

Come aggiungere un sotto dominio su cPanel?

Per prima cosa apri cPanel e clicca sul icona Sotto domini sotto la sezione Domini.

Sulla pagina che ti si apre dovrai aggiungere il tuo sotto dominio per poi scegliere il dominio per quale vuoi creare questo sotto dominio dal menu a tendina.

Una volta fatto, clicca il tasto Crea e vedrai un messaggio di successo che ti informa che il tuo sotto dominio e stato creato.

A questo punto puoi usare il sotto dominio per MailGun che ti mostrerà alcuni record DNS che dovrai configurare per confermare che sei il proprietario del dominio.

Torna sul cPanel e vai al Editor di Zona Avanzato

Ti vera chiesto qual'e il dominio per quale vuoi cambiare le impostazioni DNS. Una volta che scegli il dominio ti saranno  presentate opzioni per aggiungere nuovi record DNS.

Il primo sarà il record TXT per il sotto dominio. Dovrai iniziare aggiungendo il sotto dominio nel campo Nome poi scegli TXT per il tipo di record.

Aggiungi 14400 come TTL e nel ultimo campo dovrai copiare il valore che ti viene dato da MailGun.

Ripeti l'intero processo anche per il secondo record TXT.

Una volta che hai aggiunto i due record DNS torna alla pagina principale di cPanel e aprire il menu Editor MX Avanzato dalla sezione dedicata alla posta.

Ti sarà chiesto il dominio per quale vuoi modificare i record MX, una volta scelto troverai le opzioni in fondo alla pagina dove potrai modificare e aggiungere record MX.

Aggiungi la priorità 10 e il valore che ti viene suggerito da Mailgun e salva. Dovrai farlo due volte perché MailGun usa due record.

Una volta aggiunti i due record MailGun verificherà che il tuo dominio hai i giusti record DNS. Ci vorrà un po i tempo per la verifica.

Puoi verificare andando sulla pagina Domains nel area utente di MailGun.

MailGun mostrerà il dominio come attivo una volta che verificherà i record DNS che hai aggiunto. Assicurati di seguire tutti i passi alla lettera e tutto funzionerà benissimo.

Una volta che il tuo dominio e attivo, puoi configurare la tua installazione WordPress all'invito delle email con l'aiuto di MailGun.

La prima cosa da fare e installare il plugin gratuito WP Mail SMTP

Dopo l'installazione dovrai visitare Impostazioni » WP Mail SMTP per configurare le impostazioni del plugin. Per prima cosa dovrai fornire l'indirizzo email da dove saranno inviate le email e ovviamente il nome di chi invia.

A seguire dovrai selezionare MailGun come mailer e seleziona la casella per “Set return-path to match the From Email”.

In fine dovrai fornire la chiave API che ti viene fornita da MailGun e il sotto dominio che hai impostato. Puoi cliccare i link “Get a private API key” per andare alla pagina dove prendere la API Key, e “Get a domain name” per recuperare il dominio da usare.

Non dimenticarti di salvare le impostazioni cliccando sul tasto Save Settings.

Con questo abbiamo finito, e puoi congratularti per avere impostato WordPress a inviare le email con l'aiuto di MailGun.

Come ultimo passo, puoi andare nella scheda “Email Test” sulla pagina delle impostazioni del plugin per provare e vedere se tutto funziona come dovrebbe.

Come inviare le mail di WordPress usando i server SMTP di Gmail?

Un'altra alternativa e inviare le mail di WordPress usando i server SMTP di Gmail. Puoi usare un account di Gmail gratuito per inviare le tue mail usando questo metodo.

Tieni pero presente che usando una mail personalizzata di Gmail dovrai usare il pacchetto di applicazioni aziendali che Google offre.

Per il resto delle istruzioni non ha importanza se usi una mail gratuita o una mail personalizzata a pagamento perché il resto delle istruzioni sono uguali.

Per prima cosa dovrai installare il plugin gratuito WP Mail SMTP.

Una volta installato e attivato dovrai visitare la pagina Impostazioni » WP Mail SMTP per configurare le impostazioni del plugin e inviare le mail di WordPress con i server SMTP di Gmail.

Per prima cosa dovrai fornire il tuo indirizzo email Gmail nel campo ‘From Email’ e il nome che vuoi venga mostrato come Mittente nel campo ‘From Name'.

A seguire dovrai andare più in basso alla pagina dove troverai la sezione Mailer. Per essere precisi, ci sono due metodi per inviare le mail di WordPress usando i server SMTP di Gmail.

Il primo metodo e quello di usare le API di Gmail per inviare le tue mail. Questo e il metodo raccomandato perché e più sicuro e affidabile. Il secondo metodo e quello di usare i server SMTP di Gmail.

Ti mostrerò entrambi i metodi pero mi raccomando invia le tue email usando le API di Gmail e non i server SMTP.

Metodo 1: Configurare Gmail per inviare le mail di WordPress usando le API di Gmail

Come prima cosa dovrai selezionale Gmail come mailer nelle impostazioni di WP Mail SMTP. Seleziona la casella “Set the return-path to match the From Email” in questo modo i messaggi che non vengono inviati ritornano con il messaggio di errore invece di andare persi per sempre.

A questo punto ti usciranno i campi per inserire il tuo Client ID, Client Secret e un URL nel campo “Authorized redirect.

Creare un App e generare un chiave API per Gmail

Per usare le API di Gmail per inviare le  mail di WordPress dovrai creare un'applicazione e generare una chiave API. Per farlo visita la Google Developers Console accedi o registrati e crea un nuovo progetto.

Ti sarà chiesto di dare un nome al tuo progetto cosi la prossima volta che sarai qui saprai a cosa serve quel progetto.

Clicca il tasto Crea per continuare.

La console dei developer ora crea il tuo progetto e ti porterà alla pagina di gestione di questo progetto. Google permette ai Developer (sviluppatori) di accedere e usare moltissime API.

Ora che il tuo progetto e pronto dovrai abilitare le API che serviranno per inviare le mail di WordPress usando Gmail.

Clicca sul tasto Enable APIs and services per continuare.

Questo ti porterà alla libraria con tutte le API disponibili. Ti basterà scrivere Gmail nella casella di ricerca per trovare le API di Gmail per poi cliccarle per selezionarle.

Vedrai un resoconto del API e di ciò che può fare. Clicca semplicemente su ‘Abilita' per continuare.

Adesso l'API di Gmail e attiva e bisogna creare delle credenziali di autenticazione che poi userai nelle impostazioni del plugin WP Mail SMTP.

Clicca il tasto Crea Credenziali per continuare.

Sulla schermata che ti esce quando clicchi Crea Credenziali dovrai selezionare ‘Web browser JavaScript’ nel campo ‘Da dove chiamerai l'API?. Dopo seleziona l'opzione ‘Dati Utente’ nella sezione A quali dati accederai?.

Per continuare clicca sul tasto azzurro ‘Di quali credenziali ho bisogno?'.

Ti sarà chiesto di dare un nome al cliente Oauth. Puoi nominarlo WP Mail SMTP cosi ti sarà facile riconoscerlo e sopratutto capire dove lo stai usando.

Nel campo Authorized Javasccript origins aggiungi il URL del tuo sito web. A seguire copiare e incollare il Authorized redirect URL che trovi nelle impostazioni del plugin WP Mail SMTP.

Clicca sul tasto ‘Refresh’ per continuare.

Adesso dovrai scegliere un nome per la schermata di consenso OAuth. Puoi usare WP Mail SMTP come nome se vuoi.

Clicca il tasto Set up consent screen e verrà aperta una nuova pagina dove dovrai compilare alcune informazioni prima di procedere. Screenshot qui sotto.

Una volta compilato tutte le informazioni clicca il tasto Salva giù in basso. Sarai portato a una pagina come questa che vedi nel screen qui sotto.

Dovrai prima cliccare il tasto blu Crea credenziali per aprire la tendina per poi selezionare ID Client OAuth.

Clicca sul tasto azurro Crea per continuare e ti verranno mostrate le tue credenziali cosi:

Una volta che clicchi OK sarai portato sulla pagina delle credenziali. Qui troverai le credenziali che hai appena creato. Dovrai cliccare modifica sul icona a forma e penna accanto alle tue credenziali.

Sarai portato sulla pagina delle credenziali dove sarai in grado di vedere il client secret key che dovrai copiare nelle impostazioni di WP Mail SMTP.

Abbiamo finito, ora che abbiamo le credenziali dovrai tornare sulla pagine delle impostazioni di WP Mail SMTP e salvare le impostazioni se hai già compilato tutti i campi con le informazioni giuste cioè il Client ID e il Client Secret che abbiamo creato prima.

Il plugin ora salverà le informazioni che li hai fornito e ricaricherà la pagina. Una volta ricaricata la pagina dovrai scendere in basso alla pagina delle Impostazioni e clicca sul tasto ‘Allow plugin to send emails using your Google account' cosi inizierai a usare il tuo conto Gmail per inviare le mail di WordPress.

Sarai portato su una pagina Google che ti chiederà se vuoi permettere al tuo sito di inviare email dal tuo account gmail.

Una volta permesso sarai portato indietro sul tuo sito dove troverai un messaggio per confermarti che tutto e andato bene.

Come ultima cosa dovrai andare nel tab Email Test e provare se tutto funziona.

Metodo 2: Configurare Gmail per inviare le email di WordPress usando i server SMTP di Gmail

Questo metodo permette a WP Mail SMTP di connettersi manualmente ai server SMTP di Gmail per inviare le mail di WordPress.

Dovrai visitare la pagina Impostazioni » WP Mail SMTP per configurare le impostazioni del plugin e inviare le mail di WordPress con i server SMTP di Gmail.

Per prima cosa dovrai fornire il tuo indirizzo email Gmail nel campo ‘From Email’ e il nome che vuoi venga mostrato come Mittente nel campo ‘From Name'.

Seleziona ‘Other SMTP’ come mailer e seleziona la casella vicino al return path.

Fai scroll in giù per configurare altre impostazioni.

Ecco i dati che dovrai usare:

  • SMTP Host: smtp.gmail.com
  • SMTP Port: 465
  • Encryption: Use SSL encryption
  • Authentication: Turn on authentication
  • Username: Il tuo indirizzo email Gmail come nel mio caso macesanu.madalin@gmail.com
  • Password: Qui devi inserire la password che usi per accedere al tuo conto Gmail, io ho inserito la password per la mia mail.

Clicca il tasto Save per salvare i dati. Hai finto la configurazione.

Abbastanza facile se si hanno le informazioni giuste. Adesso puoi eseguire un test dalla pagina delle impostazioni cosi puoi vedere se tutto funziona correttamente.

Mi auguro che questo articolo ti ha aiutato a risolvere questo fastidioso problema di WordPress che non invia le email.

Se hai altre soluzioni per favore fammelo sapere nel commenti.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *