Aimez-le ou détestez-le; le courrier électronique est partout. Le protocole pour déplacer ce courrier électronique partout est SMTP, et les « routeurs » SMTP sont les relais SMTP.
Not a reader? Check out this tutorial’s related video.
La configuration des relais SMTP varie selon les systèmes, mais si vous utilisez Office 365 comme fournisseur de messagerie, vos options sont limitées. La configuration peut être compliquée et sujette aux erreurs, en particulier pour les appareils qui ne sont pas capables de TLS.
Notez que l’envoi de courrier électronique via Office 365 ne nécessite pas de relais SMTP. Vous pouvez faire envoyer directement les courriers électroniques aux clients vers Office 365 sans ajouter de relais SMTP qui ne nécessite aucune modification de configuration. Pour en savoir plus, lisez Comment envoyer des courriers électroniques Office 365 en utilisant Direct Send/SMTP Client Submission (PowerShell).
Prérequis
Voici les exigences préalables avant de pouvoir continuer.
- Un abonnement Office 365. Si vous n’en avez pas encore, vous pouvez vous inscrire à un essai gratuit de l’abonnement 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.
- Accès au port TCP 25 d’un client vers votre point de terminaison MX 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)
Pour configurer un relais SMTP, vous devez d’abord créer un connecteur dans Office 365 pour accepter les transactions SMTP. Ce connecteur recevra les transactions de relais SMTP de l’application ou du périphérique.
Avant de créer un connecteur, assurez-vous que votre compte dispose des autorisations Exchange Online appropriées. Vérifiez que votre compte est membre du groupe Organisation Management.
Il existe deux façons de créer un connecteur. Vous pouvez utiliser soit le Centre d’administration Exchange, soit PowerShell. Les deux options accompliront la même tâche. À vous de choisir celle que vous préférez. Dans cet article, nous couvrirons les deux méthodes. Nous verrons également comment créer des connecteurs à la fois non-TLS et TLS.
Créer un connecteur non-TLS en utilisant le Centre d’administration Exchange
Commençons par créer un connecteur non-TLS. Vous apprendrez d’abord comment le faire via le Centre d’administration Exchange. Vous pouvez configurer de nombreux paramètres SMTP Office 365 dans le Centre d’administration Exchange.
Une fois connecté, cliquez sur flux de courrier (1) –> connecteurs (2) –> Nouveau (3). La fenêtre Nouveau connecteur apparaîtra.

Dans la fenêtre Nouveau connecteur, sélectionnez De : le serveur de messagerie de votre organisation (1), sélectionnez À : Office 365 (2), cliquez sur Suivant (3).

Dans la fenêtre suivante, entrez le nom SMTP Relay (Non-TLS) ou choisissez votre propre nom (1), tapez la description Accepter le relais depuis le serveur SMTP local (2), décochez Conserver les en-têtes de messagerie Exchange internes (recommandé) (3) et cliquez sur Suivant (4).

Dans la fenêtre suivante, sélectionnez En vérifiant que l’adresse IP du serveur d’envoi correspond à l’une de ces adresses IP appartenant à votre organisation (1), puis cliquez sur Ajouter (2).

Dans la nouvelle fenêtre contextuelle, saisissez votre adresse IP publique (1), puis cliquez sur OK (2). Vous devriez être renvoyé à la fenêtre précédente.

Vérifiez que l’adresse IP est ajoutée à la liste (1), puis cliquez sur Suivant (2).

Ensuite, vous verrez un récapitulatif des modifications à apporter. Travaillez d’abord sur les modifications nécessaires. S’il n’y en a pas, vous pouvez cliquer sur Enregistrer.
De retour dans le Centre d’administration Exchange, vous pouvez maintenant confirmer que le nouveau connecteur a été créé.

