Prima funzionava, adesso non funziona più. Ecco perché e cosa fare.
Fino a qualche mese fa se avevi impostato il tuo sito web, la tua web app o altro per fare invii email con la tua account Gmail funzionava, ma ora non funziona più e tutte le impostazioni sono corrette.
Come mai?
Da anni è in corso una progressiva securizzazione dei meccanismi delle email.
Da circa un anno Google e Microsoft hanno introdotto l'autenticazione a 2 fattori (in gergo 2FA) come forma obbligatoria per accedere alle proprie caselle email. Ciò rende più complesso l'uso delle caselle per applicazioni server (es.: siti web come Drupal, WordPress, ...; web app come NextCloud, eGroupWare, ...). Infatti di norma questi software non prevedono il supporto per una seconda autenticazione oltre alla password. Inoltre l'elemento di seconda autenticazione ha una durata limitata. Ovvero ogni qualche mese cambia il dato della seconda autenticazione. Questo rende sostanzialmente non gestibile la applicazioni server...
Cosa fare?
Sia Google che Microsoft hanno previsto la gestione di questi casi creando un'autenticazione ad hoc per la singola app.
Sono previste anche altre forme, ma quella citata è quella più universale e più a portata di mano per tutti.
Facciamolo!
Ipotizziamo la suente situazione:
- sito Drupal+CiviCRM www.example.com ;
- email unica:
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. ; - Server SMTP: smtp.gmail.com ;
- Porta SMTP: 465 ;
- Protocollo SMTP: SSL/TLS ;
- Username SMTP:
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. ; - Password SMTP: MiaPassword#CiviCRM0123456789
Dobbiamo procedere con 2 passi:
- creazione una password per app;
- configurare la nostra app CiviCRM.
Creare una password per l'app
- Accediamo a
https://accounts.google.com/
e autentichiamoci; - accediamo a "Sicurezza" sul menù di sinistra;
- quindi, dalla colonna centrale, accediamo a "Come accedi a Google" -> "Verifica in due passaggi";
- clicchiamo sull'ultima voce in basso "Password delle app";
- digitiamo il nome mnemonico per la nostra app sul campo dove il prompt è puntato. Digitiamo "CiviCRM2025test"
NB: si tratta di un semplice nome mnemonico: non ha valenza tecnica!; - dopo un istante si apre una finestra con una password tipo "ylbu lfos guio ycap": slviamolo; è la nostra password
NB 1: i codici che Google genera non sono recuperabili, né nuovamente visibili!
NB 2: gli spazi intermedi fanno parte della password generata.
NB 3: una volta ottenuto il codice possiamo solo cancellarlo (e rigenerarlo).
Teniamo ben annotata la password ottenuta, usciamo da Google e passiamo a configurare CiviCRM.
Configurare CiviCRM
- Accediamo a Drupal+CiviCRM autenticandoci con un'account amministrativa
- entrati in CiviCRM accediamo, dal menu, a "Amministrazione" > "Impostazione di Sistema" > "Email In Uscita (SMTP/Sendmail)"
- impostiamo la scheda come segue e confermiamo cliccando sul bottone "Salva e invia email di test":
- "Permetti email da contatto connesso": SI
- "SMTP Server": ssl://smtp.gmail.com
- "Porta SMTP": 465
- "Autenticazione": SI
- "Username SMTP":
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - "Password SMTP": ylbu lfos guio ycap
NB 1: cliccando su "Salva e invia email di test" CiviCRM fa subito n test della nostra configurazione avvertendo subito se l'invio non riuscirà.
NB 2: l'email a cui verrà fatto l'invio test è l'email dell'account con cui ci siamo autenticati in Drupal+CiviCRM.
Conclusione
Il meccanismo è un po' macchinoso, ma funziona bene come quando la 2FA non era obbligatoria.
Con la stessa logica con cui abbiamo configurato CiviCRM possiamo configurare altre nostre server app come NextCloud, eGroupWare, ecc... Ma vale anche per software obsoleti come antichi client email desktop, applicazioni terze desktop o soluzioni custom come script di invio stato.
Infine: non state tranquilli perché è ragionevole immaginare che il futuro prossimo introdurrà altri hardening che ci obbligheranno a nuove configurazioni, ad aggiornamenti obbligatori, ecc...