Amarlo o odiarlo; l’email è ovunque. Il protocollo per spostare quella email ovunque è SMTP, e i “router” SMTP sono relay SMTP.
Not a reader? Check out this tutorial’s related video.
La configurazione dei relay SMTP varia a seconda dei sistemi, ma se hai Office 365 come provider di servizi di posta, le opzioni sono limitate. La configurazione può essere complicata e soggetta a errori, soprattutto per i dispositivi che non supportano TLS.
Si noti che l’invio di email tramite Office 365 non richiede un relay SMTP. Puoi far inviare direttamente ai clienti le email a Office 365 senza aggiungere un relay SMTP che non richiede alcuna modifica alla configurazione. Per saperne di più, leggi Come inviare email Office 365 direttamente tramite PowerShell.
Prerequisiti
Ecco i requisiti prima di poter procedere.
- Un abbonamento Office 365. Se non lo hai ancora, puoi registrarti per una prova gratuita di Office 365 E5.
- A Windows 10 computer with PowerShell v5.1
- A public static IP address. You can still create an SMTP relay in Office 365 even without this, but you might not test.
- Accesso alla porta TCP 25 da un client al tuo endpoint MX di Office.
- A valid SSL certificate. This certificate could be a wildcard certificate (eg. *.yourdomain.com) issued by third-party certificate authorities like LetsEncrypt, Digicert, etc. Note, that you cannot use self-signed certificates or certificates issued by an internal PKI because they are not supported. (only required for TLS connections)
Per impostare un rele SMTP, è necessario prima creare un connettore in Office 365 per accettare transazioni SMTP. Questo connettore riceverà le transazioni di rele SMTP dall’applicazione o dal dispositivo.
Prima di provare a creare un connettore, assicurati di avere le autorizzazioni corrette di Exchange Online. Verifica che il tuo account sia un membro del gruppo Gestione organizzazione.
Ci sono due modi per creare un connettore. Puoi utilizzare il Centro di amministrazione di Exchange o PowerShell. Entrambe le opzioni svolgeranno lo stesso compito. Sta a te decidere quale utilizzare. In questo articolo, ne parleremo entrambi. Copriremo anche la creazione di connettori non-TLS e TLS.
Crea un connettore non-TLS utilizzando il Centro di amministrazione di Exchange
Cominciamo creando un connettore non-TLS. Imparerai prima come farlo tramite il Centro di amministrazione di Exchange. Puoi configurare molte impostazioni SMTP di Office 365 nel Centro di amministrazione di Exchange.
Una volta effettuato l’accesso, fai clic su flusso di posta (1) –> connettori (2) –> Nuovo (3). Verrà visualizzata la finestra Nuovo connettore.

Nella finestra Nuovo connettore, seleziona Da: Server di posta elettronica dell’organizzazione (1), seleziona A: Office 365 (2), fai clic su Avanti (3).

Nella finestra successiva, inserisci il nome SMTP Relay (Non-TLS) o scegli un nome personalizzato (1), digita la descrizione Accetta relay dal server SMTP on-premises (2), deseleziona Mantieni intestazioni email Exchange interne (consigliato) (3) e clicca su Avanti (4).

Nella finestra successiva, seleziona Verificando che l’indirizzo IP del server mittente corrisponda a uno di questi indirizzi IP che appartengono alla tua organizzazione (1), e clicca su Aggiungi (2).

Nella nuova finestra popup, inserisci il tuo indirizzo IP pubblico (1), quindi clicca su OK (2). Questo ti riporterà alla finestra precedente.

Verifica che l’indirizzo IP sia stato aggiunto nell’elenco (1), quindi clicca su Avanti (2).

A questo punto vedrai un riepilogo delle modifiche che devi implementare. Lavora prima sulle modifiche necessarie. Se non ce ne sono, puoi procedere e fare clic su Salva.
Tornando al Centro di Amministrazione di Exchange, ora puoi confermare che il nuovo connettore è stato creato.

