Configurer le relais SMTP IIS pour la livraison des e-mails Office 365

Microsoft IIS peut très bien remplir le rôle d’un serveur SMTP, mais cela nécessite quelques étapes pour être configuré. Heureusement pour vous, j’ai configuré un serveur relais SMTP IIS et documenté toutes les étapes!

Dans cet article, nous couvrirons toutes les étapes nécessaires pour configurer avec succès un serveur relais SMTP afin d’envoyer un e-mail sortant avec Office 365. Techniquement, nous utiliserons ce relais SMTP pour rediriger les e-mails vers Office 365 ; cela peut tout aussi bien fonctionner rapidement à des fins de livraison d’e-mails généraux via un relais SMTP.

Prérequis

Pour configurer IIS et suivre avec moi, assurez-vous d’avoir une machine Windows Server 2016 disponible. Je supposerai également que vous êtes connecté au serveur en tant qu’administrateur.

Installer la fonctionnalité IIS SMTP Server de Windows

La première tâche que vous devrez effectuer pour configurer un relais SMTP IIS est d’installer le serveur SMTP IIS. Vous devrez installer la fonctionnalité Serveur SMTP de Windows.

Utilisation de Server Manager

Si vous n’êtes pas familier avec l’installation des fonctionnalités Windows via Server Manager, consultez cet article intitulé Installer ou désinstaller des rôles, des services de rôle ou des fonctionnalités.

Utilisation de PowerShell

Installer la fonctionnalité du serveur SMTP supprime beaucoup de clics. Ouvrez une console PowerShell en tant qu’administrateur et exécutez la commande ci-dessous :

PS51> Install-WindowsFeature -Name SMTP-Server -IncludeAllSubFeature -IncludeManagementTools -Restart

Attendez que l’installation se termine. Vous devriez voir une sortie similaire à ceci.

Installing the SMTP-Server Windows feature with PowerShell

Importez un certificat (pour TLS uniquement)

Si vous envoyez des e-mails via TLS (Office 365), vous devez importer un certificat SSL dans le magasin de certificats personnels de la machine locale du serveur avant de configurer le serveur SMTP IIS. Vous pouvez sauter cette étape si votre relais SMTP Office 365 ne prend pas en charge le TLS.

Si vous n’avez pas de certificat, vous pouvez en obtenir un via votre PKI interne (si vous en avez un) ou un certificat public en utilisant des services tels que LetsEncrypt, Digicert, etc.

Une fois que vous avez le certificat, vous devrez l’importer dans le magasin de certificats personnels de la machine locale. Si vous ne savez pas comment importer des certificats à l’aide de MMC Certificates, consultez Importer et exporter un certificat – Microsoft Windows.

Lorsque la procédure est réussie, vous devriez obtenir une fenêtre de confirmation comme celle-ci. Cliquez sur OK (1) pour confirmer.

Successful certificate import

De retour dans la fenêtre principale de la console, actualisez le dossier Personnel > Certificats et vous devriez pouvoir voir le certificat importé.

Validez le certificat.

Une fois importé, assurez-vous de vérifier que la chaîne de certificats est complète et qu’il n’y a pas d’erreurs. Si tout va bien, vous devriez pouvoir ouvrir le certificat et voir que le champ Valide à partir de est à jour et qu’il y a une clé privée associée au certificat. Un exemple est indiqué ci-dessous.

Validating certificate

Sur l’onglet Chemin de certification, vous devriez également voir un État du certificat indiquant que le certificat est OK, comme indiqué ci-dessous.

Certificate status stating that the certificate is OK

Configurez le serveur SMTP IIS

Vous avez réussi à installer le serveur SMTP à ce stade. Mais avant de pouvoir l’utiliser, les paramètres du serveur doivent d’abord être configurés.

Le serveur SMTP fonctionne en mode de compatibilité IIS6 et ne prend pas en charge PowerShell intégré. Cela signifie que vous devez configurer les paramètres manuellement à l’aide de la console de gestion IIS6.

Allez dans Démarrer -> Exécuter et tapez inetmgr6, puis appuyez sur Entrée. Cela ouvrira la console IIS 6.

Une fois la console ouverte, cliquez avec le bouton droit de la souris sur [Serveur virtuel SMTP n°1] (1), puis sélectionnez Propriétés (2).

Checking SMTP Virtual Server properties

Dans la fenêtre Propriétés, cochez Activer la journalisation (1), puis cliquez sur Propriétés (2).

Enabling logging

Accédez à l’onglet Avancé et cochez toutes les cases de la liste (1), puis cliquez sur OK (2).

Checking advanced options

De retour dans la fenêtre Propriétés, allez à l’onglet Livraison et cliquez sur Avancé (1).

Clicking Advanced button on Delivery tab

Dans la fenêtre Livraison avancée, saisissez le nom de domaine complet (1) que vous souhaitez utiliser pour le serveur de messagerie SMTP de destination. Il n’est pas nécessaire qu’il soit identique au FQDN de l’ordinateur lui-même. Si vous configurez ce serveur SMTP pour une utilisation avec Office 365, dans le champ Smart host (2) , définissez votre point de terminaison MX Office 365, puis cliquez sur OK (3).

