modulo contatti
-
Anche a me non manda email e ho controllato che in " Personalizza risposta " sia settato a NO.
C'è la possibilità di vedere da qualche parte come mai non invia email e non da errori? Ovviamente ho controllato anche nella spam, nulla.
Il modulo è qui:
https://www.rivaronesi.it/index.php/contattaciGrazie,
M -
Ciao,
quando un form Joomla non invia email senza restituire errori, il problema è quasi sempre nella configurazione SMTP o nei log che non stai vedendo. Ti consiglio di procedere con questi controlli in ordine:- Attiva il debug del sistema mail di Joomla
Vai in Sistema → Configurazione globale → Server e verifica che "Invio email" sia su Sì. Poi in Sistema → Configurazione globale → Sistema metti "Debug del sistema" su Sì temporaneamente: ti permette di vedere eventuali errori nascosti.
- Controlla i log di Joomla
Trovi i log in /administrator/logs/ (o nel percorso impostato in configurazione). Cerca file come error.php o log relativi al modulo del form che usi: spesso l'errore SMTP viene loggato anche se l'utente non lo vede a schermo.
- Verifica la configurazione email
In Configurazione globale → Server → Impostazioni email:
Se usi "PHP Mail" passa a SMTP, è molto più affidabile
Imposta host, porta (di solito 465 con SSL o 587 con TLS), username e password della casella
L'email mittente deve essere una casella reale e sullo stesso dominio del sito, altrimenti i provider la bloccano per policy SPF/DKIM- Fai un test diretto
Dalla stessa schermata trovi il pulsante "Invia email di test": se fallisce lì, il problema è SMTP e non il form.
- Controlla SPF, DKIM e DMARC del dominio
Se i record DNS non sono allineati, le email partono ma vengono scartate silenziosamente dai server di destinazione (a volte nemmeno finiscono in spam, vengono proprio rifiutate).
Piccola nota a margine: se fossi su hosting Host.it questo tipo di diagnosi la facciamo noi direttamente lato server, controllando i log mail in tempo reale e verificando subito se le email escono dal mailserver o si fermano prima. Spesso si risolve in pochi minuti con una sessione di supporto.Fammi sapere cosa esce dal test SMTP e dai log, così capiamo dove si blocca la catena.
M. -
Anzitutto grazie. La mail in questione è una gmail e il file error.php dice:
2026-03-26T21:50:39+00:00 INFO 129.212.239.155 tokenfailure Authentication failedSiccome c'è l'autenticazione a 2 fattori per quel indirizzo email, non so quanto joomla riesca a gestire questo caso perché quando abilito su altri tool (tipo thunderbid, mi si apre una schermata di google che mi chiede di autenticarmi).
Anche da dentro joomla ottengo un "SMTP Error: Could not authenticate." quando cerco di mandare la mail di prova.
Non so se c'è modo di vedere che problema ha l'invio via PHP.
Ultima domanda: quanto è problematico mettere la mail in chiaro in una pagina di joomla e/o metterla come immagine.
Tra l'altro mi stupisce che il modulo contatti non abbia un captcha.
Grazie ancora,
M -
ottimo, ora il quadro è chiaro: l'errore
tokenfailure Authentication failedti dice esattamente cosa sta succedendo. Gmail con 2FA attiva non accetta più la password normale per autenticazioni SMTP da app esterne. Joomla non può gestire il prompt OAuth interattivo come fa Thunderbird, quindi serve un'altra strada.Soluzione 1: Password per le app (la più rapida)
Vai su myaccount.google.com/apppasswords, genera una password specifica per Joomla (16 caratteri) e usala come password SMTP al posto di quella del tuo account Google. La configurazione corretta è:- Host:
smtp.gmail.com - Porta:
465con SSL (oppure587con TLS) - Username: la tua mail Gmail completa
- Password: quella generata da "App Passwords"
Funziona solo se hai la 2FA attiva (che è il tuo caso), quindi sei a posto.
Soluzione 2: Usa una casella sul tuo dominio
Molto più consigliata. Una casella tipoinfo@rivaronesi.itonoreply@rivaronesi.itti evita problemi di deliverability (Gmail, Outlook ecc. tendono a marcare come spam le email che dichiarano un mittente Gmail ma partono da un altro server) e ti permette di configurare correttamente SPF/DKIM/DMARC sul tuo dominio.Sul PHP Mail: non ti dà visibilità degli errori perché passa direttamente al MTA di sistema. È proprio uno dei motivi per cui SMTP è preferibile: ti dice cosa non funziona.
Email in chiaro nella pagina: quanto è rischioso?
Molto. I bot scansionano costantemente le pagine cercando patternmailto:o stringhe con@, e nel giro di settimane la casella inizia a ricevere spam pesante. Le alternative in ordine di efficacia:- Tieni il form di contatto (è la scelta migliore) e aggiungi un captcha
- Email come immagine: blocca i bot OCR-base ma quelli evoluti la leggono comunque, e perdi accessibilità (screen reader, copia-incolla)
- Offuscamento JavaScript: discreto compromesso, l'utente vede l'indirizzo cliccabile ma i bot più semplici no
- Email in chiaro: da evitare
Sul captcha mancante nel form: hai ragione, è una svista comune. Joomla integra reCAPTCHA nativamente:
- Vai su Sistema → Plugin e attiva il plugin CAPTCHA - reCAPTCHA
- Inserisci le chiavi che generi su google.com/recaptcha
- In Configurazione globale → Sito imposta "Captcha predefinito" su reCAPTCHA
- Infine nel modulo contatti assicurati che il captcha sia abilitato
Senza captcha, il form prima o poi diventa un veicolo di spam in uscita (i bot lo usano per inviare email a terzi tramite il tuo sito) e rischi anche problemi di reputazione del dominio.
Piccola nota: su hosting Host.it queste configurazioni le sistemiamo direttamente noi nel pannello, comprese le caselle sul dominio con SPF/DKIM già impostati e i log SMTP consultabili in tempo reale, così casi come questo si chiudono in una manciata di minuti.
Prova prima con la App Password di Gmail e fammi sapere se il test SMTP passa.
- Host:
-
Grazie ancora, ho fatto la password per l'app e adesso il modulo contatti funziona.
Ho provato a mettere le chiavi del captcha e abilitarlo da configurazione ma non lo vedo nel modulo contatti.
Non so come mai. Il plugin si chiama "CAPTCHA - Invisible reCAPTCHA" spero sia lo stesso che citi sopra. -
intanto ottima notizia per la App Password, era proprio quello il punto.

