Form WordPress email: risolvere gli invii che non arrivano

Dashboard WordPress con email protetta in viaggio verso una casella di posta.
Vota questo post

Il problema dei form WordPress email che non arrivano può bloccare richieste di preventivo, appuntamenti e contatti commerciali. Il contact form sembra funzionare: l’utente vede il messaggio di conferma, ma nella casella del destinatario non compare nulla.

Nella maggior parte dei casi, il problema non dipende dal form builder. Prima di sostituire plugin o rifare il sito, controlla la configurazione, l’indirizzo del mittente e l’invio tramite SMTP.

Punti chiave

  • Un messaggio di conferma del contact form non dimostra che l’email sia stata consegnata: controlla destinatario, mittente, Reply-To, spam e log dell’invio.
  • Configura il mittente con un indirizzo del tuo dominio e usa l’email del visitatore solo nel campo Reply-To, evitando possibili rifiuti per spoofing.
  • Collega WordPress a un SMTP autenticato e usa Mailtrap per verificare il trasporto prima di eseguire test con destinatari reali.
  • Verifica i record DNS SPF, DKIM, DMARC e MX, oltre alle misure antispam e alla protezione dei dati raccolti dal modulo.
  • Prima di sostituire il plugin o creare un custom form, controlla la configurazione del modulo, il trasporto delle email e il corretto funzionamento del test da mobile.

Capisci dove si rompe l’invio

Prima di modificare le impostazioni, fai un invio di prova compilando il contact form come un normale visitatore. Per isolare il trasporto, usa anche una casella sandbox come Mailtrap, senza considerarla una soluzione di produzione. Controlla cosa succede in ogni passaggio:

  • il submit button, cioè il pulsante di invio, risponde;
  • compaiono eventuali messaggi di errore;
  • appare la pagina di conferma;
  • arriva la notifica nella casella corretta;
  • il messaggio finisce nella cartella spam;
  • l’invio viene registrato nel database del plugin, se previsto, per esempio con WPForms.

Se il modulo non si invia, il problema può riguardare il form builder. Verifica errori JavaScript, configurazione e validation dei campi obbligatori. Può dipendere anche da un conflitto tra plugin o da un blocco legato alla security. Se Mailtrap riceve il messaggio, il modulo genera correttamente l’invio, ma il test non dimostra la consegna in produzione.

Se il modulo si invia ma il messaggio non arriva, devi concentrarti sul trasporto e verificare la reale email delivery.

WordPress usa normalmente la funzione wp_mail(), collegata al sistema email del server. Non è un servizio di posta completo e spesso non usa SMTP. Alcuni hosting la limitano o la configurano male. Per un trasporto autenticato, conviene affidarsi a SMTP. I messaggi possono essere rifiutati dai server destinatari perché privi di autenticazione.

Un messaggio di conferma nel browser dimostra che il modulo ha ricevuto i dati. Non dimostra che l’email sia stata consegnata.

Configura correttamente il contact form

WPForms e Contact Form 7 sono due soluzioni diffuse per creare un modulo senza scrivere tutto il codice. WPForms offre un editor visuale drag and drop. L’altra soluzione usa un form builder basato su campi e shortcode, cioè un codice da copiare nella pagina.

Dopo aver scelto un WordPress plugin, vai in Plugin > Aggiungi nuovo, cerca il nome del prodotto, incluso Contact Form 7, installalo e attivalo. Con WPForms definisci i fields del modulo per nome, email, telefono e messaggio. Imposta la validation sui campi obbligatori e assegna un testo chiaro al submit button. Per il modulo basato su codice, copia lo shortcode generato e conservalo per l’inserimento.

La parte che causa più errori è la scheda Notifications.

Con WPForms apri Impostazioni > Notifiche per gestire le email notifications e verifica:

  • indirizzo che deve ricevere il messaggio;
  • oggetto dell’email;
  • fields dinamici richiamati tramite smart tag;
  • indirizzo usato come mittente;
  • indirizzo inserito nel campo Reply-To.

In Contact Form 7 vai in Contatto > Moduli di contatto > Mail e imposta qui i dati di invio. Il campo “From” deve usare un indirizzo del tuo dominio, per esempio info@azienda.it. L’indirizzo scritto dal visitatore va nel campo “Reply-To”, non nel campo “From”.