Setting smart host

Ajoutez des adresses IP autorisées dans le serveur SMTP IIS

Maintenant, si vous avez un appareil que vous souhaitez tester, vous devez d’abord ajouter son adresse IP aux restrictions de relais. Pour cet exemple, l’adresse IP 192.168.0.3 sera ajoutée aux restrictions de relais. Cette adresse IP appartient à un ordinateur qui se trouve dans le même réseau que le serveur.

Pour ajouter une adresse IP autorisée dans les restrictions de relais, allez dans l’onglet Accès et cliquez sur Relais (1).

Relay button on Access tab

Dans la fenêtre Restrictions de relais, cliquez sur Ajouter (1).

Adding a relay restriction

Ensuite, saisissez l’adresse IP (1) que vous souhaitez autoriser, puis cliquez sur OK (2).

Restricting relay to only a single IP

De retour dans la fenêtre Restrictions de relais, vérifiez que l’adresse IP est ajoutée à la liste, puis cliquez sur OK (1) et OK pour fermer la fenêtre des propriétés.

Confirming new relay restriction

Vérifiez que le certificat est détecté par le serveur SMTP et activez le chiffrement TLS

Si votre serveur de relais envoie des e-mails sortants via TLS, vous devez vérifier que le certificat est visible par le serveur SMTP IIS et activer le chiffrement TLS.

Sur l’onglet Accès des propriétés du serveur SMTP, vous devriez voir un message indiquant « Un certificat TLS est trouvé avec une date d’expiration : XXXXXX ». Si c’est le cas, tout est en ordre.

Inspecting TLS certification expiration date

Ensuite, cliquez sur l’onglet Remise, cliquez sur Sécurité sortante (1), cochez la case Chiffrement TLS (2), cliquez sur OK (3).

Setting TLS encryption on outbound email

Cela conclut les étapes de configuration du serveur SMTP IIS.

Testez le serveur relais de messagerie SMTP IIS

À ce stade, votre serveur SMTP devrait être configuré et prêt à relayer les courriels. La prochaine étape consiste à le tester. Vous devriez maintenant tester l’envoi d’un courriel via le relais SMTP pour confirmer que le serveur SMTP récepteur reçoit le message.

Testez avec le répertoire de collecte

Lorsque le serveur SMTP IIS est installé, il crée un dossier sur le serveur à l’emplacement C:\inetpub\mailroot\Pickup. Ce répertoire est l’endroit où le service SMTP récupère les courriels nouvellement soumis pour les traiter avant de les déplacer vers le répertoire Queue.

Pour tester en utilisant cette méthode, créez un fichier texte avec un contenu similaire à ceci :

From: myname@yourdomain.com
To: someone@somedomain.com,someone@NotYourDomain.com
Subject: testing Pickup directory
This is the test message body.

N’oubliez pas de changer les valeurs De et À par les vôtres.

Enregistrez maintenant ce fichier quelque part en dehors du répertoire de collecte sous le nom mail.txt.

Une fois que vous avez enregistré le fichier, copiez-le et collez-le dans le dossier C:\inetpub\mailroot\Pickup. Si cela réussit, le fichier devrait disparaître rapidement. Cela signifie que le service SMTP l’a récupéré et a commencé le traitement du message.

Après quelques secondes à une minute, vous devriez recevoir l’e-mail envoyé à l’adresse e-mail spécifiée définie dans mail.txt.

Testez avec PowerShell

Dans ce test, vous utiliserez PowerShell à partir de l’ordinateur dont l’adresse IP a été ajoutée dans la section Ajouter des IP autorisées dans le serveur SMTP IIS.

Ouvrez une console PowerShell et copiez/collez le code ci-dessous. Assurez-vous de modifier les valeurs des paramètres From, To et SmtpServer. Selon la façon dont vous avez configuré le serveur relais ci-dessus, vous pouvez utiliser l’un des exemples ci-dessous pour tester une configuration avec ou sans TLS.

## Construire les paramètres du message
$mailParams = @{
    SmtpServer                 = 'smtp.server.here'
    Port                       = 25
    # UseSSL = $true   
    From                       = '[email protected]'
    To                         = '[email protected]', '[email protected]'
    Subject                    = ('ON-PREM SMTP Relay - ' + (Get-Date -Format g))
    Body                       = 'This is a test email using ON-PREM SMTP Relay'
    DeliveryNotificationOption = 'OnFailure', 'OnSuccess'
}
<# Envoyer le message #>
Send-MailMessage @mailParams

Résumé

Dans cet article, vous avez appris comment configurer un serveur relais SMTP IIS pour la livraison des e-mails des destinataires à partir de Office 365. Nous avons couvert la configuration d’un serveur SMTP avec ou sans TLS en utilisant une combinaison de l’interface graphique et de PowerShell. Nous avons ensuite testé notre configuration en utilisant PowerShell pour confirmer que tout fonctionne correctement.

Lecture complémentaire

Source:
https://adamtheautomator.com/iis-smtp-relay/