Vous devriez maintenant avoir un connecteur non-TLS créé.
Créez un connecteur TLS en utilisant le Centre d’administration Exchange
La création d’un connecteur TLS est similaire à celle d’un connecteur non-TLS. Comme pour la création d’un connecteur non-TLS, revenez à l’assistant Nouveau connecteur et utilisez le même scénario de flux de messagerie. J’utiliserai un nom de connecteur SMTP Relay (Non-TLS), mais le vôtre peut varier.
Dans la fenêtre de définition d’Office 365, vous devez identifier l’e-mail provenant de votre serveur de messagerie, sélectionnez:
- En vérifiant que le nom du sujet sur le certificat utilisé par le serveur d’envoi pour s’authentifier auprès d’Office 365 correspond à ce nom de domaine (recommandé) (1)
- puis saisissez le sujet du certificat SSL (2)
- et cliquez sur Suivant (3).

Encore une fois, vous verrez un résumé des modifications nécessaires. Travaillez dessus en premier avant de procéder. S’il n’y en a pas, vous pouvez cliquer directement sur le bouton Enregistrer.
Créez un connecteur Non-TLS à l’aide de PowerShell
Si la création de connecteurs Office 365 via une interface graphique ne vous convient pas, vous pouvez toujours les créer également via PowerShell. Pour ce faire, assurez-vous d’être connecté à Exchange Online PowerShell.
Pour créer le connecteur, vous devrez exécuter la commande New-InboundConnector
. Cette commande nécessite quelques paramètres différents, je vais donc configurer ces paramètres à l’avance en utilisant PowerShell 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:
- Nom – Il s’agit du nom du connecteur.
- Type de connecteur – Il s’agit du type de connecteur. Cette valeur peut être
OnPremises
ouPartner
. Dans ce scénario, le type approprié estOnPremises
. - SenderDomains – Ceci peut être une liste des domaines d’expéditeurs autorisés. Seuls les domaines vérifiés pour votre locataire sont des choix valides. L’astérisque (
*
) signifie que vous autorisez tous vos domaines vérifiés à relayer des messages à l’aide de ce connecteur. Si vous avez seulement besoin d’autoriser certains domaines d’expéditeurs, changez cette valeur en un tableau des domaines (par exemple,'domaine1.com','domaine2.com'
) - SenderIPAddresses – C’est votre adresse IP publique. N’oubliez pas de la changer avant l’exécution.
- RestrictDomainsToIPAddresses – Lorsque cette valeur est définie sur
$true
, cela indique que ce connecteur n’acceptera que les e-mails provenant d’adresses d’expéditeurs de votre adresse IP publique autorisée.
Lors de l’exécution, vous devriez voir quelque chose de similaire à ce qui suit.