Quando scegli un contact form plugin, verifica che separi correttamente mittente e Reply-To. Usare l’email del visitatore come mittente può sembrare naturale, ma i server possono interpretarla come spoofing e rifiutarla. Una guida ai problemi di Contact Form 7 può aiutarti a riconoscere le configurazioni errate più comuni.

Con WPForms inserisci il contact form nell’editor Gutenberg usando il blocco dedicato. Con Contact Form 7, copia il relativo shortcode e incollalo nella pagina.

Lo shortcode è un’alternativa al blocco Shortcode di Gutenberg. Se il modulo non appare, controlla lo shortcode per individuare eventuali errori di sintassi.

Per gestire l’embed in una pagina diversa, inserisci lo shortcode nel contenuto della nuova pagina. Il posizionamento dello shortcode va verificato anche dopo la pubblicazione.

Controlla in Gutenberg che il blocco sia compatibile con il tema. Riapri Gutenberg dopo la pubblicazione e verifica l’anteprima.

Infine, invia un messaggio di prova da WPForms e verifica la notifica nella casella destinataria. In WPForms controlla anche il risultato dopo la pubblicazione. Se tutto è corretto ma la notifica non arriva, SMTP è il passaggio successivo da verificare.

Monitor con interfaccia pulita di un modulo contatti su una scrivania scura.

SMTP: la soluzione più affidabile per i form WordPress email

La correzione più efficace consiste nel collegare WordPress a SMTP, cioè a un servizio di posta autenticato tramite un server autorizzato. Il sistema usa credenziali e impostazioni definite dal provider, ma non corregge la configurazione dei campi del modulo.

Installa e attiva il plugin, poi apri WP Mail SMTP > Impostazioni per scegliere il mailer. Il mailer selezionato è compatibile anche con WPForms. Le opzioni disponibili includono spesso Gmail, Outlook, Microsoft 365, Brevo, SendGrid, Mailgun oppure un server personalizzato.

Per isolare la diagnosi, usa la sandbox di Mailtrap. L’ambiente separa i test dalla produzione. Mailtrap non sostituisce il provider reale durante l’invio definitivo.

Il flusso operativo è semplice:

  1. Completa l’attivazione del plugin.
  2. Scegli il provider che userai per le notifications di WPForms.
  3. Usa le credenziali SMTP di Mailtrap.
  4. Inserisci poi host e porta indicati da Mailtrap, crittografia, username e password o chiave.
  5. Imposta un indirizzo mittente appartenente al dominio.
  6. Salva le impostazioni e avvia Email Test per inviare il messaggio a Mailtrap.

Controlla che il messaggio compaia nella inbox di Mailtrap.

Per un invio di produzione, una configurazione SMTP per Brevo può usare smtp-relay.brevo.com, porta 587 e TLS; Microsoft 365 utilizza spesso smtp.office365.com sulla porta 587. Non copiare parametri generici: controlla sempre la documentazione e l’autorizzazione del provider.

Mantieni lo stesso indirizzo nelle impostazioni del plugin e in WPForms. Così il mittente dichiarato dal modulo coincide con quello usato per la spedizione.

Controlla il mittente visualizzato in Mailtrap. Verifica anche il Reply-To nella stessa inbox di Mailtrap. Esamina infine in Mailtrap il corpo del messaggio e le intestazioni.

Sviluppatore web al laptop in uno spazio scuro con illuminazione rossa.

Il test SMTP deve precedere il test del modulo. Se la prova compare nella inbox, esegui quindi un test del modulo in WPForms. Il trasporto resta indipendente dal modo in cui il modulo viene incorporato, anche tramite shortcode.

La procedura vale per un contact form e per contact form 7. Confronta poi il risultato con un invio del provider reale, non con Mailtrap. Se Mailtrap riceve il messaggio ma il destinatario reale non riceve nulla, il problema riguarda probabilmente l’email delivery del provider reale. Correggi il mittente, il Reply-To o i parametri indicati dal provider, quindi ripeti il test in Mailtrap.

Per un percorso operativo aggiuntivo puoi consultare questa guida su come sistemare le email WordPress. Il punto resta sempre lo stesso: prima verifica il trasporto, poi il modulo.

