Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
WordPress

Contact Form 7: Email Non Arrivano? Problemi Comuni e Soluzioni

Gianluca Gentile
Gianluca Gentile
· 10 min di lettura

Il Problema piu Comune di Contact Form 7: Le Email Non Arrivano

Se hai installato Contact Form 7, configurato il tuo modulo di contatto e testato la invio solo per scoprire che la email non arriva nella tua casella di posta, non sei solo. Questo e il problema piu segnalato dagli utenti di Contact Form 7 e, piu in generale, di WordPress. La frustrazione e comprensibile: il modulo sembra funzionare perfettamente, il messaggio di conferma appare dopo la invio, ma la email di notifica non raggiunge mai il destinatario. In molti casi, il visitatore non sa nemmeno che il suo messaggio non e stato ricevuto, portando a opportunita commerciali perse e clienti insoddisfatti.

La buona notizia e che nella stragrande maggioranza dei casi il problema ha una soluzione. In questa guida analizzeremo tutte le possibili cause, dalla piu semplice alla piu complessa, fornendo soluzioni passo per passo per ciascuna. Al termine della lettura, sarai in grado di diagnosticare e risolvere qualsiasi problema di recapito email legato a Contact Form 7.

Perche le Email di WordPress Non Arrivano

Per comprendere il problema, e necessario capire come WordPress invia le email. Per impostazione predefinita, WordPress utilizza la funzione PHP mail(), che e il metodo di invio email piu basilare disponibile su un server web. Questa funzione ha diverse limitazioni critiche:

Passo 1: Controllare la Cartella Spam

Prima di tutto, verifica la cartella spam (o posta indesiderata) della casella email configurata come destinatario nel modulo. In molti casi, le email di Contact Form 7 vengono recapitate correttamente ma classificate come spam dal provider email. Se trovi la email nella cartella spam, contrassegnala come “Non spam” e aggiungi la email mittente alla lista dei contatti attendibili.

Se le email finiscono costantemente nello spam, il problema e quasi certamente legato alla mancanza di autenticazione. La soluzione definitiva e configurare un server SMTP autenticato, come vedremo nei passaggi successivi.

Passo 2: Verificare la Configurazione del Modulo

Apri il modulo in Contact Form 7 e controlla la scheda Email. Verifica i seguenti punti:

Campo “A”: la email del destinatario e corretta e scritta senza errori di battitura? Un singolo carattere sbagliato impedira il recapito.

Campo “Da”: la email mittente utilizza il dominio del tuo sito? Se il tuo sito e su miosito.it, il campo Da deve contenere una email come noreply@miosito.it. Utilizzare gmail.com o yahoo.it come dominio mittente causera quasi certamente il rifiuto della email.

Non usare [your-email] nel campo Da. Questo e uno degli errori piu comuni. Se inserisci il mail-tag della email del visitatore nel campo Da, stai dicendo al server di inviare una email “da” un indirizzo che non appartiene al tuo dominio, il che viola le politiche antispam di tutti i principali provider email.

Configurazione della scheda Email in Contact Form 7 con i campi Da e A evidenziati

Passo 3: Installare e Configurare WP Mail SMTP

La soluzione piu efficace e affidabile per i problemi di recapito email e installare il plugin WP Mail SMTP. Questo plugin sostituisce la funzione php mail() con una connessione SMTP autenticata, risolvendo la maggior parte dei problemi in un colpo solo.

Installazione

Vai su Plugin > Aggiungi nuovo, cerca “WP Mail SMTP” e installa il plugin di WPForms (quello con oltre 3 milioni di installazioni attive). Attiva il plugin e vai su WP Mail SMTP > Impostazioni.

Pagina integrazioni e impostazioni per la configurazione SMTP su WordPress

Configurazione del Mailer

WP Mail SMTP supporta diversi mailer. Ecco le opzioni principali:

Altro SMTP (Generic SMTP): utilizza le credenziali SMTP del tuo hosting o provider email. Richiede: server SMTP, porta (465 o 587), tipo di crittografia (SSL o TLS), nome utente e password. Questa opzione funziona con qualsiasi provider email.

Gmail / Google Workspace: configurazione dedicata per account Gmail o Google Workspace. Richiede la creazione di una app OAuth 2.0 nella Google Cloud Console. E la opzione migliore se utilizzi Gmail come email aziendale.

Brevo (ex Sendinblue): servizio di email transazionale con un piano gratuito che permette 300 email al giorno. E una soluzione eccellente per siti con traffico moderato. Richiede solo una API key.

SendGrid: servizio di email transazionale professionale con un piano gratuito fino a 100 email al giorno. Offre statistiche dettagliate, tracking delle aperture e dei clic.

Mailgun: servizio orientato agli sviluppatori con un piano di prova che include 5.000 email gratuite per i primi 3 mesi. Ottimo per siti con volumi elevati.

Test di Invio

Dopo la configurazione, vai su WP Mail SMTP > Strumenti > Test Email. Inserisci un indirizzo email di test e clicca su “Invia Email”. Se il test va a buon fine, vedrai un messaggio di conferma verde. In caso di errore, il plugin mostrera un messaggio diagnostico dettagliato che ti aiutera a identificare il problema.

Effettua il test inviando email a diversi provider (Gmail, Outlook, Yahoo) per verificare che il recapito funzioni su tutti. Se il test di WP Mail SMTP funziona ma le email di Contact Form 7 non arrivano, il problema potrebbe essere nella configurazione del modulo CF7 piuttosto che nel sistema di invio.

Passo 4: Verificare SPF, DKIM e DMARC

