Vuoi che ogni risposta automatica di Outlook sembri una risposta “vera”, con oggetto che inizia da RE: <oggetto originale>? In questa guida trovi metodi pratici, pro e contro, istruzioni passo‑passo, codice VBA pronto e un’alternativa cloud h24 con Power Automate.
Obiettivo e contesto
L’esigenza è semplice: quando arriva un messaggio con oggetto, per esempio, HELLO WORLD, la tua risposta automatica deve uscire con oggetto RE: HELLO WORLD, cioè la stessa forma di una normale risposta manuale. In questo modo:
- rispetti i flussi conversazionali (thread) del destinatario;
 - migliori la leggibilità nella posta altrui;
 - puoi mantenere firme, disclaimer e formattazioni coerenti.
 
Va però chiarito un dettaglio importante: Outlook classico per Windows (desktop) offre regole e macro che permettono di automatizzare la risposta con l’oggetto “ereditato”; il nuovo Outlook (basato su web) non supporta ancora tutti gli stessi meccanismi client-only. Se desideri un comportamento h24 senza PC acceso, Power Automate nel cloud è la soluzione più affidabile.
Confronto tra approcci
| Approccio | Come funziona | Vantaggi | Limiti / Attenzioni | 
|---|---|---|---|
| Regola di Outlook con modello (client‑only) | Apri File ▶︎ Gestisci regole e avvisi ▶︎ Nuova regola. Condizione: tutti i messaggi ricevuti (o filtri mirati). Azione: Rispondi usando un modello specifico. Nel modello lascia l’oggetto vuoto: Outlook compila “RE: <oggetto originale>”. | Nessun codice da scrivere. Configurazione rapida. Corpo della risposta personalizzabile via modello .oft. | Funziona solo con Outlook desktop aperto sul PC. Invia una sola risposta per mittente per sessione. Non sostituisce le Automatic Replies lato server di Exchange. L’eventuale prefisso può seguire la lingua del client (es. R: in interfacce italiane). Per forzare “RE:” valuta la macro. | 
| Macro VBA (Reply/ReplyAll) | Script in ThisOutlookSession collegato a una regola “Esegui script”: crea un Reply o ReplyAll, imposta il Subject su "RE: " & Item.Subject, compone il corpo e invia. | Massimo controllo su oggetto, corpo, firme, destinatari, allegati. Possibilità di filtri anti‑loop sui messaggi automatici. Può inviare da alias o cassetta condivisa. | Richiede macro abilitate; spesso bloccate da criteri aziendali. Client‑only: Outlook deve restare aperto. Necessaria cura su sicurezza e manutenzione del codice. | 
| Power Automate nel cloud | Un flusso “Quando arriva una nuova email” invia un nuovo messaggio con oggetto RE: + Subject (contenuto dinamico). Funziona su Exchange Online, anche con cassette condivise. | Esecuzione 24/7 nel cloud, senza PC acceso. Flessibile e scalabile; versionamento e log integrati. Ottimo con caselle di reparto o volumi alti. | Richiede licenza Microsoft 365 adeguata. Va progettato un meccanismo anti‑loop e anti‑duplicati. Prestare attenzione a governance e DLP. | 
| Regole di trasporto di Exchange | Le regole del flusso di posta non possono riscrivere dinamicamente l’oggetto in base all’originale. | Gestibili centralmente. | Non adatte allo scenario “RE: <oggetto originale>”. | 
Metodo pratico con modello di Outlook
Quando conviene
È la scelta migliore se usi Outlook classico per Windows, vuoi partire subito e non hai necessità di funzionamento h24. Ideale per risposte semplici in orario d’ufficio.
Preparazione del modello
- In Outlook, crea un nuovo messaggio.
 - Lascia vuoto il campo Oggetto.
 - Scrivi il corpo che desideri inviare, ad esempio:
Grazie per averci scritto. Questo è un riscontro automatico: ti risponderemo il prima possibile. - Se usi una firma, inseriscila ora.
 - Salva come Modello di Outlook (File ▶︎ Salva con nome ▶︎ Tipo: Modello di Outlook (*.oft)), ad esempio AutoRisposta.oft.
 
