Il tuo sito invia mail a casaccio?

Bentornato/a sulla rubrica del Fabbro,
La scorsa settimana ti ho suggerito delle buone abitudini da adottare per salvare le tue comunicazioni email dalla spazzatura… cioè perché non finiscano in SPAM. Se te lo fossi perso puoi recuperarlo subito qui.

Ho deciso di approfondire la tematica dello spam anche oggi per aiutarti a risolvere un problema comune a tantissimi siti WordPress e che può creare disastri su blog ed e-commerce.

Devi sapere che WordPress invia delle email automatiche quando gli utenti interagiscono con il tuo sito. Ad esempio, quando commentano un tuo articolo di blog, quando effettuano un acquisto sul tuo e-commerce, quando si iscrivono ad un’area riservata.

Il guaio è che, di default, i siti WordPress utilizzano la funzione “wp_mail()” per inviare queste comunicazioni, che fallisce il più delle volte e le fa finire nella spazzatura.

La funzione wp_mail() si basa sul linguaggio di programmazione PHP e può generare molti errori durante la fase di invio della posta elettronica per motivi diversi e, spesso, difficili da individuare.

Prova ad immaginare quante volte ci ho sbattuto la testa prima di trovare la soluzione!

Uno dei più comuni è il blocco della funzione wp_mail() da parte del tuo hosting, per questioni di sicurezza.

Proprio così. Il tuo hosting blocca le comunicazioni del tuo sito.

So che adesso stai odiando il tuo hosting, ma in realtà agisce per il tuo bene.

Devi sapere, infatti, che la funzione wp_mail() è particolarmente vulnerabile agli attacchi hacker.
Gli hacker si avvalgono spesso della funzione wp_mail() del tuo sito per inviare mail di spam… e senza il blocco farebbero disastri.

Quando si verifica questo scenario, inevitabilmente, i vari provider mail etichettano le comunicazioni provenienti dal tuo sito come spam.

Ma come puoi capire se le comunicazioni del tuo sito finiscono in spam oppure no?

Effettua questo test per capire se le comunicazioni del tuo sito finiscono nella spazzatura

test della mail
La schermata del plugin Check & Log Email

Don’t panic. Prima di fasciarti la testa cerca di capire se il tuo sito invia regolarmente le comunicazioni di sistema o se è il caso di intervenire.

In che modo? Puoi installare un plugin gratuito per effettuare un test. Scarica il plugin “Check & Log Email”, installalo e attivalo.

PS: se è la prima volta che senti parlare dei plugin e vorresti saperne di più fai riferimento a questa guida.

Grazie a questo plugin, puoi inviare manualmente una mail di sistema dal tuo sito WordPress ad un indirizzo di posta elettronica di tua preferenza e capire se il messaggio arriva o finisce in spam.

Nota: a volte può capitare che il messaggio non venga recapitato affatto! In quel caso non riuscirai a trovare la mail neanche all’interno della posta indesiderata.

Ti suggerisco di effettuare le prove su diversi indirizzi email che possiedi.
Perché anche tu ne hai almeno quattro o cinque, vero?
Assicurati che le comunicazioni del tuo sito vengano inviate correttamente su hotmail, gmail e libero.

Come posso fare se le comunicazioni del mio sito finiscono in spam?

Hai finito di effettuare test? Allora puoi disattivare ed eliminare il plugin Check & Log Email, che ti ho fatto installare in precedenza.

Adesso cerca invece il plugin “WP Mail SMTP” (quello con l’icona del piccione), installalo e attivalo.

schermata del plugin wp mail smtp

Grazie all’utilizzo di questo plugin puoi utilizzare come server di posta di invio il protocollo SMTP, che è sempre la soluzione più sicura (a prova di hacker, diversamente dalla funzione wp_mail) ed efficace.

“Sembra bello, Fabbro, ma cos’è un protocollo SMTP?”

Ottima domanda. Immaginatelo come un postino digitale che utilizza la strada più sicura per consegnare le comunicazioni del tuo sito.

Detto invece in termini tecnici, è un server che utilizza il linguaggio di programmazione standard per l’invio dei messaggi di posta elettronica.