Anche con SMTP configurato, le email potrebbero essere rifiutate se il tuo dominio non ha i record di autenticazione DNS corretti. Verifica la presenza dei record SPF, DKIM e DMARC nel pannello DNS del tuo dominio. Per una spiegazione dettagliata di questi record, consulta la nostra guida alla configurazione email e SMTP.

Puoi verificare rapidamente i tuoi record DNS utilizzando strumenti online gratuiti come MXToolbox o Mail Tester. Questi strumenti analizzano la email inviata e ti mostrano un punteggio di recapitabilita con suggerimenti per migliorarlo.

Passo 5: Errori Comuni e Soluzioni

Errore “Si e verificato un errore nel tentativo di inviare il messaggio”

Questo messaggio indica che Contact Form 7 ha tentato di inviare la email ma la funzione wp_mail() ha restituito un errore. Le cause piu comuni sono: la funzione PHP mail e disabilitata sul server, il server SMTP non e raggiungibile, le credenziali SMTP sono errate o la porta SMTP e bloccata dal firewall.

Per diagnosticare il problema, attiva il debug di WP Mail SMTP e controlla i log. Se non utilizzi WP Mail SMTP, puoi aggiungere temporaneamente il seguente codice nel file functions.php del tuo tema per registrare gli errori di invio email:

add_action( "wp_mail_failed", function($wp_error) {
    error_log( "WP Mail Error: " . $wp_error->get_error_message() );
});

Controlla poi il file di log degli errori PHP del tuo server (solitamente in wp-content/debug.log se WP_DEBUG_LOG e attivato).

Errore di Validazione Inatteso

Se il modulo mostra errori di validazione anche quando tutti i campi sono compilati correttamente, le cause possibili includono: un conflitto con un plugin di cache che serve una versione obsoleta del token di sicurezza, un conflitto con un plugin di sicurezza che blocca le richieste AJAX, o un problema con reCAPTCHA che assegna un punteggio troppo basso. Prova a disabilitare temporaneamente i plugin di cache e sicurezza per isolare il conflitto.

Il Modulo Gira a Vuoto senza Inviare

Se cliccando “Invia” il modulo mostra il simbolo di caricamento che gira indefinitamente senza mai completare la invio, il problema e quasi certamente un errore JavaScript. Apri la console del browser (F12 > Console) e cerca messaggi di errore in rosso. Le cause piu comuni sono: un conflitto tra plugin che caricano versioni diverse di jQuery, un errore nel tema che interrompe la esecuzione JavaScript, o un Content Security Policy troppo restrittivo che blocca le richieste AJAX.

Passo 6: Flamingo come Rete di Sicurezza

Indipendentemente dalla soluzione che adotti per risolvere i problemi di invio email, installa sempre il plugin Flamingo. Come descritto nella nostra guida alle integrazioni, Flamingo salva ogni messaggio nel database di WordPress, garantendo che nessun dato vada perso anche in caso di problemi con la email. Puoi consultare tutti i messaggi da Flamingo > Messaggi in entrata.

Passo 7: Limiti di Invio del Hosting

Molti hosting condivisi impongono limiti giornalieri alla invio di email: tipicamente 100-500 email al giorno. Se il tuo sito invia molte email (notifiche di commenti, registrazioni utenti, email WooCommerce, ecc.) potresti raggiungere questo limite, bloccando anche le email di Contact Form 7.

Per verificare se hai raggiunto il limite, contatta il supporto del tuo hosting. La soluzione e utilizzare un servizio di email transazionale esterno (Brevo, SendGrid, Mailgun) che gestisce la invio delle email indipendentemente dal tuo hosting, eliminando completamente il problema dei limiti.

Quando Passare a un Servizio di Email Transazionale

Se i problemi di recapito persistono nonostante la configurazione SMTP, o se il tuo sito ha esigenze di invio email importanti, la soluzione definitiva e un servizio di email transazionale dedicato. Ecco i principali:

Brevo (ex Sendinblue): piano gratuito con 300 email al giorno, sufficiente per la maggior parte dei siti. Interfaccia intuitiva e buona integrazione con WordPress.

SendGrid: piano gratuito con 100 email al giorno. Offre statistiche avanzate e una ottima reputazione di deliverability. Ideale per siti professionali.

Mailgun: piano di prova con 5.000 email gratuite. Orientato agli sviluppatori, offre API potenti e log dettagliati. Ideale per siti tecnici e applicazioni complesse.

Amazon SES: il servizio email di Amazon Web Services. Estremamente economico per volumi elevati (0.10 dollari per 1.000 email), ma richiede competenze tecniche per la configurazione.

Tutti questi servizi si integrano con WordPress tramite WP Mail SMTP o plugin dedicati. La migrazione e solitamente semplice e richiede pochi minuti di configurazione.

Checklist di Risoluzione Rapida

Ecco una checklist sintetica da seguire quando le email di Contact Form 7 non arrivano:

  1. Controlla la cartella spam del destinatario
  2. Verifica che la email del destinatario nel campo “A” sia corretta
  3. Assicurati che il campo “Da” utilizzi il dominio del tuo sito
  4. Installa e configura WP Mail SMTP
  5. Effettua un test di invio da WP Mail SMTP
  6. Verifica i record SPF, DKIM e DMARC del dominio
  7. Controlla i log degli errori del server
  8. Verifica i limiti di invio del tuo hosting
  9. Installa Flamingo come backup
  10. Considera un servizio di email transazionale se i problemi persistono

Guide Correlate della Serie Contact Form 7

Se hai provato tutte le soluzioni descritte e le email continuano a non arrivare, il team di G Tech Group puo effettuare una diagnosi approfondita del tuo sistema email e risolvere il problema in modo definitivo. Contattaci per ricevere assistenza immediata.

#cf7 email problemi #debug email #email non arrivano #smtp wordpress