Einrichten von IIS SMTP Relay für die Zustellung von Office 365-E-Mails

Microsoft IIS kann die Rolle eines SMTP sehr gut übernehmen, erfordert jedoch einige Schritte, um eingerichtet zu werden. Glücklicherweise habe ich einen IIS SMTP Relay-Server eingerichtet und alle Schritte dokumentiert!

In diesem Artikel werden alle Schritte behandelt, die erforderlich sind, um einen SMTP Relay-Server erfolgreich einzurichten, um eine ausgehende E-Mail mit Office 365 zu senden. Technisch gesehen werden wir diesen SMTP Relay verwenden, um E-Mails an Office 365 weiterzuleiten. Er kann jedoch genauso gut für allgemeine SMTP Relay-E-Mailzustellungen verwendet werden.

Voraussetzungen

Um IIS einzurichten und mit mir Schritt zu halten, stellen Sie sicher, dass Sie über eine verfügbare Windows Server 2016 Maschine verfügen. Ich gehe auch davon aus, dass Sie als Administrator auf dem Server angemeldet sind.

Installieren Sie die IIS SMTP Server Windows-Funktion

Die erste Aufgabe, die Sie erledigen müssen, um einen IIS SMTP Relay einzurichten, besteht darin, den IIS SMTP Server zu installieren. Sie müssen die SMTP-Server Windows-Funktion installieren.

Verwendung des Server-Managers

Falls Sie nicht vertraut sind mit der Installation von Windows-Funktionen über den Server-Manager, lesen Sie diesen Artikel mit dem Titel Rollen, Rollendienste oder Funktionen installieren oder deinstallieren.

Verwendung von PowerShell

Die Installation der SMTP-Server-Funktion entfernt viele Klicks. Öffnen Sie eine PowerShell-Konsole als Administrator und führen Sie die folgende Zeile aus:

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

Warten Sie, bis die Installation abgeschlossen ist. Sie sollten eine ähnliche Ausgabe wie diese sehen.

Installing the SMTP-Server Windows feature with PowerShell

Importieren Sie ein Zertifikat (nur für TLS)

Wenn Sie E-Mails über TLS (Office 365) senden möchten, müssen Sie ein SSL-Zertifikat im persönlichen Zertifikatsspeicher des lokalen Servers importieren, bevor Sie den IIS SMTP-Server konfigurieren. Sie können diesen Schritt überspringen, wenn Ihr Office 365 SMTP-Relay kein TLS verwendet.

Wenn Sie kein Zertifikat haben, können Sie eines über Ihre interne PKI (sofern vorhanden) oder über öffentliche Zertifikate von Diensten wie LetsEncrypt, Digicert usw. erhalten.

Nachdem Sie das Zertifikat erhalten haben, müssen Sie es in den persönlichen Zertifikatsspeicher des lokalen Servers importieren. Wenn Sie nicht wissen, wie Sie Zertifikate mithilfe der Zertifikate MMC importieren können, schauen Sie sich Importieren und Exportieren von Zertifikaten – Microsoft Windows an.

Wenn der Import erfolgreich war, sollten Sie ein Bestätigungsfenster wie dieses erhalten. Klicken Sie auf OK (1), um zu bestätigen.

Successful certificate import

Gehen Sie zurück zum Hauptfenster der Konsole, aktualisieren Sie den Ordner Personal > Zertifikate und Sie sollten das importierte Zertifikat sehen können.

Validieren Sie das Zertifikat.

Nach dem Import stellen Sie bitte sicher, dass die Zertifikatkette vollständig ist und keine Fehler vorliegen. Wenn alles in Ordnung ist, sollten Sie das Zertifikat öffnen können und das Feld Gültig ab aktuell sein sowie ein privater Schlüssel mit dem Zertifikat verknüpft sein. Ein Beispiel wird unten angezeigt.

Validating certificate

Auf der Registerkarte Zertifizierungspfad sollten Sie auch einen Zertifikatsstatus sehen, der besagt, dass das Zertifikat in Ordnung ist, wie unten gezeigt.

Certificate status stating that the certificate is OK

Konfigurieren Sie den IIS SMTP-Server

Sie haben den SMTP-Server erfolgreich installiert. Bevor Sie ihn jedoch verwenden können, müssen die Servereinstellungen zuerst konfiguriert werden.

Der SMTP-Server läuft im IIS6-Kompatibilitätsmodus und unterstützt kein PowerShell. Das bedeutet, dass Sie die Einstellungen manuell über die IIS6-Verwaltungskonsole konfigurieren müssen.

Gehen Sie zu Start -> Ausführen und geben Sie inetmgr6 ein und drücken Sie die Eingabetaste. Dadurch wird die IIS 6-Konsole geöffnet.