Creazione della regola
- Vai su File ▶︎ Gestisci regole e avvisi.
 - Scegli Nuova regola e, dalla sezione “Applica la regola ai messaggi ricevuti”, seleziona l’opzione di base.
 - Imposta le condizioni (tutti i messaggi o solo da destinatari/gruppi, parole specifiche nell’oggetto, esclusioni per domini no‑reply, ecc.).
 - Come azione seleziona Rispondi usando un modello specifico e scegli il file .oft creato.
 - Definisci eventuali eccezioni (per esempio non rispondere se il messaggio è con priorità bassa, se contiene certe parole, se proviene da liste di distribuzione ecc.).
 - Dai un nome alla regola e conferma. Assicurati che la regola sia attiva.
 
Cosa aspettarsi
- Outlook comporrà un messaggio di risposta come se avessi cliccato “Rispondi” al messaggio originale, quindi con oggetto RE: <oggetto originale> e corretta intestazione del thread.
 - Per impostazione nota, il client invia una sola risposta per mittente per sessione: se riavvii Outlook, può inviarne una nuova.
 - In interfacce localizzate, il prefisso può diventare R:. Se vuoi forzare esattamente “RE:”, passa alla macro VBA.
 
Consigli di configurazione
- Filtra gli automatici: escludi indirizzi contenenti no-reply, donotreply, o header che indichino messaggi generati da sistema.
 - Evita il doppio sistema: non attivare contemporaneamente “Risposte automatiche (fuori sede)” server‑side e la regola client, a meno di filtri dedicati.
 - Testa su account secondario prima di mettere in produzione.
 
Metodo avanzato con macro VBA
Perché usarlo
La macro consente di modellare l’autorisposta in profondità: puoi impostare in modo esplicito il Subject con “RE:”, manipolare il corpo HTML, scegliere l’account di invio o rispondere solo al mittente oppure a tutti.
Abilitazione dell’ambiente
- Chiudi Outlook, poi riaprilo e vai su File ▶︎ Opzioni ▶︎ Centro protezione ▶︎ Impostazioni Centro protezione.
 - Verifica le impostazioni macro secondo i criteri aziendali. In ambienti gestiti può essere necessario firmare la macro (SelfCert o certificato aziendale).
 - Nel riquadro principale premi ALT+F11 per aprire l’Editor VBA.
 
Codice VBA pronto
Inserisci il seguente codice in ThisOutlookSession. Il modulo è progettato per collegarsi a una regola “Esegui script” che passa l’elemento MailItem alla routine AutoReply. Include controlli anti‑loop basilari e l’impostazione esplicita di “RE:”.
'-------------------------------------------
' Auto-reply con oggetto "RE: <oggetto>"
'-------------------------------------------
Option Explicit
Public Sub AutoReply(Item As Outlook.MailItem)
    On Error GoTo CleanExit
    ' Evita loop: ignora messaggi automatici o OOF
    If IsAutoSubmitted(Item) Then GoTo CleanExit
    If InStr(1, LCase$(Item.Subject), "automatic reply", vbTextCompare) > 0 _
       Or InStr(1, LCase$(Item.Subject), "risposta automatica", vbTextCompare) > 0 Then GoTo CleanExit
    ' Ignora indirizzi no-reply comuni
    If InStr(1, LCase$(Item.SenderEmailAddress), "no-reply", vbTextCompare) > 0 _
       Or InStr(1, LCase$(Item.SenderEmailAddress), "donotreply", vbTextCompare) > 0 Then GoTo CleanExit
    ' Scegli Reply o ReplyAll a seconda delle esigenze
    Dim rsp As Outlook.MailItem
    Set rsp = Item.Reply   ' oppure: Item.ReplyAll
    ' Forza il prefisso "RE:" indipendentemente dalla lingua del client
    rsp.Subject = "RE: " & Item.Subject
    ' Facoltativo: imposta l'account di invio (per alias o cassette condivise)
    ' Dim acc As Outlook.Account
    ' Set acc = GetAccountBySmtp("shared@contoso.com")
    ' If Not acc Is Nothing Then Set rsp.SendUsingAccount = acc
    ' Corpo HTML personalizzato + contenuto citato
    Dim intro As String
    intro = "<p>Grazie per il messaggio. Questo è un riscontro automatico: " & _
            "ti risponderemo al più presto.</p>"
    rsp.HTMLBody = intro & rsp.HTMLBody
    rsp.Send
CleanExit:
    Set rsp = Nothing