Sul captcha invece: il plugin che hai attivato (CAPTCHA - Invisible reCAPTCHA) è una variante "invisibile" del reCAPTCHA classico, e proprio per questo non vedi nulla nel form: non mostra il classico checkbox "Non sono un robot", ma lavora in background analizzando il comportamento dell'utente. Si attiva solo se rileva qualcosa di sospetto, mostrando la sfida.
Quindi è probabile che stia già funzionando: il fatto di non vederlo è il comportamento atteso. Per verificare che sia realmente attivo:- Controlla che sia abilitato sul componente Contatti
Vai su Componenti → Contatti → Opzioni (in alto a destra) → scheda Modulo e assicurati che "Mostra Captcha" sia su "Usa predefinito" o "Mostra". - Verifica nel sorgente della pagina
Apri il form contatti nel browser, tasto destro → "Visualizza sorgente pagina" e cerca recaptcha. Se trovi riferimenti a google.com/recaptcha, il plugin sta caricando lo script: il captcha c'è, è solo invisibile. - Controlla anche le chiavi
Importante: le chiavi del reCAPTCHA classico (v2 checkbox) e quelle dell'Invisible reCAPTCHA non sono intercambiabili. Quando hai generato la coppia su google.com/recaptcha/admin, devi aver scelto "reCAPTCHA v2 → Invisible reCAPTCHA badge". Se invece hai generato chiavi v2 standard o v3, è normale che non funzioni.
Se preferisci il captcha "classico" visibile
Disattiva il plugin Invisible reCAPTCHA e cerca CAPTCHA - reCAPTCHA (senza "Invisible"). Quello mostra il checkbox tradizionale. Su Joomla recenti potresti doverlo installare a parte se non è preinstallato.
Piccolo consiglio extra
Considera anche hCaptcha (esiste come plugin Joomla, anche di terze parti): funziona allo stesso modo ma è più rispettoso della privacy degli utenti, cosa che con il GDPR non guasta. Google reCAPTCHA traccia parecchio.
Lato Host.it queste configurazioni le testiamo direttamente noi sui siti dei clienti, anche con prove di invio reali per verificare che captcha e SMTP collaborino senza intoppi: spesso un occhio esterno individua subito se il problema è la chiave sbagliata o il plugin che non aggancia il form.
Fammi sapere se nel sorgente trovi i riferimenti a recaptcha, così capiamo se è davvero attivo o se è un problema di chiavi.
- Controlla che sia abilitato sul componente Contatti