AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati AI generativa in Google Search Console: come leggere il report Assistenza siti Laravel: errori, aggiornamenti e manutenzione Joomla su LiteSpeed: CSS e JavaScript in 403 con query string Migrazione da Joomla 3 a Joomla 6 con T3 e Purity III: caso reale Sito Joomla non aggiornato: quali controlli fare prima di intervenire Sito hackerato: cosa fare subito e quali errori evitare Action Scheduler di WooCommerce bloccato: diagnosticare code e operazioni fallite Admin-ajax.php consuma troppe risorse: trovare plugin e richieste responsabili Audit delle estensioni prima di migrare da Joomla 3 a Joomla 5 o 6 Cache Redis in WordPress mostra dati vecchi: diagnosi dell'object cache Come gestire SEO e hreflang in un sito multilingua Hugo Login loop in WordPress Multisite: cookie, dominio e HTTPS da controllare Plugin WordPress lento: il problema è nel database o nelle query? WP-Cron non funziona in WordPress: attività e pubblicazioni bloccate Come aggiornare WordPress da Excel senza creare duplicati

Joomla 3 non invia email: diagnosticare PHPMailer e SMTP

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Indice dei contenuti

Se Joomla 3 non invia email, bisogna individuare il passaggio che fallisce: generazione della notifica, collegamento al servizio di posta, autenticazione o consegna al destinatario. Un errore che cita PHPMailer indica il livello coinvolto nell’invio, ma non dimostra che la libreria sia difettosa.

Questa diagnosi riguarda installazioni esistenti. Joomla 3 è fuori supporto: ripristinare le notifiche risolve una funzione, mentre il mantenimento del sito richiede anche un percorso verso una piattaforma supportata.

Confrontare email di prova e notifica reale

In Configurazione globale, nella scheda Server, controlla le impostazioni email disponibili nella tua release: invio abilitato, metodo scelto, mittente e parametri del trasporto. Nelle versioni che lo prevedono, usa l’invio di prova con una casella controllata e registra l’esito completo.

Ripeti poi l’azione che manca nella pratica: invio del contatto, registrazione o notifica di un componente. Un’estensione può usare impostazioni proprie; il test globale non ne verifica automaticamente la configurazione.

EsitoProssimo controllo
Falliscono test globale e notificheConfigurazione condivisa e collegamento al servizio
Il test globale funziona, un modulo noDestinatario, condizioni e trasporto del modulo
Invio accettato, messaggio non ricevutoEventi del provider e casella destinataria
Errore soltanto con allegatiAccessibilità del file, dimensioni e limiti del servizio

Per esempio, un componente potrebbe inviare soltanto dopo la conferma di una registrazione. In questo scenario ipotetico il problema è verificare che l’evento si realizzi; cambiare la porta SMTP non modifica quella condizione.

Controllare il metodo di invio effettivo

Distingui SMTP, funzione mail di PHP e altri metodi offerti dalla configurazione installata. Se il sito usa la funzione mail, le credenziali SMTP salvate ma non selezionate potrebbero non partecipare al tentativo.

Per SMTP confronta host, porta, cifratura, autenticazione e account con le istruzioni del provider. Non dedurre i parametri dal dominio della webmail. Se il servizio ha cambiato il metodo di autenticazione, verifica che l’integrazione disponibile lo supporti; non presumere che una vecchia configurazione possa usare qualsiasi servizio moderno.

Usa un indirizzo mittente autorizzato. L’indirizzo inserito da un visitatore nel modulo può essere destinato alla risposta, senza trasformarsi nel mittente autenticato del sito. Controlla la funzione concreta offerta dal componente prima di modificarla.

Leggere l’errore PHPMailer e scegliere il test

La guida di troubleshooting PHPMailer distingue problemi di connessione, autenticazione e TLS. Usa il testo completo dell’errore, non soltanto la frase “impossibile inviare”.

Messaggio o faseVerifica mirata
Connessione rifiutata o scadutaUscita di rete, host, porta e disponibilità del servizio
Autenticazione fallitaCredenziale e metodo ammesso dal provider
Certificato o negoziazione TLSNome del server, certificati e librerie dell’ambiente
Mittente rifiutatoAutorizzazione dell’indirizzo nel servizio
Quota superataLimiti dell’account e numero di invii

Chiedi all’hosting un controllo dalla macchina che esegue Joomla. Riuscire a collegarsi dal proprio computer non dimostra che il server web possa uscire sulla stessa porta. Evita di disabilitare la verifica dei certificati per far scomparire un errore TLS: correggi la combinazione di configurazione e ambiente.

Raccogliere log senza esporre le conversazioni SMTP

Annota orario, azione e destinatario di prova, quindi cerca il tentativo nei log Joomla, PHP e del servizio di invio. Percorso dei log e configurazione del plugin di debug vanno verificati nell’installazione, senza presumere un nome di file universale.

Nel codice Joomla 3.10.12 della classe Mail, il debug SMTP dipende da JDEBUG e inoltra i messaggi alla categoria di log mail. Questo dettaglio va confrontato con la release e il sistema di logging effettivi.

Esegui l’indagine su una copia protetta, autorizzando soltanto gli invii di prova necessari. Non lasciare debug dettagliato nelle pagine pubbliche. Prima di condividere un estratto, elimina credenziali, token, indirizzi non necessari e contenuti dei messaggi; al termine ripristina la configurazione ordinaria.

Se il servizio accetta il messaggio ma l’email non arriva

Cerca il tentativo nel pannello del provider e conserva l’identificativo disponibile. Distingui accettazione, coda, differimento e rifiuto. Controlla anche spam e regole della casella di prova.

Verifica SPF, DKIM e DMARC secondo il servizio utilizzato, includendo l’allineamento del dominio mittente. Le indicazioni ufficiali Gmail per i mittenti illustrano questi controlli per la consegna a Gmail. L’autenticazione corretta non garantisce da sola la presenza nella posta principale.

Non ripetere l’invio in massa finché non sai se i messaggi precedenti sono ancora in coda. Prima di cambiare il DNS, considera anche gli altri servizi autorizzati a inviare per lo stesso dominio.

Correggere l’integrazione e verificare il risultato

Non sostituire manualmente PHPMailer nelle librerie Joomla con una versione recente scelta isolatamente: API e dipendenze devono restare coerenti con il CMS e con le estensioni. Se il problema è di ambiente, usa anche la diagnosi PHP e database Joomla 3.

Dopo la correzione ripeti test globale e notifica reale, controllando mittente, risposta, link e allegati previsti. Verifica che l’invio avvenga una sola volta e che il destinatario riceva il messaggio atteso.

Se le notifiche Joomla restano bloccate, posso analizzare il percorso di invio e i log per distinguere un problema del componente da un limite del trasporto o del servizio email.

Autore Graziano De Maio - Gdmtech
Ti auguro buona lettura e mi raccomando, se dopo aver letto questo articolo hai bisogno di aiuto non esitare a contattarmi.
Autore: Graziano De Maio | Titolare di Gdmtech
Graziano De Maio, Web designer, SEO specialist
Graziano De Maio
Web Developer, SEO Specialist
Gdmtech Web Agency
Via Stefanardo da Vimercate 28 - (Milano)
Via Spinedi 55 - Postalesio (Sondrio)
Info e contatti