Matomo invia posta. Report PDF programmati il lunedì mattina, avvisi quando il traffico crolla, il reset della password di cui un collega ha bisogno in un momento scomodo. Tutto questo parte via SMTP, configurato nelle Impostazioni generali, con un nome host, un nome utente e una password custoditi nel file di configurazione.
Su Microsoft 365, questo assetto sta per finire. L'autenticazione di base per l'invio SMTP del client — nome utente e password trasmessi a ogni connessione — viene ritirata da Exchange Online per fasi: Microsoft la disattiva già per impostazione predefinita nei tenant che non la usano, e prevede di spegnerla per impostazione predefinita in tutti i tenant rimanenti entro la fine del 2026. Il giorno in cui succede sul vostro tenant, Matomo smette di inviare, e la prima cosa che notate è un report che non è mai arrivato.
La soluzione a cui ricorrono la maggior parte dei plugin è peggio di quanto sembri
La risposta abituale è l'OAuth delegato: collegare il plugin a un account Microsoft, accettare una schermata di consenso, e il plugin conserva un token di aggiornamento che gli permette di inviare a nome di quella persona.
Funziona. Ma porta anche una persona reale dentro la vostra infrastruttura. Quell'account ha bisogno di una licenza. Ha bisogno di una password e dell'MFA. Se la persona se ne va, se la sua password cambia, o se il token di aggiornamento scade — e i token di aggiornamento scadono —, i vostri report analitici si fermano silenziosamente e nessuno se ne accorge finché qualcuno non chiede dove sono finiti i numeri. Avete sostituito una password memorizzata con un token memorizzato appartenente a un dipendente, il che è un problema diverso, non un problema risolto.
I permessi applicativi eliminano del tutto il fattore umano
Missivus percorre l'altra strada che Microsoft mette a disposizione. Invece di agire per conto di una persona, si autentica come un'applicazione.
Una registrazione app in Entra ID custodisce un client secret o un certificato. Le viene concesso il permesso applicativo Mail.Send — non quello delegato — con il consenso dell'amministratore. Invia a una cassetta postale condivisa, che su Microsoft 365 non richiede alcuna licenza. Non c'è utente, non c'è accesso, non c'è richiesta MFA, non c'è token di aggiornamento, e non c'è alcuna password di casella di posta da nessuna parte nella vostra installazione di Matomo o nel suo database. La credenziale è un secret applicativo che ruotate secondo i vostri tempi, e ruotarlo significa incollare un nuovo valore in un unico campo.
Il dettaglio che quasi tutti sbagliano
Ecco il dettaglio che conta, e il motivo per cui questo plugin esiste invece di un semplice frammento di configurazione.
Concedere Mail.Send come permesso applicativo dà a quell'applicazione la capacità di inviare a nome di tutte le caselle di posta del vostro tenant. Per impostazione predefinita. Non è un dettaglio da poco — è una capacità di invio a nome di chiunque, su scala dell'intero tenant, affidata a un service principal, e moltissime guide pratiche si fermano esattamente qui e danno la questione per chiusa.
La restrizione è un passaggio a parte, in un posto diverso, in un altro strumento di amministrazione: un criterio di accesso delle applicazioni in Exchange Online — il nuovo RBAC for Applications di Microsoft svolge la stessa funzione ed è la direzione verso cui Microsoft sta orientando gli amministratori —, applicato tramite PowerShell, limitando quell'applicazione a un unico gruppo di sicurezza abilitato alla posta che contiene solo la casella che le è consentito toccare. Finché non lo eseguite, l'ambito è tutto. Dopo averlo eseguito, verificate con Test-ApplicationAccessPolicy e confermate che l'accesso viene negato a una casella che dovrebbe restare fuori portata — perché una restrizione che non avete testato è una restrizione che state solo dando per scontata.
Missivus fornisce lo script PowerShell per questo passaggio come parte della configurazione, invece di lasciarlo come esercizio, e il plugin non considera una configurazione completa senza di esso.
Cosa non fa
È esclusivo per Microsoft 365. Se usate Google Workspace o un vostro server di posta, questo non fa per voi e l'SMTP va benissimo.
Invia solo posta in uscita, nient'altro. Il permesso applicativo è Mail.Send — l'applicazione non può leggere nessuna casella di posta, e non dovrebbe poterlo fare.
E fa transitare la posta del vostro Matomo attraverso l'infrastruttura Microsoft, un'azienda statunitense che opera sotto hosting UE. Se questa è la risposta sbagliata per i vostri dati, lo è anche qui, e preferiamo dirlo piuttosto che lasciarlo taciuto.
Come procurarselo
Missivus for Matomo è disponibile sul Matomo Marketplace, con licenza GPLv3, gratuito. La guida alla configurazione — registrazione dell'app, concessione del permesso, criterio di accesso, verifica — si trova su missivus.com/setup.
Se preferite non mettere mano voi stessi a Entra ID e al PowerShell di Exchange, ci pensiamo noi all'installazione e vi consegniamo una configurazione funzionante. Questa è la parte a pagamento; il plugin non lo è mai.
Domande frequenti
- Funziona al di fuori di Microsoft 365?
- No. È esclusivo per Microsoft 365; su Google Workspace o su un server di posta autogestito, l'SMTP resta la risposta giusta.
- L'applicazione può leggere la nostra posta?
- No. Il permesso concesso è solo `Mail.Send`. L'applicazione può inviare posta in uscita e non può leggere nessuna casella di posta.
- Cosa succede quando scade il client secret?
- L'invio si interrompe finché il secret non viene sostituito. Ruotarlo significa incollare un nuovo valore in un unico campo, e la data di scadenza la impostate voi al momento della creazione del secret.