Spam, DNS e protezione dei dati

Un invio riuscito non significa che il messaggio arriverà nella posta principale. Controlla anche la cartella spam e la reputazione del dominio.

Per un controllo tecnico iniziale, usa Mailtrap come inbox di prova. Non sostituisce la configurazione DNS del dominio e non garantisce l’arrivo nella posta principale.

Sul DNS del dominio verifica la presenza dei record:

  • SPF, per dichiarare quali server possono spedire email;
  • DKIM, per firmare i messaggi;
  • DMARC, per definire come gestire i messaggi non autenticati;
  • MX, per indicare i server che ricevono la posta del dominio.

L’autenticazione del trasporto SMTP deve essere coerente con questi record. Le impostazioni cambiano in base al provider, quindi non copiare record da un altro dominio. Un valore errato può danneggiare la ricezione della posta aziendale.

Nel controllo dei messaggi inviati tramite SMTP, verifica in Mailtrap il mittente e le firme SPF e DKIM, quando disponibili. Confronta il risultato di Mailtrap prima del test reale sul dominio.

Proteggi il contact form anche dallo spam con una strategia di spam protection. Puoi usare un captcha, un campo honeypot nascosto e un limite agli invii ripetuti.

Il reCAPTCHA aggiunge un controllo automatico contro i bot. Confronta le modalità reCAPTCHA e usa le chiavi corrispondenti alla configurazione.

Configura correttamente reCAPTCHA e verifica che il dominio autorizzato corrisponda al sito. Applica una validation più severa ai campi.

Limita i fields ai dati necessari. Un modulo lungo riduce le conversioni, soprattutto da smartphone.

Dal punto di vista della security e della privacy, inserisci un link alla Privacy Policy e una casella di consenso quando il trattamento lo richiede. Spiega perché raccogli nome, email e telefono. Non inviare dati sensibili nel corpo dell’email senza una gestione adeguata.

Se vuoi confrontare altri casi di email non ricevute, puoi consultare anche questa discussione nella community WordPress. Le soluzioni cambiano in base a hosting, provider e strumenti installati.

Modulo senza plugin: quando ha senso

Puoi creare un custom form con HTML, CSS e PHP, ma non è una scorciatoia per un sito aziendale. Devi costruire il markup, gestire la richiesta POST del contact form, controllare i fields, sanificare i dati e proteggere il modulo dagli invii falsi.

Il codice deve usare un nonce contro le richieste CSRF e prevedere una validation server-side. La validation dell’indirizzo email può usare una funzione come sanitize_email(), mentre nome e messaggio richiedono sanificazione e limiti di lunghezza. Prima dell’invio o del salvataggio nel database, applica questi controlli e non inserire i dati direttamente in un comando email.

Dopo questi controlli, il gestore della richiesta può chiamare wp_mail(). A differenza del metodo nativo PHP mail, però, wp_mail() non garantisce da solo la consegna. Un fallback su PHP mail non risolve il problema: anche un modulo personalizzato deve passare da un trasporto autenticato tramite SMTP. Prima del test reale, prova l’handler custom in Mailtrap e verifica in Mailtrap che il messaggio formattato venga catturato correttamente.

Per una PMI, un WordPress plugin aggiornato e ben configurato riduce tempi, errori e costi di manutenzione. Un contact form plugin specializzato, come WPForms, limita il codice da mantenere.

Il modulo personalizzato può essere inserito nell’editor Gutenberg con uno shortcode dedicato. Rispetto all’inserimento di contact form 7 con uno shortcode, richiede più gestione. Lo shortcode non sostituisce il nonce né la validation dei limiti di lunghezza. Il custom form è giustificato quando servono campi o flussi che le soluzioni standard non gestiscono bene.

Conferme, redirect e misurazione dei contatti

Dopo l’invio, ogni contact form dovrebbe mostrare un messaggio chiaro. “Messaggio inviato” è corretto, ma aggiungi il tempo previsto per la risposta e un canale alternativo. In WPForms, gestisci il messaggio di conferma nelle impostazioni del modulo.