Dovresti ora avere un connettore non-TLS creato.
Crea un connettore TLS utilizzando il Centro di Amministrazione di Exchange
Creare un connettore TLS è simile alla creazione di un connettore non-TLS. Come hai creato un connettore non-TLS, torna alla procedura guidata Nuovo Connettore e utilizza lo stesso scenario di flusso di posta. Io userò un nome connettore di SMTP Relay (Non-TLS) ma il tuo potrebbe variare.
Nella finestra per definire Office 365, è necessario identificare l’email proveniente dal tuo server email. Seleziona :
- Verificando che il nome del soggetto nel certificato utilizzato dal server mittente per l’autenticazione con Office 365 corrisponda a questo nome di dominio (raccomandato) (1)
- , quindi inserisci il soggetto del certificato SSL (2)
- e fai clic su Avanti (3).

Di nuovo, vedrai un riepilogo delle modifiche necessarie. Lavora su di esse prima di procedere. Se non ce ne sono, puoi fare clic sul pulsante Salva immediatamente.
Crea un connettore Non-TLS utilizzando PowerShell
Se la creazione di connettori Office 365 tramite un’interfaccia grafica non fa per te, puoi sempre crearli anche tramite PowerShell. Per farlo, assicurati prima di essere connesso a Exchange Online PowerShell.
Per creare il connettore, dovrai eseguire il comando New-InboundConnector
. Questo comando richiede alcuni parametri diversi, quindi imposto questi parametri in anticipo utilizzando il splatting.
I’ve added some comments in the code itself below but here’s a breakdown of each parameter and what it’s used for:
- Nome – Questo è il nome del connettore.
- TipoConnettore – Questo è il tipo di connettore. Questo valore può essere
OnPremises
oPartner
. In questo scenario, il tipo appropriato èOnPremises
. - SenderDomains – Questo può essere un elenco dei domini mittenti consentiti. Solo i domini verificati per il tuo locatore sono scelte valide. L’asterisco (
*
) significa che stai consentendo a tutti i tuoi domini verificati di inoltrare messaggi usando questo connettore. Se è necessario consentire solo determinati domini mittenti, modificare questo valore in un array dei domini. (ad esempio'domain1.com','domain2.com'
) - SenderIPAddresses – Questo è il tuo indirizzo IP pubblico. Non dimenticare di cambiarlo prima dell’esecuzione.
- RestrictDomainsToIPAddresses – Quando questo valore è impostato su
$true
, indica che questo connettore accetterà solo email da indirizzi mittenti provenienti dal tuo indirizzo IP pubblico consentito.
Quando eseguito, dovresti vedere qualcosa di simile a quanto segue.

