Ecco come creare regole server‑side in una mailbox condivisa di Microsoft 365 che valgono per tutti gli utenti: il percorso rapido con Outlook sul Web (OWA) e quello scalabile con Exchange Online PowerShell, con istruzioni passo‑passo, esempi, buone pratiche e troubleshooting.
Perché le regole della mailbox condivisa devono essere server‑side
Una cassetta postale condivisa vive su Exchange Online e viene aperta da più persone, spesso da postazioni e dispositivi diversi (Outlook per Windows o Mac, OWA, mobile). Perché i messaggi vengano spostati automaticamente in cartelle specifiche per tutti, le regole devono essere elaborate dal server e salvate nella mailbox stessa, non nel profilo locale del singolo utente.
- Regole server‑side: girano su Exchange, funzionano in ogni client, anche quando nessun utente è connesso.
- Regole client‑only: vivono nel profilo di Outlook di un utente; si attivano solo se quel client è aperto. Non sono adatte alle shared mailbox.
In sintesi: progetta e crea regole direttamente sulla cassetta condivisa (OWA o PowerShell), evita le regole locali sul profilo personale.
Due strade consigliate
Passo | Descrizione operativa | Vantaggi | Quando usarlo |
---|---|---|---|
Outlook sul Web (OWA) | Apri la mailbox condivisa: Avatar → Apri un’altra cassetta, digita l’indirizzo e conferma. Vai su Impostazioni (⚙︎) → Posta → Regole. Clic su Nuova regola → definisci condizioni (es. Oggetto contiene…) e azione (es. Sposta in cartella…). | Regola server‑side valida su OWA, Outlook desktop e mobile. Visibile a chiunque abbia diritti sulla mailbox. | Metodo consigliato se hai già permessi “Full Access” o “Manage Rules”. |
PowerShell (Exchange Online) | Crea e gestisci regole con cmdlet come New-InboxRule , Set-InboxRule , Get-InboxRule . Ideale per criteri avanzati, automazione e distribuzione su più cassette condivise. New-InboxRule ` -Mailbox SharedMailbox@dominio.com ` -Name "Sposta Ordini" ` -SubjectContainsWords "Ordine" ` -MoveToFolder "Inbox\Ordini" ` -StopProcessingRules $true | Flessibilità totale: condizioni ed eccezioni avanzate, mass deploy. Versioning e backup semplici (CSV, script). | Per scenari enterprise o quando serve controllo granulare e automazione. Richiede ruolo di amministratore Exchange. |
Procedura dettagliata con Outlook sul Web (OWA)
Prerequisiti
- Permessi sulla mailbox: almeno Full Access. Facoltativo ma utile: Send As/Send on Behalf (non necessario per le regole).
- Cartelle di destinazione già create (es. Inbox > Ordini, Inbox > Fatture). Puoi crearle direttamente dalla barra laterale di OWA.
Creazione della regola
- Apri OWA con il tuo account aziendale. Seleziona l’avatar in alto a destra → Apri un’altra cassetta → digita l’indirizzo della shared mailbox e aprila.
- Vai su Impostazioni (icona ingranaggio) → Posta → Regole (o Posta > Regole, in base alla versione).
- Fai clic su Nuova regola:
- Nome: ORDINI → Sposta in “Ordini”.
- Condizione: Oggetto include → Ordine, PO, Acquisto (puoi inserire più parole chiave).
- Azione: Sposta in → seleziona Inbox > Ordini.
- Opzioni:
- Attiva Interrompi l’elaborazione di altre regole se vuoi che, dopo lo spostamento, nessun’altra regola tocchi il messaggio.
- Valuta eccezioni, es. Se l’oggetto contiene “ordine di prova” → non applicare.
- Salva e testa: invia un’email di prova con oggetto “Ordine 12345” alla casella condivisa.
Note operative
- Le regole create così sono server‑side e si applicano a prescindere dal client usato.
- Tutti i membri con diritti sulla mailbox possono visualizzare e (se autorizzati) modificare le regole.
- Per modificare le priorità trascina le regole nell’elenco (in OWA) o cambia l’ordine con i pulsanti su/giù, così da riflettere la logica desiderata.
Procedura con Exchange Online PowerShell
Prerequisiti
- Ruolo/permessi: un amministratore con diritti per gestire le regole della mailbox (Exchange Online).
- Modulo: ExchangeOnlineManagement installato sul sistema da cui esegui gli script.
Connessione
# Installazione (una tantum)
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Caricamento modulo e connessione
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
Creazione cartella di destinazione (opzionale da PowerShell)
Se vuoi garantire che la cartella esista prima di creare la regola:
$mbx = "SharedMailbox@dominio.com"
$folder = "$mbx:\Inbox\Ordini"
Crea la cartella se non esiste
if (-not (Get-MailboxFolder -Identity $folder -ErrorAction SilentlyContinue)) {
New-MailboxFolder -Parent "$mbx:\Inbox" -Name "Ordini"
}
Creazione della regola
New-InboxRule `
-Mailbox $mbx `
-Name "Sposta Ordini" `
-SubjectContainsWords "Ordine","PO","Acquisto" `
-MoveToFolder "Inbox\Ordini" `
-StopProcessingRules $true `
-Enabled $true
Suggerimenti:
- Usa
-StopProcessingRules $true
per evitare che altre regole rielaborino lo stesso messaggio. - Aggiungi eccezioni con parametri
-ExceptIf*
(es.-ExceptIfSubjectContainsWords "ordine di prova"
). - Per spostamenti multipli in base a domini o mittenti, usa regole dedicate, ordinate per priorità.
Verifica, modifica, disattivazione
# Elenco e priorità
Get-InboxRule -Mailbox $mbx | Sort-Object Priority |
Format-Table Name, Enabled, Priority, MoveToFolder, StopProcessingRules
Modifica
Set-InboxRule -Mailbox $mbx -Identity "Sposta Ordini" `
-SubjectContainsWords "Ordine","PO" -MoveToFolder "Inbox\Ordini"
Disattiva o rimuovi
Disable-InboxRule -Mailbox $mbx -Identity "Sposta Ordini"
Remove-InboxRule -Mailbox $mbx -Identity "Sposta Ordini"
Distribuzione su più mailbox condivise
$mailboxes = @(
"ordini@contoso.com",
"fatture@contoso.com",
"logistica@contoso.com"
)
foreach ($m in $mailboxes) {
crea cartella se necessario
if (-not (Get-MailboxFolder -Identity "$m:\Inbox\Ordini" -ErrorAction SilentlyContinue)) {
New-MailboxFolder -Parent "$m:\Inbox" -Name "Ordini"
}
crea o aggiorna la regola
if (-not (Get-InboxRule -Mailbox $m -Identity "Sposta Ordini" -ErrorAction SilentlyContinue)) {
New-InboxRule -Mailbox $m -Name "Sposta Ordini" ` -SubjectContainsWords "Ordine"`
-MoveToFolder "Inbox\Ordini" -StopProcessingRules $true
} else {
Set-InboxRule -Mailbox $m -Identity "Sposta Ordini" ` -SubjectContainsWords "Ordine"`
-MoveToFolder "Inbox\Ordini" -StopProcessingRules $true
}
}
Backup, versioning e ripristino
# Esporta regole in CSV per documentazione/versioning
Get-InboxRule -Mailbox $mbx |
Select Name,Enabled,Priority,From,SentTo,SubjectContainsWords,
ExceptIfFrom,ExceptIfSubjectContainsWords,MoveToFolder,CopyToFolder |
Export-Csv -NoTypeInformation -Path ".\InboxRules-$($mbx.Split('@')[0]).csv"
Conserva il CSV nel tuo repository interno o allegalo a una change request: in caso di regressioni puoi ricreare rapidamente le regole.
Come progettare regole robuste (pattern ed esempi)
- Parole chiave in oggetto: ottimo per ordini, ticket, RMA. Esempio: Oggetto contiene “Ordine”, “PO”, “RDO”.
- Mittente/dominio: per canali di notifica (
noreply@fornitore.com
,@partner.it
). - Presenza allegati: instradare fatture o bolle (azione: sposta in Inbox > Fatture).
- Liste di distribuzione: condizioni su Inviato a (es.
ordini@
vssupporto@
). - Eccezioni: escludi soggetti di test o mittenti interni per ridurre falsi positivi.
Ordine di esecuzione: le regole vengono elaborate dall’alto verso il basso. Usa “Interrompi l’elaborazione” (OWA) o -StopProcessingRules
(PowerShell) sulle regole principali per evitare duplicazioni e comportamenti inattesi.
Evitare loop/forward esterni: le regole che inoltrano automaticamente a indirizzi esterni possono essere bloccate da policy; in generale privilegia Sposta o Copia in e gestisci inoltri in modo controllato.
Verifiche e buone pratiche
- Permessi – Servono almeno Full Access per creare o modificare regole; in caso contrario, coinvolgi l’IT o un admin Exchange.
- Tipo di regola – Evita azioni client‑only (suoni, popup, categorie); usa sempre azioni server‑side (Sposta, Copia, Elimina, Contrassegna come letto, Inoltra).
- Aggiornamento client desktop – Se la regola funziona in OWA ma non in Outlook:
- Assicurati che Outlook sia online e abbia completato la sincronizzazione.
- Se compaiono conflitti locali, avvia Outlook con
/cleanrules
solo sul profilo personale (le regole della shared mailbox restano sul server). - Verifica che la cartella di destinazione esista e venga sincronizzata in modalità cache (File > Impostazioni account > Impostazioni > Avanzate → “Scarica cartelle condivise”).
- Limiti di capienza – Una mailbox può contenere fino a circa 256 KB di regole (≈100 regole semplici); consolida condizioni simili e riusa regole con più parole chiave per non saturare lo spazio.
- Monitoraggio – Testa con messaggi di prova e verifica con gli strumenti di audit/messagetrace di Exchange se l’azione è stata applicata; aiuta a individuare errori di criterio o permessi.
Risoluzione dei problemi
La regola non sposta i messaggi
- Condizioni troppo restrittive: allarga le parole chiave o verifica gli spazi/accents (“ordine” vs “Ordine”).
- Ordine delle regole: un’altra regola sopra potrebbe catturare prima il messaggio. Sposta la tua più in alto o usa Interrompi l’elaborazione.
- Cartella mancante: ricrea la cartella o correggi il percorso; in PowerShell verifica con
Get-MailboxFolder
.
Funziona in OWA ma non in Outlook
- Controlla la modalità cache (abilita “Scarica cartelle condivise”).
- Aggiorna la selezione delle cartelle sincronizzate e riavvia Outlook.
- Evita regole client‑only: ricreale su OWA o con PowerShell come regole server‑side.
Hai raggiunto il limite di regole
- Unisci regole con logica simile usando più parole chiave nella stessa condizione (l’operatore è “OR” tra i valori).
- Elimina o disattiva regole obsolete; valuta l’uso di eccezioni per ridurre duplicazioni.
- Per instradamenti globali su molte caselle, considera se alcune logiche appartengono a mail flow (regole di trasporto) a livello organizzativo, non all’Inbox della singola cassetta.
Messaggi duplicati o “saltano” tra cartelle
- Assicurati di usare StopProcessing sulla prima regola che deve “vincere”.
- Evita combinazioni di Copia + Sposta su criteri sovrapposti.
- Ripensa la granularità: meglio poche regole stabili che molte parzialmente sovrapposte.
Esempi pronti (da copiare e adattare)
Ordini: oggetto contiene parole chiave
New-InboxRule -Mailbox SharedMailbox@dominio.com `
-Name "ORDINI - Sposta" `
-SubjectContainsWords "Ordine","PO","Acquisto" `
-MoveToFolder "Inbox\Ordini" -StopProcessingRules $true
Fatture: mittente di un fornitore + allegato
New-InboxRule -Mailbox SharedMailbox@dominio.com `
-Name "FATTURE - Sposta" `
-From noreply@fornitore.it `
-HasAttachment $true `
-MoveToFolder "Inbox\Fatture" -StopProcessingRules $true
Ticket: inviato a un alias specifico
New-InboxRule -Mailbox SharedMailbox@dominio.com `
-Name "TICKET - Sposta" `
-SentTo "supporto@dominio.com" `
-MoveToFolder "Inbox\Ticket" -StopProcessingRules $true
Escludi messaggi interni di test
Set-InboxRule -Mailbox SharedMailbox@dominio.com `
-Identity "ORDINI - Sposta" `
-ExceptIfFrom "nome.cognome@dominio.com","qa@dominio.com"
Governance, documentazione e change management
- Nomenclatura: adotta prefissi coerenti (es. ORDINI →, FATTURE →) e descrizioni chiare nello Scope interno.
- Documentazione condivisa: mantieni un file interno (wiki/SharePoint) con elenco regole, criteri e proprietari. Aggiorna a ogni modifica.
- Versioning: esporta regole con
Get-InboxRule
in CSV a ogni change; allega il CSV alla richiesta di modifica. - Revisione periodica: programma un controllo trimestrale per eliminare regole obsolete e consolidare criteri simili.
Checklist operativa veloce
- ✅ Ho Full Access alla mailbox condivisa (o un admin disponibile).
- ✅ Le cartelle di destinazione sono create (Ordini, Fatture, Ticket…).
- ✅ Creo/modifico la regola in OWA o con PowerShell sulla mailbox condivisa, non nel mio profilo.
- ✅ Aggiungo StopProcessing se la regola deve “vincere”.
- ✅ Eseguo un test con messaggio di prova e controllo l’esito.
- ✅ Documento la modifica (CSV/esportazione + nota tecnica).
FAQ essenziali
Le regole create dal mio Outlook desktop personale funzionano per tutti?
No. Se create nel profilo personale, sono regole client‑only e non sono affidabili per la cassetta condivisa. Usa OWA o PowerShell direttamente sulla mailbox condivisa.
La lingua della cartella influisce sul percorso in PowerShell?
In genere i cmdlet accettano percorsi standard come Inbox\Subfolder
; in caso di dubbi verifica la cartella con Get-MailboxFolder
e usa quel percorso.
Posso usare “Inoltra” verso indirizzi esterni?
Tecnicamente sì, ma potrebbe essere bloccato da policy di sicurezza/DLP. Preferisci instradamenti interni e revisioni periodiche delle regole.
Qual è il limite massimo di regole?
Circa 256 KB di spazio per mailbox (≈100 regole semplici). Se ti avvicini al limite, consolida criteri e sfrutta le eccezioni.
Le regole valgono anche su dispositivi mobili?
Sì: essendo server‑side, il comportamento è coerente su ogni client (OWA, Outlook desktop, smartphone).
Conclusioni
Per avere automazioni affidabili su una mailbox condivisa, crea regole server‑side direttamente sulla cassetta: il metodo più rapido è Outlook sul Web, mentre Exchange Online PowerShell offre scalabilità, controllo e ripetibilità in contesti enterprise. Progetta condizioni chiare, ordina le regole in modo intenzionale, usa “Interrompi l’elaborazione” quando serve, monitora con test e audit, e conserva sempre una documentazione aggiornata.
Appendice: modello di policy interna per le regole della shared mailbox
- Obiettivo: preservare ordine, reperibilità e governance dei messaggi.
- Ambito: tutte le mailbox condivise dell’unità/funzione.
- Principi:
- Solo regole server‑side create su OWA/PowerShell.
- Nomenclatura uniforme (AREA → Azione).
- Uso prudente di inoltri esterni; approvazione IT quando necessario.
- Versioning tramite esportazione CSV e change log condiviso.
- Revisione trimestrale e test a ogni modifica.
In sintesi: crea la regola con Outlook sul Web per un’attivazione immediata e visibile a tutti; per scenari avanzati o roll‑out su più caselle, usa Exchange Online PowerShell. Se una regola pare “funzionare solo online”, verifica la sincronizzazione di Outlook desktop e la natura effettivamente server‑side della regola.