Integrazione Exchange con Stargate¶
Questa guida spiega come configurare Microsoft Exchange (Online e On-Premises) per instradare la posta attraverso il gateway Stargate per la firma e la crittografia S/MIME.
Panoramica¶
Stargate agisce come relay di posta tra server di posta esterni e l'ambiente Exchange. Sono supportati due modelli di integrazione:
Modello A - Stargate come MX primario (raccomandato per l'elaborazione S/MIME in entrata):
flowchart LR
I1 --> mx15 --> mx20
EO --> TR --> OC --> Stargate --> I2
I1["Internet"]
I2["Internet"]
mx15["Stargate (priorità MX 15)"]
mx20["Exchange Online (priorità MX 20)"]
EO["Exchange Online"]
TR["Regola di trasporto"]
OC["Connettore in uscita"]
Stargate Modello B - Exchange Online come MX primario con regole di trasporto:
flowchart LR
I1 --> EO --> TR --> C --> S1 --> EO
E2 --> TR2 --> OC --> S2 --> I2
I1["Internet"]
I2["Internet"]
EO["Exchange Online"]
E2["Exchange Online"]
TR["Regola di trasporto"]
TR2["Regola di trasporto"]
OC["Connettore in uscita"]
C["Connettore"]
S1["Stargate"]
S2["Stargate"] In entrambi i modelli, sono necessari:
- Record DNS che puntano al server Stargate
- Connettore in uscita - instrada la posta da Exchange a Stargate
- Connettore in entrata - accetta la posta da Stargate in Exchange
- Regola di trasporto - attiva il connettore in uscita per i destinatari esterni
Prerequisiti¶
Prima di configurare Exchange, assicurarsi che:
- Stargate sia installato e in esecuzione (istruzioni di deployment)
- Si disponga dell'indirizzo IP pubblico del server Stargate (indicato come
<STARGATE_IP>di seguito) - Si disponga del nome host di posta del server Stargate (indicato come
<MAIL_HOSTNAME>, es.mail.example.com) - Si conosca il dominio di posta (indicato come
<YOUR_DOMAIN>, es.example.com) - Si abbia accesso admin Exchange (Centro di amministrazione Exchange o Shell di gestione Exchange on-premises)
- I record DNS siano configurati secondo la Guida alla configurazione DNS (A, MX, SPF come minimo)
Parte 1: Configurazione DNS¶
Vedere la Guida alla configurazione DNS per istruzioni complete sulla configurazione dei record A, MX, SPF, PTR, DMARC e DKIM.
Come minimo, prima di procedere con la configurazione Exchange di seguito, è necessario:
- Record A:
<MAIL_HOSTNAME>che punta a<STARGATE_IP> - Record MX:
<YOUR_DOMAIN>con Stargate a priorità più alta (numero inferiore) rispetto a Exchange - Record SPF:
ip4:<STARGATE_IP>eip4:<HIN_SEALER_IP>aggiunti al record TXT del dominio (vedere Guida alla configurazione DNS - SPF per gli IP del sigillatore)
Parte 2: Configurazione Exchange Online¶
Passo A: Creare il connettore in uscita (Office 365 → Stargate)¶
Questo connettore instrada la posta in uscita da Exchange Online al server relay Stargate.
-
Accedere al Centro di amministrazione Exchange - Connettori
-
Fare clic su "+ Aggiungi un connettore"
-
Connessione da: Selezionare "Office 365"
- Connessione a: Selezionare "Server di posta della tua organizzazione"
-
Fare clic su "Avanti"
-
Nome connettore: Inserire un nome descrittivo, es.:
- Selezionare "Mantieni intestazioni email interne di Exchange"
-
Fare clic su "Avanti"
-
Utilizzo del connettore: Selezionare "Solo quando ho una regola di trasporto che reindirizza i messaggi a questo connettore"
- Fare clic su "Avanti"
Tip
Questo è importante - il connettore non instraderà alcuna posta da solo. Verrà utilizzato solo quando attivato dalla regola di trasporto creata al Passo C.
- Routing: Selezionare "Instrada le email attraverso questi smart host"
- Inserire l'indirizzo IP del server Stargate:
<STARGATE_IP> -
Fare clic su "+" per aggiungerlo, quindi su "Avanti"
-
Restrizioni di sicurezza: Selezionare "Qualsiasi certificato digitale, inclusi i certificati auto-firmati"
- Fare clic su "Avanti"
Note
Il MTA di Stargate (Stalwart) accetta TLS opportunistico sulle connessioni in entrata. Selezionare "qualsiasi certificato digitale" garantisce la connettività anche con certificati auto-firmati.
- Email di validazione: Inserire un indirizzo email valido per il dominio (es.
user@<YOUR_DOMAIN>) - Fare clic su "+", quindi su "Convalida"
- Attendere il completamento della validazione, quindi fare clic su "Avanti"
Tip
Affinché la validazione riesca, il server Stargate deve essere in esecuzione e accettare posta sulla porta 25.
-
Rivedere le impostazioni e fare clic su "Crea connettore"
-
Nella schermata di conferma, fare clic su "Fine"
Passo B: Creare il connettore in entrata (Stargate → Office 365)¶
Questo connettore accetta la posta dal server relay Stargate in Exchange Online.
-
Dalla pagina Connettori, fare clic su "+ Aggiungi un connettore"
-
Connessione da: Selezionare "Server di posta della tua organizzazione"
- Connessione a: Mostra "Office 365" (automatico)
-
Fare clic su "Avanti"
-
Nome connettore: Inserire un nome descrittivo, es.:
- Selezionare "Mantieni intestazioni email interne di Exchange"
-
Fare clic su "Avanti"
-
Autenticazione dell'email inviata: Selezionare "Verificando che l'indirizzo IP del server di invio corrisponda a uno dei seguenti indirizzi IP che appartengono esclusivamente alla tua organizzazione"
- Inserire l'indirizzo IP del server Stargate:
<STARGATE_IP> - Fare clic su "+" per aggiungerlo, quindi su "Avanti"
Note
Questo dice a Exchange Online di fidarsi della posta da questo specifico indirizzo IP, bypassando ulteriori controlli di spam/autenticazione per la posta già elaborata da Stargate.
-
Rivedere le impostazioni e fare clic su "Crea connettore"
-
Fare clic su "Fine"
Verificare i connettori¶
Dopo aver creato entrambi i connettori, la pagina Connettori dovrebbe mostrare:
| Stato | Nome | Da | A |
|---|---|---|---|
| Attivo | Receive mail from Stargate relay server | La tua org | O365 |
| Attivo | From Office 365 to Stargate relay server | O365 | La tua org |
Passo C: Creare la regola di trasporto¶
La regola di trasporto reindirizza tutta la posta in uscita attraverso il connettore in uscita Stargate, eccetto la posta proveniente da Stargate stesso (per prevenire loop di posta).
-
Accedere al Centro di amministrazione Exchange - Regole
-
Fare clic su "+ Aggiungi una regola" → "Crea una nuova regola"
-
Nome regola: Inserire un nome descrittivo, es.:
- Applica questa regola se: Selezionare "Il destinatario..." → "è esterno/interno" → "Fuori dall'organizzazione"
- Fare clic su "Salva"
Note
Questa condizione garantisce che solo la posta in uscita (verso destinatari esterni) venga reindirizzata attraverso Stargate.
- Fai quanto segue: Selezionare "Reindirizza il messaggio a..." → "il seguente connettore" → selezionare il connettore in uscita creato al Passo A (es. "From Office 365 to Stargate relay server")
-
Fare clic su "Salva"
-
Eccetto se: Fare clic su "+" per aggiungere un'eccezione
- Selezionare "Il mittente..." → "L'indirizzo IP si trova in uno di questi intervalli"
- Inserire l'indirizzo IP del server Stargate:
<STARGATE_IP> - Fare clic su "Aggiungi", verificare che l'IP sia elencato, quindi fare clic su "Salva"
Warning
Questa eccezione è critica - previene i loop di posta. Senza di essa, la posta da Stargate che arriva a Exchange Online verrebbe reindirizzata a Stargate in un loop infinito.
- Rivedere il riepilogo della regola. Dovrebbe mostrare:
- Applica questa regola se: Il destinatario si trova Fuori dall'organizzazione
- Fai quanto segue: Reindirizza il messaggio al connettore "From Office 365 to Stargate relay server"
-
Eccetto se: L'indirizzo IP del mittente si trova in uno di questi intervalli:
<STARGATE_IP> -
Fare clic su "Avanti", poi "Avanti" di nuovo, poi "Fine", poi "Fine"
-
Abilitare la regola: La regola viene creata in stato disabilitato. Fare clic sulla regola nell'elenco e impostare "Abilita o disabilita regola" su "Abilitato"
Tip
Non dimenticare di abilitare la regola - non funzionerà finché non sarà abilitata.
Parte 3: Configurazione del server Exchange On-Premises¶
Per Exchange Server On-Premises (2016, 2019), la configurazione è simile ma eseguita tramite la Console di gestione Exchange (EAC) o la Shell di gestione Exchange (PowerShell).
Connettore di invio (On-Premises → Stargate)¶
Creare un connettore di invio per instradare la posta in uscita attraverso Stargate:
Shell di gestione Exchange (PowerShell):
New-SendConnector -Name "To Stargate Relay" `
-AddressSpaces "SMTP:*;1" `
-SmartHosts "<STARGATE_IP>" `
-SmartHostAuthMechanism None `
-DNSRoutingEnabled $false `
-SourceTransportServers "<IL_TUO_SERVER_EXCHANGE>"
Centro di amministrazione Exchange (GUI):
- Accedere a Flusso di posta → Connettori di invio
- Fare clic su + per creare un nuovo connettore
- Nome: "To Stargate Relay"
- Tipo: Selezionare "Internet"
- Impostazioni di rete: Selezionare "Instrada la posta attraverso smart host", aggiungere
<STARGATE_IP> - Autenticazione smart host: Selezionare "Nessuna"
- Spazio degli indirizzi: Aggiungere
*(tutti i domini) o domini esterni specifici - Server sorgente: Selezionare il/i server di trasporto Exchange
Connettore di ricezione (Stargate → On-Premises)¶
Creare o modificare un connettore di ricezione per accettare la posta da Stargate:
Shell di gestione Exchange (PowerShell):
New-ReceiveConnector -Name "From Stargate Relay" `
-Bindings "0.0.0.0:25" `
-RemoteIPRanges "<STARGATE_IP>" `
-TransportRole FrontendTransport `
-Usage Custom `
-AuthMechanism ExternalAuthoritative `
-PermissionGroups ExchangeServers
Centro di amministrazione Exchange (GUI):
- Accedere a Flusso di posta → Connettori di ricezione
- Fare clic su + per creare un nuovo connettore
- Nome: "From Stargate Relay"
- Tipo: Selezionare "Trasporto frontend"
- Binding adattatore di rete: Lasciare predefinito o associare a IP specifico
- Impostazioni di rete remote: Rimuovere il valore predefinito
0.0.0.0-255.255.255.255e aggiungere solo<STARGATE_IP> - Autenticazione: Selezionare "Sicurezza esterna"
- Gruppi di autorizzazioni: Selezionare "Server Exchange"
Regola di trasporto (On-Premises)¶
Creare una regola di trasporto per reindirizzare la posta in uscita attraverso il connettore di invio:
Shell di gestione Exchange (PowerShell):
New-TransportRule -Name "Relay outbound via Stargate" `
-SentToScope NotInOrganization `
-RouteMessageOutboundConnector "To Stargate Relay" `
-ExceptIfSenderIpRanges "<STARGATE_IP>"
Centro di amministrazione Exchange (GUI):
- Accedere a Flusso di posta → Regole
- Fare clic su + → "Crea una nuova regola"
- Nome: "Relay outbound via Stargate"
- Applica questa regola se: "Il destinatario si trova..." → "Fuori dall'organizzazione"
- Fai quanto segue: "Reindirizza il messaggio a..." → "il seguente connettore" → "To Stargate Relay"
- Eccetto se: "L'indirizzo IP del mittente è in..." → aggiungere
<STARGATE_IP>
Parte 4: Configurazione lato Stargate¶
Configurazione automatica (Predefinita)¶
Per impostazione predefinita, Stalwart scopre automaticamente dove consegnare la posta elaborata cercando i record MX per ogni dominio configurato tramite la pagina /mail del dashboard. Filtra il proprio nome host e utilizza le voci MX rimanenti come destinazioni di consegna.
Funziona quando:
- Il dominio ha record MX che puntano sia a Stargate che a Exchange
- Stargate ha un record MX con priorità più alta (numero inferiore) rispetto a Exchange
Sostituzione manuale tramite il dashboard¶
Se si desidera che tutta la posta in uscita da Stargate vada a un singolo endpoint Exchange (es. Exchange Online Protection), impostare l'host di relay tramite la pagina /mail del dashboard (es. [smtp.office365.com]). Il dashboard invia il valore all'API REST di mtaconf e il demone lo applica a Stalwart.
Note
Un singolo host di relay invia tutta la posta attraverso un server e non supporta il routing per dominio. Per più domini instradati attraverso server Exchange diversi, utilizzare la mappa di relay per dominio sulla stessa pagina del dashboard (configura sender_dependent_relayhost_maps internamente) - vedere Configurazione multi-dominio di seguito.
Configurazione multi-dominio¶
Per configurazioni con più domini e server Exchange diversi (es. BALZ Informatik AG con 26 domini), utilizzare i record MX per il routing per dominio:
domain1.com MX 10 exchange1.domain1.com
domain1.com MX 20 stargate.domain1.com
domain2.com MX 10 exchange2.domain2.com
domain2.com MX 20 stargate.domain2.com
I record MX di ogni dominio dicono a Stargate dove consegnare la posta elaborata per quel dominio specifico.
Verificare la configurazione di Stargate¶
Dopo la configurazione, verificare la configurazione di Stalwart:
Verificare la configurazione del relay¶
Verificare la coda di posta (dovrebbe essere vuota quando tutto funziona)¶
Inviare un'email di test e controllare i log¶
Risoluzione dei problemi¶
La posta non esce da Exchange Online¶
- Verificare che la regola di trasporto sia abilitata (viene creata in stato disabilitato)
- Controllare le condizioni della regola - dovrebbe applicarsi ai destinatari "Fuori dall'organizzazione"
- Verificare che la validazione del connettore in uscita sia riuscita
- Controllare la traccia dei messaggi Exchange nel Centro di amministrazione per lo stato di consegna
Loop di posta (messaggi duplicati)¶
- Assicurarsi che la regola di trasporto abbia l'eccezione per l'indirizzo IP di Stargate
- Senza questa eccezione, la posta da Stargate che arriva a Exchange viene reindirizzata a Stargate
Stargate non accetta posta da Exchange¶
- Controllare che la porta 25 sia aperta sul firewall del server Stargate
- Verificare che il record SPF includa l'IP Stargate
- Controllare i log Stalwart:
docker logs stargate-stalwart
Exchange Online rifiuta la posta da Stargate¶
- Verificare che il connettore in entrata sia configurato con il corretto IP Stargate
- Controllare che l'IP Stargate non sia cambiato
- Verificare che il connettore sia abilitato (Stato: Attivo)
Errori del certificato TLS¶
Stargate utilizza TLS opportunistico con un certificato auto-firmato. Il connettore in uscita in Exchange deve essere configurato per accettare "Qualsiasi certificato digitale, inclusi i certificati auto-firmati". Se si vedono errori relativi a TLS:
- Verificare che l'impostazione di sicurezza del connettore in uscita consenta certificati auto-firmati
- Per Exchange On-Premises, assicurarsi che il connettore di invio non richieda TLS (
-RequireTLS $false)
La validazione fallisce durante la creazione del connettore¶
La validazione del connettore in uscita richiede:
- Il server Stargate è in esecuzione e accetta connessioni sulla porta 25
- L'indirizzo email di validazione è valido per il dominio
- Il percorso di rete tra Exchange Online e Stargate è aperto (nessun blocco firewall)
Riferimento rapido¶
| Componente | Posizione Exchange Online | Scopo |
|---|---|---|
| Connettore in uscita | Centro di amministrazione → Flusso di posta → Connettori | Instradare la posta in uscita a Stargate |
| Connettore in entrata | Centro di amministrazione → Flusso di posta → Connettori | Accettare la posta da Stargate |
| Regola di trasporto | Centro di amministrazione → Flusso di posta → Regole | Attivare il connettore in uscita per i destinatari esterni |
| Record DNS | Esempio | Scopo |
|---|---|---|
| A | mail IN A <STARGATE_IP> | Puntare il nome host a Stargate |
| MX (Stargate) | @ IN MX 15 mail.<YOUR_DOMAIN>. | La posta in entrata colpisce prima Stargate |
| MX (Exchange) | @ IN MX 20 <DOMAIN>.mail.protection.outlook.com. | Fallback / destinazione di consegna |
| SPF | ip4:<STARGATE_IP> e ip4:<HIN_SEALER_IP> aggiunti al record TXT esistente | Autorizzare Stargate e il sigillatore HIN a inviare posta |
Per la configurazione DNS completa (inclusi PTR, DMARC, DKIM e multi-dominio), vedere la Guida alla configurazione DNS.