Créer un connecteur TLS en utilisant PowerShell.
En supposant que vous êtes connecté, exécutez le code ci-dessous pour créer un connecteur TLS avec PowerShell. Vous pouvez voir ci-dessous que de nombreux paramètres sont identiques à la création d’un connecteur non-TLS. Les paramètres requis qui diffèrent de la création d’un connecteur non-TLS sont :
- RequireTLS – Cela spécifie que tous les messages reçus par ce connecteur nécessitent une transmission TLS
- TlsSenderCertificateName – Il s’agit du nom (ou du sujet) du certificat utilisé par l’expéditeur.
Exécutez le code ci-dessus pour créer un connecteur TLS prêt à recevoir des e-mails.
Testez le connecteur de relais SMTP Office 365 avec PowerShell
Après avoir créé le connecteur, préparez-vous à le tester. Le moyen le plus simple de le faire est d’utiliser PowerShell. Dans cette section, nous allons créer des scripts PowerShell pour vous permettre de vérifier facilement si le connecteur fonctionne correctement.
Avant de commencer les tests, assurez-vous de connaître l’URL du point de terminaison MX pour votre domaine Exchange Online. Si vous ne savez pas comment trouver l’URL du point de terminaison MX, connectez-vous au Portail d’administration Office 365. Cliquez sur Configuration, sélectionnez Domaines, cliquez sur le nom de domaine et copiez l’adresse ou la valeur MX Points.
Test d’un relais SMTP non TLS (adresse IP)
Note : Ce test doit être effectué à partir de l’ordinateur dont l’adresse IP publique est autorisée dans la configuration du relais SMTP Office 365.
Utilisez le code PowerShell ci-dessous pour le test. Assurez-vous de modifier les valeurs des paramètres De
, À
et ServeurSmtp
pour utiliser les paramètres de relais SMTP Office 365 de votre propre organisation avant de l’exécuter.
À
– Doit inclure un destinataire de domaine interne et un destinataire de domaine externe. N’oubliez pas de modifier ces valeurs selon les vôtres.De
– Doit être modifié avec votre adresse d’expéditeur nominée. La partie domaine de l’adresse e-mail doit correspondre à l’un des domaines e-mail de votre locataire.ServeurSmtp
– Doit être modifié avec le point de terminaison MX de votre locataire Office 365.
Test d’un relais SMTP TLS (certificat)
Note : Vous devez disposer du certificat SSL public au format PFX avant de pouvoir procéder à ce test.
Puisque le relais SMTP TLS nécessite un certificat, vous ne pouvez pas utiliser la commande PowerShell Send-MailMessage
car elle ne vous permet pas de sélectionner un certificat spécifique. Au lieu de cela, utilisez deux objets .NET appelés System.Net.Mail.SmtpClient pour définir les paramètres SMTP, et System.Net.Mail.MailMessage pour composer le message.
Ci-dessous, vous trouverez un extrait de code PowerShell que vous pouvez utiliser pour tester le relais SMTP TLS. N’oubliez pas de modifier les valeurs pfxFile
, pfxPass
, From
, To
et SmtpServer
pour utiliser vos paramètres de relais SMTP Office 365 avant de l’exécuter.
Si la configuration du connecteur TLS est correcte, les destinataires définis via la méthode Add()
devraient recevoir l’e-mail de test.
Validation des sauts de relais SMTP à l’aide de l’en-tête du message
Maintenant, vous avez configuré un relais SMTP fonctionnel en utilisant un serveur local et le relais SMTP Office 365. Tous les tests ont réussi et vos appareils peuvent envoyer des messages à la fois aux destinataires internes et externes. Bon travail !
Si vous avez encore des doutes et que vous avez besoin de confirmer si ces messages passent par le relais SMTP Office 365, vous pouvez consulter les en-têtes des messages reçus.
Note: l’ouverture des en-têtes de message varie selon les clients de messagerie. L’exemple ci-dessous concerne spécifiquement Gmail.
Ouvrez l’e-mail dans l’interface Gmail, ouvrez le message et cliquez sur les trois points verticaux (1), puis cliquez sur Afficher l’original (2).

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

Ouvrez un nouvel onglet de navigateur et accédez à https://testconnectivity.microsoft.com/.
Allez dans l’onglet Analyseur de messages (1), collez les données copiées dans la zone (2), puis cliquez sur Analyser les en-têtes (3).

Le résultat de l’analyse s’affichera dans le tableau comme indiqué ci-dessous.

Vous devriez voir le flux de travail suivant dans les résultats ci-dessus:
- L’adresse IP 192.168.0.3 indique l’origine de l’ordinateur.
- Le serveur relais SMTP local a reçu le message.
- Exchange Online Protection (EOP) a reçu le message.
- Le serveur Exchange Online a reçu le message et l’a réacheminé pour une livraison sortante.
- Office 365 vers google.com a livré le message.
Sur la base des résultats de l’analyse, vous pouvez confirmer que le message est bien passé par le relais SMTP Office 365 comme prévu.
Résumé
Dans cet article, vous avez appris comment créer un relais SMTP Office 365 avec et sans TLS. Vous avez également appris comment tester et confirmer leur fonctionnalité en utilisant différentes techniques et comment valider les routes SMTP par lesquelles le message est passé.