End Sub
Private Function IsAutoSubmitted(m As Outlook.MailItem) As Boolean
    On Error Resume Next
    Dim hdrs As String, val As String
    Dim tag As String
    tag = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
    hdrs = m.PropertyAccessor.GetProperty(tag)
    If Len(hdrs) = 0 Then Exit Function
    ' Cerca header Auto-Submitted: o X-Auto-Response-Suppress:
    If InStr(1, LCase$(hdrs), "auto-submitted:", vbTextCompare) > 0 Then
        val = Trim$(Mid$(hdrs, InStr(1, LCase$(hdrs), "auto-submitted:", vbTextCompare) + 15))
        If Left$(LCase$(val), 2) <> "no" Then IsAutoSubmitted = True
    End If
    If InStr(1, LCase$(hdrs), "x-auto-response-suppress:", vbTextCompare) > 0 Then
        IsAutoSubmitted = True
    End If
End Function
Private Function GetAccountBySmtp(smtp As String) As Outlook.Account
    Dim ac As Outlook.Account
    For Each ac In Application.Session.Accounts
        If LCase$(ac.SmtpAddress) = LCase$(smtp) Then
            Set GetAccountBySmtp = ac
            Exit Function
        End If
    Next ac
End Function
Collegare la macro a una regola
- In Outlook: File ▶︎ Gestisci regole e avvisi ▶︎ Nuova regola.
 - Scegli l’ambito “applica ai messaggi ricevuti”, imposta le condizioni desiderate.
 - Come azione seleziona Esegui script e poi la routine 
Project1.ThisOutlookSession.AutoReply. - Definisci eventuali eccezioni e attiva la regola.
 
Nota: in alcune installazioni l’azione “Esegui script” può essere disabilitata da policy. In tal caso occorre abilitare lo scenario (macro firmate) secondo le regole di sicurezza della tua organizzazione.
Varianti utili
- Rispondere a tutti: sostituisci 
Item.ReplyconItem.ReplyAll. - Inviare da una cassetta condivisa: usa 
Set rsp.SendUsingAccount = GetAccountBySmtp("shared@azienda.it")e assicurati di avere permessi Send As o Send on behalf. - Aggiungere allegati: 
rsp.Attachments.Add "C:\Percorso\file.pdf". - Test A/B del corpo: inserisci varianti di 
introcondizionate a parole chiave nell’oggetto. 
Soluzione h24 nel cloud con Power Automate
Quando preferirla
Se la tua cassetta postale è su Exchange Online (Microsoft 365), un flusso cloud garantisce continuità anche quando i client sono chiusi. È consigliato per cassette di reparto, turnazioni o picchi di volumi.
Schema essenziale del flusso
- Trigger: “Quando arriva una nuova email (V3)” o “When a new email arrives in a shared mailbox (V2)” per cassette condivise.
 - Condizioni: filtri su mittente, dominio, parole chiave nell’oggetto, presenza di allegati, ecc.
 - Azione: “Invia un’email (V2)”. Imposta Oggetto a 
RE: @{triggerOutputs()?['body/subject']}e il Corpo con il testo desiderato (HTML abilitato). - Anti‑loop: aggiungi una condizione che escluda messaggi con header Auto‑Submitted o con oggetto che inizia per “RE:” se già innescato dal tuo flusso. In alternativa, mantieni una lista di controllo (SharePoint/Dataverse) per non rispondere più volte alla stessa conversazione o allo stesso mittente in una finestra temporale.
 - Log e monitoraggio: registra in una lista i reply inviati (data, mittente, oggetto).
 
Deduplicazione consigliata
- Per conversazione: memorizza l’ID conversazione o il Message‑Id del trigger; rispondi solo se non presente in archivio.
 - Per mittente: crea una “tabella mittenti” con scadenza (es. 24 ore). Se il mittente è già presente nella finestra, non inviare.
 
Controlli di qualità
- Formattazione HTML coerente: struttura paragrafi, link a risorse interne e firma aziendale standard.
 - Allegati e dimensioni: evita allegati superflui; preferisci link interni o portali.
 - Tracciabilità: usa Subject e categorie coerenti per eventuali automazioni successive.
 
Elementi da evitare
- Regole di trasporto per cambiare l’oggetto: non possono generare dinamicamente “RE: <oggetto originale>”.
 - Doppie automazioni in concorrenza (client + cloud) senza filtraggio: rischi loop o risposte duplicate.
 - Risposte a sistemi automatici e liste: filtrale con cura.
 