Per richieste commerciali importanti, usa in WPForms un redirect verso una pagina di ringraziamento, invece del solo messaggio in linea. La pagina di ringraziamento collegata a WPForms può contenere una CTA coerente. Riprendi la CTA nel submit button: “Prenota una prima consulenza” o “Richiedi un appuntamento in studio” sono più chiari di “Contattaci”. Con Contact Form 7, distingui il redirect dallo shortcode e mantieni lo shortcode nel punto previsto.

Prima di contare una conversione, verifica il trasporto con SMTP. La conferma mostrata nel browser non dimostra che le email notifications interne siano arrivate. Fai un test in inbox con Mailtrap e controlla le notifications del plugin. Prima di attivare il tracciamento, ripeti la verifica con Mailtrap.

Traccia l’invio come conversione in GA4 o tramite Google Tag Manager. In WPForms, verifica che l’evento parta solo dopo un invio riuscito: il tracciamento non dipende dallo shortcode. Segmenta i dati per dispositivo: un tasso medio del 2% può nascondere un 4% da desktop e uno 0,8% da smartphone. Con Gutenberg, verifica il blocco CTA e il layout mobile: pochi fields e una validation chiara aiutano il percorso da smartphone.

Un modulo funzionante è parte della strategia commerciale del sito. Per una realizzazione di siti WordPress per PMI, notifiche, CTA e misurazione devono essere progettate insieme.

Conclusione

Quando un form WordPress email non invia messaggi, non partire subito dalla sostituzione del plugin. Usa il contact form per controllare destinatario, mittente, Reply-To, spam e registrazione dell’invio. Poi configura un SMTP autenticato, verifica i record DNS e fai un test reale da mobile, premendo anche il submit button, cioè il pulsante di invio.

Il modulo deve consegnare il messaggio, proteggere i dati e trasformare una visita in una richiesta concreta. Se un solo invio perso può significare un cliente in meno, la posta del sito non può dipendere dal caso.

Domande frequenti

Perché il form WordPress mostra la conferma ma non arriva l’email?

Il modulo può ricevere i dati senza consegnare il messaggio: controlla destinatario, cartella spam, mittente del dominio e log. Un contact form può confermare l’invio prima del completamento, quindi con WPForms verifica anche la cronologia degli invii.

Il trasporto autenticato è obbligatorio per ogni modulo?

Non è obbligatorio in senso tecnico, ma SMTP è consigliato per autenticare l’invio e ridurre i rifiuti. La funzione wp_mail() dipende dall’hosting e può fallire oppure finire nello spam.

Quale scegliere tra WPForms e contact form 7?

I due plugin hanno approcci diversi: il primo offre una configurazione guidata, mentre il secondo lascia più libertà. Con contact form 7 devi però inserire lo shortcode e configurare manualmente i messaggi.

Posso creare un modulo senza plugin?

Sì, usando HTML e PHP, ma devi gestire validazione, sanificazione, nonce e protezione antispam. Per un modulo senza codice, WPForms genera lo shortcode e semplifica la manutenzione rispetto a una soluzione manuale.

Come inserisco il modulo in una pagina?

Per inserirlo in una pagina, incolla il relativo shortcode nel blocco dedicato. Con Gutenberg puoi poi controllare l’anteprima e verificare il corretto aspetto del modulo.

Come proteggo il modulo dai messaggi automatici?

Usa campi obbligatori, sanificazione dei dati e limiti alle richieste ripetute. Puoi aggiungere reCAPTCHA, mantenendo controlli lato server e messaggi chiari per l’utente.

Quando usare Mailtrap per testare l’invio?

È una sandbox di test: Mailtrap riceve i messaggi senza inviarli ai destinatari reali. Se Mailtrap riceve il messaggio ma la casella reale resta vuota, il problema riguarda la consegna successiva. Dopo la correzione, ripeti il test in Mailtrap prima di usare una casella reale.

Categorie

Ultimi articoli

Laptop con catalogo digitale, scatole e prodotti su sfondo scuro.
PrestaShop B2B: listini e cataloghi che vendono
Una confezione centrale circondata da varianti, inventario e miniature collegate a un percorso luminoso.
Varianti prodotto WooCommerce: SEO senza pagine duplicate
dati strutturati locali
Dati strutturati locali su WordPress: guida pratica
Laptop con catalogo e-commerce collegato a un marketplace tramite flussi luminosi.
Feed prodotti WooCommerce: Google Merchant Center
Powered by Joinchat