Sobald die Konsole geöffnet ist, klicken Sie mit der rechten Maustaste auf [SMTP-Virtualserver #1] (1) und wählen Sie dann Eigenschaften (2).

Checking SMTP Virtual Server properties

In dem Fenster Eigenschaften aktivieren Sie das Kontrollkästchen Protokollierung aktivieren (1) und klicken Sie dann auf Eigenschaften (2).

Enabling logging

Gehen Sie zur Registerkarte Erweitert und aktivieren Sie alle Kontrollkästchen in der Liste (1) und klicken Sie dann auf OK (2).

Checking advanced options

Zurück im Fenster Eigenschaften gehen Sie zur Registerkarte Zustellung und klicken Sie auf Erweitert (1).

Clicking Advanced button on Delivery tab

Im Fenster „Erweiterte Zustellung“ geben Sie den vollqualifizierten Domänennamen ein, den Sie für den Ziel-SMTP-Mailserver verwenden möchten. Dies muss nicht derselbe sein wie der FQDN des Computers selbst. Wenn Sie diesen SMTP-Server für die Verwendung mit Office 365 konfigurieren, geben Sie im Feld „Smart Host“ (2) Ihren Office 365 MX-Endpunkt an und klicken Sie auf „OK“ (3).

Setting smart host

Fügen Sie erlaubte IPs im IIS SMTP-Server hinzu

Wenn Sie ein Gerät haben, das Sie testen möchten, müssen Sie zuerst seine IP-Adresse zu den Weiterleitungsbeschränkungen hinzufügen. In diesem Beispiel wird die IP-Adresse 192.168.0.3 zu den Weiterleitungsbeschränkungen hinzugefügt. Diese IP-Adresse gehört zu einem Computer, der sich im selben Netzwerk wie der Server befindet.

Um eine erlaubte IP-Adresse in den Weiterleitungsbeschränkungen hinzuzufügen, gehen Sie zum Tab „Zugriff“ und klicken Sie auf „Weiterleitung“ (1).

Relay button on Access tab

In dem Fenster „Weiterleitungsbeschränkungen“ klicken Sie auf „Hinzufügen“ (1)

Adding a relay restriction

Geben Sie dann die IP-Adresse (1) ein, die Sie zulassen möchten, und klicken Sie auf „OK“ (2).

Restricting relay to only a single IP

In dem Fenster „Weiterleitungsbeschränkungen“ bestätigen Sie, dass die IP-Adresse zur Liste hinzugefügt wurde, und klicken Sie auf „OK“ (1) und OK, um das Eigenschaftenfenster zu schließen.

Confirming new relay restriction

Bestätigen Sie, dass das Zertifikat vom SMTP-Server erkannt wird, und aktivieren Sie die TLS-Verschlüsselung

Wenn Ihr Relay-Server ausgehende E-Mails über TLS senden soll, müssen Sie bestätigen, dass das Zertifikat vom IIS SMTP-Server erkannt wird, und die TLS-Verschlüsselung aktivieren.

Auf dem Zugriff-Tab der Eigenschaften des SMTP-Servers sollten Sie eine Meldung sehen, die besagt „Ein TLS-Zertifikat mit Ablaufdatum: XXXXXX wurde gefunden“. Wenn dies der Fall ist, kann es losgehen.

Inspecting TLS certification expiration date

Klicken Sie als nächstes auf das Zustellung-Tab, klicken Sie auf Ausgehende Sicherheit (1), aktivieren Sie das Kontrollkästchen TLS-Verschlüsselung (2) und klicken Sie auf OK (3).

Setting TLS encryption on outbound email

Damit sind die Konfigurationsschritte für den IIS SMTP-Server abgeschlossen.

Testen Sie den IIS SMTP Mail Relay Server

Zu diesem Zeitpunkt sollte Ihr SMTP-Server konfiguriert und bereit sein, E-Mails weiterzuleiten. Der nächste Schritt besteht darin, ihn zu testen. Sie sollten nun den Versand von E-Mails über das SMTP-Relais testen, um zu bestätigen, dass der empfangende SMTP-Server die Nachricht erhält.

Test mit dem Pickup-Verzeichnis

Wenn der IIS SMTP-Server installiert ist, wird auf dem Server ein Ordner unter C:\inetpub\mailroot\Pickup erstellt. In diesem Verzeichnis nimmt der SMTP-Dienst neu eingereichte E-Mails zur Verarbeitung an, bevor er sie in das Queue-Verzeichnis verschiebt.

Um dies mit dieser Methode zu testen, erstellen Sie eine Textdatei mit einem Inhalt ähnlich wie diesem:

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

Vergessen Sie nicht, die Werte für „Von“ und „An“ entsprechend anzupassen.

Speichern Sie diese Datei nun an einem anderen Ort als im Pickup-Verzeichnis mit dem Namen mail.txt.

Nachdem Sie die Datei gespeichert haben, kopieren Sie sie in den Ordner C:\inetpub\mailroot\Pickup. Wenn es erfolgreich ist, sollte die Datei schnell verschwinden. Dies bedeutet, dass der SMTP-Dienst sie aufgenommen und mit der Verarbeitung der Nachricht begonnen hat.

Nach einigen Sekunden bis zu einer Minute sollten Sie die E-Mail erhalten, die an die angegebene Empfänger-E-Mail-Adresse in mail.txt gesendet wurde.

Testen Sie mit PowerShell

In diesem Test verwenden Sie PowerShell vom Computer aus, dessen IP-Adresse Sie im Abschnitt Zulässige IPs im IIS SMTP-Server hinzufügen hinzugefügt haben.

Öffnen Sie eine PowerShell-Konsole und kopieren Sie den folgenden Code. Stellen Sie sicher, dass Sie die Werte für die Von, An und SmtpServer-Parameter bearbeiten. Abhängig davon, wie Sie den Relay-Server oben konfiguriert haben, können Sie entweder das unten stehende Beispiel verwenden, um eine Nicht-TLS- oder TLS-Konfiguration zu testen.

## Baue die Nachrichtenparameter
$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'
}
<# Sende die Nachricht #>
Send-MailMessage @mailParams

Zusammenfassung

In diesem Artikel haben Sie gelernt, wie Sie einen IIS SMTP-Relay-Server für die Zustellung von Empfänger-E-Mails von Office 365 einrichten. Wir haben sowohl einen Nicht-TLS- als auch einen TLS-SMTP-Server eingerichtet, indem wir eine Kombination aus der grafischen Benutzeroberfläche und PowerShell verwendet haben. Anschließend haben wir unsere Konfiguration mit PowerShell getestet, um sicherzustellen, dass alles funktioniert.

Weiterführende Informationen

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