Buone pratiche anti‑loop e deliverability
- Riconosci i messaggi automatici tramite header come Auto‑Submitted, Precedence o X‑Auto‑Response‑Suppress.
 - Escludi indirizzi con pattern come no-reply, donotreply, mailer-daemon, postmaster.
 - Una risposta per finestra temporale per mittente o conversazione.
 - Firma e disclaimer coerenti con le policy, evitando HTML troppo pesante.
 - Test di consegna verso provider principali per verificare che la risposta non finisca in spam.
 
Checklist di test
- Invia da un account esterno con oggetto semplice: verifica “RE: <oggetto>”.
 - Invia una seconda mail a distanza di pochi minuti: la regola client risponde ancora? Se no, valuta macro o Power Automate per logiche personalizzate.
 - Prova con un oggetto lungo o con emoji: controlla che il prefisso “RE:” resti all’inizio e che l’encoding sia corretto.
 - Prova dall’indirizzo no-reply: assicurati che venga escluso.
 - Verifica da mobile e web: l’invio avviene anche a client chiuso? Se non serve h24, va bene; altrimenti passa al cloud.
 
Domande frequenti
Il prefisso sarà sempre “RE:”?
Dipende: la regola con modello usa il comportamento del client, quindi in alcune lingue può essere R:. La macro VBA imposta in modo esplicito “RE:”. Con Power Automate imposti manualmente la stringa.
Posso usare una cassetta condivisa?
Sì. Con VBA imposti SendUsingAccount, con Power Automate usi il trigger e l’azione “in shared mailbox”. Accertati di avere i permessi corretti.
Le “Risposte automatiche” di Outlook/Exchange non vanno bene?
Le OOF server‑side hanno un subject fisso (“Automatic reply: …”) e non replicano il “RE: <oggetto originale>”. Per simulare una risposta manuale usa le soluzioni descritte.
Posso allegare file alla risposta automatica?
Sì: con il modello .oft includi allegati; con VBA usa Attachments.Add; con Power Automate l’azione “Invia email” consente allegati fino ai limiti del tenant.
Come evito di rispondere a newsletter o mailing list?
Applica condizioni su domini o parole chiave, controlla header List‑Id in VBA, oppure in Power Automate escludi se l’header esiste.
Modelli pronti da copiare
Corpo in italiano essenziale
<p>Grazie per averci scritto. Questo è un riscontro automatico: il tuo messaggio è stato ricevuto.</p>
<p>Un membro del team ti contatterà al più presto.</p>
<p>Cordiali saluti,<br>Ufficio Supporto</p>
Corpo bilingue breve
<p>Grazie per il messaggio. Rispondiamo al più presto.</p>
<p>Thank you for your email. We will get back to you soon.</p>
<p>--<br>Team Contatti</p>
Risoluzione problemi
- La regola non risponde: verifica che sia in cima all’elenco e che non ci siano altre regole in conflitto. Controlla che Outlook sia aperto e connesso.
 - Manca l’opzione “Esegui script”: può essere disabilitata da policy. Consulta l’amministratore per firmare la macro e abilitare lo scenario.
 - Oggetto non con “RE:”: con la regola modello, il prefisso può seguire la lingua. Usa la macro o il cloud flow per forzare la stringa.
 - Risposte a catena: rafforza i filtri su header automatici, limita a una risposta per mittente/finestra, escludi i messaggi con “Auto‑Submitted”.
 - Invio da alias sbagliato: specifica l’account con 
SendUsingAccountin VBA o seleziona il mittente corretto nell’azione di Power Automate. 
Linee guida di governance
- Trasparenza: indica nel corpo che si tratta di un riscontro automatico, per correttezza verso il mittente.
 - Conservazione: valuta se archiviare i log delle risposte automatiche e per quanto tempo.
 - Privacy: non includere dati sensibili nelle risposte automatiche; evita di riflettere contenuti riservati dell’originale.
 - Accessibilità: usa HTML semantico semplice, font leggibili e coerenza cromatica con il tema aziendale.
 
Conclusioni operative
Sì, ottenere RE: <oggetto originale> nelle risposte automatiche è possibile e, con gli accorgimenti giusti, anche sicuro:
- Vuoi rapidità sul tuo PC? Usa la regola con modello vuoto in Outlook classico.
 - Vuoi controllo totale sul testo e sul prefisso “RE:”? Scegli la macro VBA con filtri anti‑loop.
 - Vuoi servizio sempre attivo e scalabile? Implementa un flusso Power Automate con deduplica e log.
 
Prima della messa in produzione, dedica qualche minuto a filtri, test e osservabilità: ti eviteranno loop, duplicati e sorprese inaspettate.
