Configurare la firma su ogni client è un lavoro che non finisce mai: un PC nuovo, un Outlook reinstallato, un telefono, la versione web. Ogni volta qualcuno scrive con la firma vecchia o senza. Di recente un cliente con due società nello stesso tenant mi ha chiesto di risolvere il problema alla radice, e la strada più pulita è far aggiungere la firma direttamente da Exchange Online, mentre il messaggio è in transito.
Come funziona
Si usa una regola di flusso di posta con l’azione che aggiunge un disclaimer HTML in fondo al messaggio. Dentro l’HTML si possono inserire segnaposto come %%DisplayName%% e %%Title%%: Exchange li sostituisce con i dati del mittente presi dalla directory. L’elenco completo dei segnaposto è nella documentazione Microsoft, nella pagina sui disclaimer e le firme di organizzazione.
Il risultato è identico per tutti, qualunque client usino. Il prezzo da pagare sono alcuni limiti, che vi elenco più sotto.
Prima di iniziare: i dati in Entra ID
La firma è bella quanto i dati che pesca. Prima di scrivere una riga di HTML esportate qualifica, telefono, azienda e nome visualizzato di ogni utente e correggete quello che manca o è scritto male. Io lo faccio con uno script PowerShell che legge un CSV e aggiorna gli utenti, in modalità anteprima di default e con un parametro esplicito per scrivere davvero.
Attenzione: se gli utenti sono sincronizzati da un Active Directory locale, i campi vanno modificati lì e non in Entra ID, altrimenti la sincronizzazione sovrascrive le correzioni. Dopo la modifica Exchange impiega qualche minuto ad allinearsi: verificate con Get-User che titolo e telefono siano arrivati prima di attivare la regola.
Un modello per ogni variante
Con due aziende e caselle condivise ho preparato quattro modelli: utenti e caselle condivise per ciascuna società. La scelta avviene in base al dominio del mittente, non ai gruppi, perché è più semplice da mantenere. Nei modelli:
- impaginazione con tabelle e stili scritti direttamente sui tag, perché Outlook desktop ignora gran parte del CSS moderno;
- immagini richiamate da un indirizzo HTTPS pubblico, ad esempio la cartella di un sito aziendale, e in formato PNG o JPEG: l’SVG non viene mostrato dai client di posta;
- immagini caricate al doppio della dimensione di visualizzazione, così restano nitide sugli schermi ad alta risoluzione.
Creare le regole
Per ogni modello una regola, creata disattivata:
$html = Get-Content .\firma-utenti.html -Raw -Encoding UTF8
New-TransportRule -Name "Firma - Utenti" `
-SenderDomainIs example.com `
-ApplyHtmlDisclaimerText $html `
-ApplyHtmlDisclaimerLocation Append `
-ApplyHtmlDisclaimerFallbackAction Ignore `
-ExceptIfSubjectOrBodyContainsWords "Via Roma 1" `
-Enabled $false
Due scelte meritano una spiegazione. Il comportamento di ripiego predefinito è Wrap, che allega il messaggio originale a uno nuovo quando la regola non riesce a modificarlo, per esempio con un messaggio cifrato. Per una firma io preferisco Ignore: il messaggio parte senza firma, ma parte. Le caselle tecniche e gli account che non devono avere firma li escludo con -ExceptIfFrom.
Evitare le firme doppie
Senza accorgimenti la regola aggiunge la firma a ogni risposta, e in una conversazione lunga se ne accumulano decine. La soluzione indicata da Microsoft è un’eccezione sul testo: la regola non scatta se oggetto o corpo contengono una frase presente solo nella firma. Io uso una parte dell’indirizzo aziendale.
Il rovescio è che, se un collega ha già firmato in quella conversazione, chi risponde dopo non riceve la propria firma. Per un cliente con poche persone lo accetto; per un’azienda grande valuterei un prodotto dedicato.
Limiti da conoscere
Dite al cliente, prima di partire, che:
- l’utente non vede la firma mentre scrive e non la trova in Posta inviata;
- nelle risposte la firma finisce in fondo a tutta la conversazione, non sotto l’ultimo messaggio;
- se un campo è vuoto resta l’etichetta con la riga vuota: un utente senza cellulare mostra “mob.” senza numero;
- le firme già impostate su Outlook vanno cancellate, altrimenti escono doppie.
Test e passaggio in produzione
Create un gruppo pilota con un utente per società e le caselle condivise, e limitate le regole a quel gruppo con -FromMemberOf. Provate mail verso un indirizzo esterno, una risposta in una conversazione già firmata, un invito di calendario e un invio da casella condivisa. La regola entra in funzione dopo qualche minuto, a volte mezz’ora.
Nei test mi sono accorto di due cose che da una bozza non si vedono: un’immagine larga e bassa, forzata in un riquadro quasi quadrato, esce schiacciata, e una striscia di loghi va messa sotto i contatti, non accanto. Quando i test sono a posto, togliete il limite al gruppo e attivate le regole per tutti.
Vi è capitato di gestire firme per più società nello stesso tenant, o avete trovato un modo migliore per evitare i doppioni? Raccontate nei commenti la vostra soluzione: possono essere utili ad altri.


NinjaOne: “Errore 1316 – L’account specificato esiste già” in reinstallazione dell’agente
Lascia un commento