Creare un connettore TLS utilizzando PowerShell
Assumendo che tu sia connesso, esegui il codice sottostante per creare un connettore TLS anche con PowerShell. Come puoi vedere, molti parametri sono identici alla creazione di un connettore non-TLS. I parametri richiesti che differiscono dalla creazione di un connettore non-TLS sono:
- RequireTLS – Questo specifica che tutti i messaggi ricevuti da questo connettore richiedono una trasmissione TLS.
- TlsSenderCertificateName – Questo è il nome (o soggetto) del certificato utilizzato dal mittente.
Esegui il codice sopra riportato per creare un connettore TLS pronto a ricevere email.
Testare il connettore di relay SMTP di Office 365 con PowerShell
Dopo aver creato il connettore, preparati a testarlo. Il modo più semplice per farlo è utilizzare PowerShell. In questa sezione, creeremo alcuni script PowerShell che ti consentiranno di verificare facilmente che il connettore funzioni correttamente.
Prima di iniziare i test, assicurati di conoscere l’URL del punto di fine MX per il tuo dominio Exchange Online. Se non sai come trovare l’URL del punto di fine MX, accedi al Portale di amministrazione di Office 365. Fai clic su Configurazione, seleziona Domini, fai clic sul nome del dominio e copia l’indirizzo o il valore dei punti MX.
Testing di un Relay SMTP non TLS (Indirizzo IP)
Nota: Questo test deve essere effettuato dal computer il cui indirizzo IP pubblico è consentito nella configurazione del relay SMTP di Office 365.
Utilizza il codice PowerShell sottostante per il test. Assicurati di modificare i valori dei parametri Da
, A
e SmtpServer
con le tue impostazioni del relay SMTP di Office 365 prima di eseguirlo.
A
– Deve includere un destinatario del dominio interno e uno del dominio esterno. Non dimenticare di modificare questi valori con i tuoi.Da
– Deve essere modificato con il tuo indirizzo mittente nominato. La parte del dominio dell’indirizzo email deve essere uno dei domini email del tuo locatore.SmtpServer
– Deve essere modificato con il punto di fine MX del tuo locatore Office 365.
Testing di un Relay SMTP TLS (Certificato)
Nota: Devi avere il certificato SSL pubblico in formato PFX prima di poter procedere con questo test.
Poiché il relay TLS SMTP richiede un certificato, non è possibile utilizzare il cmdlet Send-MailMessage
di PowerShell perché non consente di selezionare un certificato specifico. Invece, utilizza due oggetti .NET chiamati System.Net.Mail.SmtpClient per definire i parametri SMTP e System.Net.Mail.MailMessage per comporre il messaggio.
Di seguito troverai un frammento di codice PowerShell che puoi utilizzare per testare il relay TLS SMTP. Non dimenticare di modificare i valori di pfxFile
, pfxPass
, From
, To
e SmtpServer
per utilizzare le impostazioni del tuo relay SMTP di Office 365 prima di eseguirlo.
Se la configurazione del connettore TLS è corretta, i destinatari definiti tramite il metodo Add()
dovrebbero ricevere l’email di test.
Convalida dei Relay SMTP utilizzando l’Intestazione del Messaggio
Ora hai un relay SMTP funzionale configurato utilizzando un server locale e il relay SMTP di Office 365. Tutti i test sono stati eseguiti con successo e i tuoi dispositivi possono inviare messaggi sia a destinatari interni che esterni. Ottimo lavoro!
Se hai ancora dei dubbi e hai bisogno di confermare se questi messaggi stanno passando attraverso il relay SMTP di Office 365, puoi verificare gli header dei messaggi ricevuti.
Nota: L’apertura degli header dei messaggi varia tra i diversi client di posta. L’esempio seguente è specifico per Gmail.
Apri l’email nell’interfaccia di Gmail, apri il messaggio e clicca sui tre puntini verticali (1), quindi clicca su Mostra originale (2).

A new page will show the email message headers. Click on Copy to clipboard (1).

Apri una nuova scheda del browser e vai su https://testconnectivity.microsoft.com/.
Vai alla scheda Analizzatore di messaggi (1), incolla i dati copiati nella casella (2) e clicca su Analizza header (3).

Il risultato dell’analisi verrà visualizzato nella tabella come mostrato di seguito.

Dovresti vedere il seguente flusso di lavoro nei risultati sopra riportati:
- L’indirizzo IP 192.168.0.3 indica l’origine del computer.
- Il server di relay SMTP in locale ha ricevuto il messaggio.
- Exchange Online Protection (EOP) ha ricevuto il messaggio.
- Il server Exchange Online ha ricevuto il messaggio e lo ha reindirizzato per la consegna in uscita.
- Office 365 a google.com ha consegnato il messaggio.
In base ai risultati dell’analisi, puoi confermare che il messaggio è effettivamente passato attraverso il relay SMTP di Office 365 come previsto.
Riepilogo
In questo articolo, hai imparato come creare un relay SMTP Office 365 con e senza TLS. Hai anche imparato come testare e confermare la loro funzionalità utilizzando tecniche diverse e come convalidare le rotte SMTP attraverso le quali il messaggio è passato.