Configurare MTA-STS per Microsoft 365 e Google Workspace
Di CaptainDNS
Pubblicato il 8 febbraio 2026

- Microsoft 365 utilizza il pattern MX
*.mail.protection.outlook.comnella policy MTA-STS; Google Workspace richiede i pattern*.google.come*.googlemail.com - Il file di policy
mta-sts.txtdeve essere ospitato in HTTPS sul sottodominiomta-stsdel tuo dominio, con un certificato TLS valido - Cloudflare Pages o Cloudflare Workers permettono di ospitare gratuitamente il file di policy con HTTPS automatico
- Implementa sempre in modalità
testingcon TLS-RPT attivo prima di passare alla modalitàenforce
Utilizzi Microsoft 365 o Google Workspace per le tue email aziendali. I tuoi server MX sono configurati correttamente, SPF, DKIM e DMARC sono attivi. Ma il trasporto tra server SMTP resta vulnerabile: senza MTA-STS, un attaccante può forzare una connessione in chiaro e intercettare i tuoi messaggi.
MTA-STS (Mail Transfer Agent Strict Transport Security, RFC 8461) risolve questo problema imponendo la crittografia TLS per la ricezione delle email. Il principio è semplice: pubblichi un record DNS e un file di policy che dichiarano i tuoi server MX autorizzati e richiedono una connessione TLS valida.
Questo tutorial ti guida passo dopo passo per implementare MTA-STS su Microsoft 365, Google Workspace e Cloudflare. Ogni sezione contiene i pattern MX esatti, i file di configurazione pronti da copiare e i comandi di validazione. Se stai scoprendo MTA-STS, consulta prima la nostra guida completa MTA-STS per capire il funzionamento del protocollo (vedi la sezione Guide correlate a fine articolo).
Prerequisiti comuni a tutti i provider
Prima di configurare MTA-STS, verifica questi tre punti per il tuo dominio:
1. Certificati TLS validi sui tuoi MX
Tutti i tuoi server MX devono disporre di un certificato TLS valido (TLS 1.2 minimo). Con Microsoft 365 e Google Workspace, è così di default: Microsoft e Google gestiscono i certificati dei loro server MX.
2. Accesso alla tua zona DNS
Devi poter creare un record TXT su _mta-sts.captaindns.com e un record CNAME o A per il sottodominio mta-sts.captaindns.com.
3. Hosting HTTPS per il file di policy
Il file mta-sts.txt deve essere accessibile all'URL esatto https://mta-sts.captaindns.com/.well-known/mta-sts.txt. Hai bisogno di un hosting HTTPS con un certificato valido per il sottodominio mta-sts.