Le email che invii fanno questo giro:

  1. il messaggio viene inviato attraverso la porta 25 di un server SMTP (solitamente “smtp.ilnomedeltuosito.it”).
  2. Server e client iniziano a comunicare tra loro. Il server si occupa esclusivamente di trasmettere il messaggio e non ha a che fare con il contenuto del messaggio.
  3. Se il dominio del destinatario è collegato al server in modo diretto, l’email viene consegnata immediatamente. Questo significa che se invii una mail dall’indirizzo info@iltuosito.it all’indirizzo amministrazione@iltuosito.it , quest’ultima viene recapitata senza problemi e nel giro di pochissimi istanti. Se invece invii una mail dall’indirizzo info@iltuosito.it ad un indirizzo email non associato al tuo dominio (ad es. info@isartidelweb.it), questa viene consegnata dal protocollo SMTP ad un altro server, di solito il più vicino a quello del ricevente. Questa operazione nel gergo tecnico si chiama “relay”.
  4. Cosa succede se il server del ricevente è occupato oppure indisponibile per un malfunzionamento? In questo caso il server SMTP consegna il messaggio ad un server ricevente di backup. Se non fosse disponibile neanche un server di backup, il messaggio va in coda. Ciò significa che la consegna verrà ri-tentata periodicamente. Nel caso in cui passi troppo tempo in coda (oppure nel caso in cui il server del ricevente non torni a funzionare), il messaggio email torna al mittente, con conseguente errore.
  5. Se invece non ci sono problemi, la presa in carico della parte finale del trasferimento della tua comunicazione email passa dal server SMTP a quello POP del ricevente. Questo server POP raccoglie la mail dal server di posta in entrata e la invia alla casella di posta elettronica del ricevente.

Per meglio comprendere questo percorso, dai un’occhiata allo schema qui sotto.

schema protocollo smtp

Come avrai capito, è davvero difficile che una mail inviata tramite protocollo SMTP non arrivi al destinatario. Chiaro, se sbagli a digitare l’indirizzo di posta elettronica del destinatario la mail non va da nessuna parte comunque, ma considera che il server SMTP è talmente educato da consegnarti un messaggio di errore privo di bestemmie (nonostante abbia dovuto lavorare inutilmente).

Proprio così: il server SMTP tivvibì.

Ora che ti ho convinto dell’efficacia del protocollo SMTP voglio aiutarti a configurarlo per l’invio delle comunicazioni di sistema del tuo sito.

Nella parte dell’articolo che segue ti mostrerò come configurare correttamente il plugin “WP Mail SMTP”, perciò è un buon momento per raccogliere tutta la tua concentrazione ed afferrare una tazza del tuo caffè preferito!

Guida alla configurazione del plugin WP Mail SMTP

Effettua l’accesso all’interno del pannello di controllo WordPress e, sulla barra laterale sinistra, collegati alla voce “WP Mail SMTP” -> “Settings”.

schermata wp mail smtp

Nella schermata seguente compila i campi:

  • From Email. Inserisci qui dentro la mail del mittente, così quando un utente riceverà notifiche dal tuo sito visualizzerà l’indirizzo email ad esso associato e lo riconoscerà subito.
  • Force from Email. Questa casella dovresti spuntarla sempre per sicurezza, perché fa in modo tale che altri plugin non possano in alcun modo sostituire l’indirizzo email del mittente da te scelto.
  • From Name. Inserisci qui il nome del mittente, ovvero il nome del tuo sito web.
  • Force from Name. Qui si applica lo stesso discorso già fatto per la casella “Force from email”. Spuntala ad occhi chiusi.
  • Return Path. Spunta questa casella: in questo modo non perdi tutti i messaggi che per qualsiasi motivo non vengono recapitati correttamente ai destinatari.

All’interno della sezione “Mailer”, quella in basso con le icone, spunta l’opzione “Other SMTP”.

Quando spunti l’opzione “Other SMTP” noterai che la schermata si allungherà automaticamente e che salteranno fuori altre opzioni da compilare.

I feel your pain, però don’t panic: in realtà abbiamo quasi finito!

Ricorda ASSOLUTAMENTE di spuntare la casella “Authentication” su ON. Questo è un passaggio chiave; se lo salti puoi dire addio per sempre alle comunicazioni mail del tuo sito web.

Compila così gli altri campi:

  • SMTP host. Qui inserisci il valore “smtp.ilnomedeltuosito.it” (oppure .com se l’estensione del tuo dominio per qualsiasi motivo è .com anziché .it).
  • Encryption. Qui scegli “TLS encryption”. Senza perderci troppo nel tecnichese, si tratta della modalità attraverso cui il protocollo SMTP crittografa i messaggi delle tue comunicazioni mail, per proteggerli da eventuali malintenzionati.
  • SMTP Port. Scegli la porta 587.
  • Username. Qui devi inserire l’indirizzo email completo che hai già scritto nell’opzione “From Email”.
  • Password. Qui devi inserire la password associata all’indirizzo email che hai scelto come mittente e che hai inserito anche in “Username”. Si tratta della password che utilizzi per accedere al tuo indirizzo di posta elettronica all’interno dei vari client, come Outlook, Thunderbird o Gmail.

Clicca il pulsante “Save settings” e bloccati lì, manca un ultimo passaggio.

Ci siamo quasi.

Portati in cima alla schermata e fai click sulla voce di menù “Email test”.

Dentro questa schermata puoi testare il funzionamento dei parametri che hai inserito e controllare che sia tutto a posto.