MTA-STS per Microsoft 365 / Office 365
Il pattern MX Microsoft 365
Microsoft 365 utilizza server MX nella forma captaindns-com.mail.protection.outlook.com. Il pattern wildcard corrispondente per la tua policy MTA-STS è:
*.mail.protection.outlook.com
Questo pattern copre tutti i server MX Microsoft 365, comprese le varianti regionali e le configurazioni con Exchange Online Protection (EOP).
Per verificare i tuoi MX Microsoft 365:
dig MX captaindns.com +short
# Risultato atteso: 0 captaindns-com.mail.protection.outlook.com.
File di policy per Microsoft 365
Crea il file mta-sts.txt con il seguente contenuto:
version: STSv1
mode: testing
mx: *.mail.protection.outlook.com
max_age: 86400
| Direttiva | Valore | Spiegazione |
|---|---|---|
version | STSv1 | Versione del protocollo |
mode | testing | Monitoraggio senza blocco (fase iniziale) |
mx | *.mail.protection.outlook.com | Copre tutti i MX Microsoft 365 |
max_age | 86400 | Cache di 24h (adatto al testing) |
Record DNS per Microsoft 365
Aggiungi questo record TXT nella tua zona DNS:
_mta-sts.captaindns.com. 300 IN TXT "v=STSv1; id=20260207120000"
Il campo id deve essere aggiornato a ogni modifica della policy. Utilizza un timestamp nel formato YYYYMMDDHHMMSS per facilitare il monitoraggio.
Microsoft 365 supporta MTA-STS?
Microsoft supporta MTA-STS in invio: quando un server Microsoft 365 invia un'email, verifica la policy MTA-STS del dominio destinatario. Microsoft supporta anche MTA-STS in ricezione: puoi pubblicare una policy per il tuo dominio ospitato su Microsoft 365, e i server mittenti la rispetteranno.
MTA-STS per Google Workspace
I pattern MX Google Workspace
Google Workspace utilizza diversi server MX con nomi variati. I pattern da includere nella tua policy MTA-STS sono:
*.google.com
*.googlemail.com
Questi due pattern coprono l'intero set di server MX Google Workspace, includendo:
| Server MX | Priorità |
|---|---|
aspmx.l.google.com | 1 |
alt1.aspmx.l.google.com | 5 |
alt2.aspmx.l.google.com | 5 |
alt3.aspmx.l.google.com | 10 |
alt4.aspmx.l.google.com | 10 |
File di policy per Google Workspace
version: STSv1
mode: testing
mx: *.google.com
mx: *.googlemail.com
max_age: 86400
Nota che servono due righe mx: una per *.google.com e una per *.googlemail.com. MTA-STS richiede che ogni pattern sia dichiarato su una riga separata.
Record DNS per Google Workspace
Il record DNS è identico nella struttura:
_mta-sts.captaindns.com. 300 IN TXT "v=STSv1; id=20260207120000"
Google Workspace e TLS-RPT
Google è uno dei provider più attivi in materia di TLS-RPT. Se attivi MTA-STS e TLS-RPT, riceverai report dettagliati da Google sulle negoziazioni TLS con il tuo dominio. Questi report sono preziosi per identificare i problemi prima di passare alla modalità enforce.
Ospitare MTA-STS su Cloudflare
Il file di policy deve essere accessibile su https://mta-sts.captaindns.com/.well-known/mta-sts.txt. Cloudflare offre due opzioni gratuite per l'hosting.
Opzione 1: Cloudflare Pages (consigliato)
Cloudflare Pages è la soluzione più semplice. Crea un repository con la seguente struttura:
mio-progetto-mta-sts/
.well-known/
mta-sts.txt
Passaggi per il deployment:
- Crea un repository Git (GitHub o GitLab) con il file
.well-known/mta-sts.txt - Collegalo a Cloudflare Pages: Dashboard Cloudflare > Pages > Create a project
- Configura la build: Framework preset = None, Build command = (vuoto), Output directory =
/ - Aggiungi il dominio personalizzato: Settings > Custom domains >
mta-sts.captaindns.com - Configura il DNS: Cloudflare crea automaticamente un record CNAME
Cloudflare Pages fornisce un certificato TLS automatico tramite Let's Encrypt. Non è necessaria nessuna configurazione aggiuntiva.
Opzione 2: Cloudflare Worker
Per un controllo più granulare o se non vuoi utilizzare un repository Git, un Cloudflare Worker può servire il file di policy:
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === '/.well-known/mta-sts.txt') {
const policy = `version: STSv1
mode: testing
mx: *.mail.protection.outlook.com
max_age: 86400`;
return new Response(policy, {
headers: {
'Content-Type': 'text/plain; charset=utf-8',
'Cache-Control': 'public, max-age=3600',
},
});
}
return new Response('Not Found', { status: 404 });
},
};
Passaggi:
- Crea un Worker: Dashboard Cloudflare > Workers & Pages > Create application
- Incolla il codice qui sopra (adatta le righe
mxal tuo provider) - Aggiungi una route personalizzata:
mta-sts.captaindns.com/* - Configura il DNS: Aggiungi un record AAAA
mta-stsche punta a100::(proxied)
Il piano gratuito Cloudflare Workers include 100.000 richieste al giorno, più che sufficienti per MTA-STS.
Quale Content-Type utilizzare?
Il file di policy deve essere servito con il Content-Type text/plain. La RFC 8461 non specifica un charset obbligatorio, ma text/plain; charset=utf-8 è consigliato per la compatibilità.

Attivare TLS-RPT per monitorare il deployment
TLS-RPT (SMTP TLS Reporting, RFC 8460) è il compagno indispensabile di MTA-STS. Ti invia report giornalieri sui successi e i fallimenti della negoziazione TLS.
Creare il record TLS-RPT
Aggiungi questo record TXT nella tua zona DNS:
_smtp._tls.captaindns.com. 300 IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@captaindns.com"
I report vengono inviati in formato JSON, compressi in gzip, all'indirizzo email specificato. Puoi anche utilizzare un URL HTTPS per ricevere i report tramite webhook:
_smtp._tls.captaindns.com. 300 IN TXT "v=TLSRPTv1; rua=https://tls-reports.captaindns.com/v1/report"
Cosa contengono i report TLS-RPT?
Ogni report copre un periodo di 24 ore e include:
| Informazione | Descrizione |
|---|---|
| Dominio della policy | Il tuo dominio (captaindns.com) |
| Periodo del report | Data di inizio e fine |
| Organizzazione mittente | Google, Microsoft, ecc. |
| Contatore successi | Numero di connessioni TLS riuscite |
| Contatore fallimenti | Numero di connessioni fallite |
| Tipo di errore | starttls-not-supported, certificate-expired, validation-failure, ecc. |
Interpretare i report
In modalità testing, monitora i report per 2-4 settimane. Se il tasso di errore è nullo o prossimo allo zero, puoi passare alla modalità enforce con tranquillità.
Gli errori più comuni nei report:
| Errore | Causa probabile | Azione |
|---|---|---|
certificate-expired | Certificato TLS scaduto su un MX | Rinnovare il certificato |
certificate-host-mismatch | Nome host MX non coperto dal certificato | Verificare il SAN del certificato |
validation-failure | Catena di certificati incompleta | Installare i certificati intermedi |
sts-policy-fetch-error | File mta-sts.txt inaccessibile | Verificare l'hosting HTTPS |
sts-webpki-invalid | Certificato del sottodominio mta-sts non valido | Rinnovare il certificato |
Dal testing all'enforce: piano di migrazione
Fase 1: Deployment iniziale (settimana 1)
- Crea il file di policy in modalità
testingconmax_age: 86400 - Ospitalo su Cloudflare Pages o Workers
- Pubblica il record DNS
_mta-sts - Attiva TLS-RPT
- Valida con il verificatore MTA-STS CaptainDNS
Fase 2: Monitoraggio (settimane 2-4)
- Analizza i report TLS-RPT giornalieri
- Correggi gli errori identificati (certificati, MX non coperti)
- Verifica che il tasso di successo TLS raggiunga il 100%
Fase 3: Passaggio a enforce
- Modifica il file di policy:
mode: enforce - Aumenta
max_age: passa a604800(7 giorni) poi2592000(30 giorni) - Aggiorna il campo
iddel record DNS - Continua a monitorare i report TLS-RPT
version: STSv1
mode: enforce
mx: *.mail.protection.outlook.com
max_age: 2592000
Rollback di emergenza alla modalità testing
Se delle email vengono rifiutate dopo il passaggio a enforce:
- Torna immediatamente a
mode: testingnel file di policy - Aggiorna il campo
iddel record DNS - I server mittenti riscaricheranno la policy e smetteranno di rifiutare
Il tempo di propagazione dipende dal max_age precedente. Ecco perché è consigliato aumentare max_age in modo progressivo.
Piano d'azione consigliato
- Identifica il tuo provider email: Verifica i tuoi record MX con
dig MX captaindns.com +short - Crea il file di policy: Utilizza il generatore MTA-STS CaptainDNS con i pattern MX del tuo provider
- Ospita la policy: Fai il deployment su Cloudflare Pages (opzione più semplice e gratuita)
- Pubblica i record DNS: Aggiungi
_mta-sts(TXT) e_smtp._tls(TLS-RPT) - Valida la configurazione: Verifica con il verificatore di sintassi MTA-STS che la policy sia corretta
- Monitora per 2-4 settimane: Analizza i report TLS-RPT prima di passare a enforce
Verifica la tua configurazione MTA-STS adesso: Utilizza il nostro verificatore MTA-STS per analizzare il tuo dominio in pochi secondi.
FAQ
Come configurare MTA-STS per Microsoft 365?
Crea un file mta-sts.txt con la direttiva mx: *.mail.protection.outlook.com, ospitalo in HTTPS sul sottodominio mta-sts del tuo dominio e pubblica un record DNS TXT su _mta-sts con v=STSv1; id=<timestamp>. Inizia in modalità testing con un max_age di 86400 secondi (24 ore).
Come configurare MTA-STS per Google Workspace?
Il file di policy deve contenere due righe mx: mx: *.google.com e mx: *.googlemail.com. Questi pattern coprono tutti i server MX Google Workspace (aspmx.l.google.com e le sue alternative). Il resto della configurazione (record DNS, hosting HTTPS) è identico a Microsoft 365.
Quale pattern MX usare per Office 365 nella policy MTA-STS?
Il pattern corretto è *.mail.protection.outlook.com. Questo wildcard copre tutti i server MX Microsoft 365, comprese le varianti regionali e Exchange Online Protection. Verifica i tuoi MX con dig MX captaindns.com +short per confermare che corrispondano a questo pattern.
Come ospitare il file mta-sts.txt su Cloudflare?
Due opzioni: Cloudflare Pages (crea un repository Git con il file .well-known/mta-sts.txt e aggiungi il dominio personalizzato mta-sts.captaindns.com) o Cloudflare Workers (fai il deployment di uno script che restituisce il contenuto della policy con il Content-Type text/plain). Entrambe le opzioni sono gratuite e forniscono un certificato TLS automatico.
È necessario configurare TLS-RPT insieme a MTA-STS?
Sì, fortemente consigliato. TLS-RPT (RFC 8460) ti invia report giornalieri sui successi e i fallimenti della negoziazione TLS. Pubblica un record DNS TXT su _smtp._tls con v=TLSRPTv1; rua=mailto:tls-reports@captaindns.com. Senza TLS-RPT, non hai nessuna visibilità sui problemi del tuo deployment MTA-STS.
MTA-STS funziona con un Cloudflare Worker gratuito?
Sì. Il piano gratuito Cloudflare Workers include 100.000 richieste al giorno, più che sufficienti per MTA-STS. I server mittenti interrogano la tua policy occasionalmente (al primo invio e alla scadenza della cache max_age). Un Worker gratuito copre tranquillamente milioni di email al mese.
Microsoft e Google supportano MTA-STS nativamente?
Sì, entrambi. Google supporta MTA-STS in invio (verifica le policy dei domini destinatari) e pubblica report TLS-RPT. Microsoft 365 supporta MTA-STS in invio dal 2020 e invia anche report TLS-RPT. Entrambi i provider gestiscono automaticamente i certificati TLS dei loro server MX.
Come verificare se il mio record MTA-STS è valido?
Utilizza il verificatore MTA-STS CaptainDNS per controllare il tuo record DNS, il file di policy, il certificato TLS del sottodominio mta-sts e la corrispondenza tra i pattern MX dichiarati e i tuoi MX reali. Puoi anche verificare manualmente con dig TXT _mta-sts.captaindns.com e curl https://mta-sts.captaindns.com/.well-known/mta-sts.txt.
Glossario
- MTA-STS: Mail Transfer Agent Strict Transport Security. Standard RFC 8461 che impone la crittografia TLS per la ricezione delle email.
- TLS-RPT: SMTP TLS Reporting (RFC 8460). Meccanismo di report sui successi e i fallimenti della negoziazione TLS.
- Exchange Online Protection (EOP): Servizio di filtraggio email di Microsoft 365 che gestisce i server MX
*.mail.protection.outlook.com. - Cloudflare Pages: Servizio di hosting di siti statici di Cloudflare con HTTPS automatico e deployment tramite Git.
- Cloudflare Workers: Piattaforma serverless di Cloudflare che permette di eseguire JavaScript il più vicino possibile agli utenti.
- max_age: Direttiva della policy MTA-STS che indica la durata del caching in secondi.
Guide MTA-STS correlate
- MTA-STS: la guida completa per proteggere il trasporto email
- MTA-STS non funziona? Guida completa alla risoluzione dei problemi (prossimamente)