Inserisci i tuoi indirizzi di posta elettronica personali e fai click su “Send email”.

Come ti ho già suggerito di fare col plugin “Check & Log Email”, utilizza più indirizzi email per effettuare dei test.

Se i test riescono… complimenti! Vai a stappare una bottiglia di vino buono perché hai eseguito correttamente un’operazione avanzata e da questo momento in poi le comunicazioni mail del tuo sito non finiranno mai più nella posta indesiderata dei tuoi utenti!

schermata metal slug mission complete

Se i test non riescono… fammelo sapere nei commenti e ti darò una mano personalmente.

Scrivimi la configurazione che hai utilizzato oppure il messaggio di errore che ricevi dopo aver effettuato i test per aiutarmi a comprendere dove potresti aver sbagliato.

E poi non dire che il Fabbro non tivibbì!

Esistono altri plugin per sfruttare il protocollo SMTP per l’invio delle comunicazioni mail di WordPress?

Sì, ne esistono tanti altri ma posso confermarti con totale sicurezza che in questo momento il migliore è “WP Mail SMTP”.

Se mi segui da un po’ sai bene che testo sempre personalmente tutti i plugin sui miei siti prima di parlarne qui sulla mia rubrica.

Ciò significa che puoi fidarti totalmente dei plugin che menziono e installarli senza problemi.

È la prima volta che leggi uno dei miei articoli e stai cercando altri plugin utili come WP Mail SMTP da installare? Allora potresti trovare molto utile questa guida.

Conclusioni
Lo spam è sempre dietro l’angolo e affligge anche i tuoi siti WordPress ma per fortuna puoi correre ai ripari ed evitare che le tue comunicazioni finiscano nella spazzatura.

Se questa guida ti è stata utile scrivimelo nei commenti e, se vuoi continuare a leggere altri articoli come questo, iscriviti subito alla mia newsletter e assicurati di non perdertene neanche uno.

Puntuale come un orologio svizzero, riceverai direttamente nella tua casella di posta elettronica l’anteprima dei miei articoli ogni martedì mattina, perciò fai click qui e vedrai che… presto per te sarà facilissimo usare il martello per spaccare il web!

A martedì prossimo,
Il Fabbro

Tags

Commenti

2 ommenti

  • buongiorno Fabbro. tu mi vuoi bene e lo ripeti spesso ma a quanto pare ne wordpress ne ovh me ne vogliono. sto impazzendo per ogni cosa. ti mando intanto l’errore che mi esce per quanto riguarda questo argomento. Versions:
    WordPress: 6.0
    WordPress MS: No
    PHP: 7.4.25
    WP Mail SMTP: 3.4.0

    Params:
    Mailer: smtp
    Constants: No
    ErrorInfo: SMTP Error: Could not connect to SMTP host.
    Host: smtp.tantodicapello.it
    Port: 587
    SMTPSecure: tls
    SMTPAutoTLS: bool(true)
    SMTPAuth: bool(true)

    Server:
    OpenSSL: OpenSSL 1.1.1d 10 Sep 2019

    Debug:
    Email Source: WP Mail SMTP
    Mailer: Other SMTP
    SMTP Error: Could not connect to SMTP host.

    SMTP Debug:
    2022-06-22 10:32:30 Connection: opening to smtp.tantodicapello.it:587, timeout=300, options=array()

    2022-06-22 10:32:30 Connection failed. Error #2: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known [/home/vqydkuk/www/wp-includes/PHPMailer/SMTP.php line 389]

    2022-06-22 10:32:30 Connection failed. Error #2: stream_socket_client(): unable to connect to smtp.tantodicapello.it:587 (php_network_getaddresses: getaddrinfo failed: Name or service not known) [/home/vqydkuk/www/wp-includes/PHPMailer/SMTP.php line 389]

    2022-06-22 10:32:30 SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

    SMTP Error: Could not connect to SMTP host.

    intanto grazie.

    • Il Fabbro

      Ciao Eleonora e intanto grazie per aver commentato!
      Riusciresti a fornirmi qualche informazione sull’hosting che hai acquistato? È “hosting personale” di OVH? Quello che include 10 caselle di posta?
      Sospetto che il problema risieda nella configurazione DNS! Riesci a collegarti dentro OVH alla voce “Web Cloud”, poi a fare click sul dominio e su “Zona DNS” e inviarmi uno screenshot alla mail info@isartidelweb.it con oggetto “Configurazione DNS”?

Lascia un commento

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

Copyright 2024 © Upbrain srl | Via Giovanni Tommaso Blanch 22, 80143 – Napoli
P.iva 03625651207 – Cap. soc.: 10.000 euro – Nr. REA: NA-1074376
Ufficio del registro delle imprese di Napoli

Apri la chat
Hai bisogno di aiuto?
Ciao 👋
Hai bisogno di aiuto?