Website-Suche

So erstellen Sie einen IIS-SMTP-Relay-Server


Microsoft IIS kann die Rolle eines SMTP recht gut erfüllen, erfordert jedoch einige Schritte zur Einrichtung. Zum Glück habe ich einen IIS-SMTP-Relay-Server eingerichtet und alle Schritte dokumentiert!

In diesem Artikel behandeln wir alle Schritte, die zum erfolgreichen Einrichten eines SMTP-Relay-Servers zum Senden einer ausgehenden E-Mail mit Office 365 erforderlich sind. Technisch gesehen werden wir dieses SMTP-Relay verwenden, um E-Mails an Office 365 weiterzuleiten; Es kann genauso schnell für alle allgemeinen Zwecke der SMTP-Relay-E-Mail-Zustellung eingesetzt werden.

Voraussetzungen

Um IIS einzurichten und mir zu folgen, stellen Sie sicher, dass Sie über einen Windows Server 2016-Computer verfügen. Ich gehe außerdem davon aus, dass Sie als Administrator am Server angemeldet sind.

Installieren Sie die Windows-Funktion des IIS-SMTP-Servers

Die erste Aufgabe, die Sie ausführen müssen, um ein IIS-SMTP-Relay einzurichten, ist die Installation des IIS-SMTP-Servers. Sie müssen die Windows-Funktion SMTP-Server installieren.

Verwenden des Server-Managers

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

Verwendung von PowerShell

Durch die Installation der SMTP-Server-Funktion entfällt viel Aufwand. Öffnen Sie als Administrator eine PowerShell-Konsole 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 Ausgabe ähnlich dieser sehen.

Ein Zertifikat importieren (nur für TLS)

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

Wenn Sie kein Zertifikat haben, können Sie eines über Ihre interne PKI (falls vorhanden) oder ein öffentliches Zertifikat über Dienste wie LetsEncrypt, Digicert usw. erhalten.

Sobald Sie das Zertifikat haben, müssen Sie es in den persönlichen Zertifikatsspeicher des lokalen Computers importieren. Wenn Sie nicht mit dem Importieren von Zertifikaten mithilfe der Zertifikate-MMC vertraut sind, schauen Sie sich „Zertifikate importieren und exportieren - Microsoft Windows“ an.

Bei Erfolg sollten Sie ein Bestätigungsfenster wie dieses erhalten. Klicken Sie zur Bestätigung auf OK (1).

Zurück im Hauptkonsolenfenster aktualisieren Sie den Ordner Persönlich > Zertifikate und Sie sollten die importierten Zertifikate sehen können Zertifikat.

Validieren Sie das Zertifikat

Stellen Sie nach dem Import sicher, dass die Zertifikatskette vollständig ist und keine Fehler vorliegen. Wenn alles in Ordnung ist, sollten Sie das Zertifikat öffnen können und sehen, dass das Feld Gültig von aktuell ist und dem Zertifikat ein privater Schlüssel zugeordnet ist. Ein Beispiel ist unten dargestellt.

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

Konfigurieren Sie den IIS-SMTP-Server

Sie haben den SMTP-Server zu diesem Zeitpunkt erfolgreich installiert. Doch bevor Sie es verwenden können, müssen zunächst die Servereinstellungen konfiguriert werden.

Der SMTP-Server läuft im IIS6-Kompatibilitätsmodus und verfügt nicht über eine integrierte PowerShell-Unterstützung. Das bedeutet, dass Sie die Einstellungen manuell über die IIS6-Verwaltungskonsole konfigurieren.

Gehen Sie zu Start -> Ausführen, 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 Virtual Server #1] (1) und wählen Sie dann Eigenschaften aus. (2).

Aktivieren Sie im Fenster Eigenschaften die Option Protokollierung aktivieren (1) und klicken Sie dann auf Eigenschaften (2).

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

Gehen Sie im Fenster Eigenschaften zur Registerkarte Lieferung und klicken Sie auf Erweitert (1).

Geben Sie im Fenster Erweiterte Zustellung den vollqualifizierten Domänennamen (1) ein, den Sie für den Ziel-SMTP-Mailserver verwenden möchten . Es muss nicht mit dem FQDN des Computers selbst identisch sein. Wenn Sie diesen SMTP-Server für die Verwendung mit Office 365 konfigurieren, im Feld Smart Host (2) , definieren Sie Ihren Office 365 MX-Endpunkt. und klicken Sie auf OK (3).

Fügen Sie zulässige IPs im IIS-SMTP-Server hinzu

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

Um eine zulässige IP in den Relay-Einschränkungen hinzuzufügen, gehen Sie zur Registerkarte Zugriff und klicken Sie auf Relay (1) .

Klicken Sie im Fenster Relay-Einschränkungen auf Hinzufügen (1).

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

Bestätigen Sie im Fenster Relay-Einschränkungen, dass die IP-Adresse zur Liste hinzugefügt wurde, und klicken Sie dann auf OK (1) und OK aus dem Eigenschaftenfenster.

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 sendet, müssen Sie bestätigen, dass das Zertifikat vom IIS-SMTP-Server erkannt wird, und die TLS-Verschlüsselung aktivieren.

Auf der Registerkarte Zugriff der SMTP-Servereigenschaften sollte die Meldung „Ein TLS-Zertifikat mit dem Ablaufdatum XXXXXX gefunden“ angezeigt werden. Wenn ja, können Sie loslegen.

Klicken Sie anschließend auf die Registerkarte Lieferung, klicken Sie auf Ausgehende Sicherheit (1) und überprüfen Sie das TLS Klicken Sie im Feld Verschlüsselung (2) auf OK (3) .

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, mit der Weiterleitung von E-Mails zu beginnen. Der nächste Schritt besteht darin, es zu testen. Sie sollten nun das Senden von E-Mails über das SMTP-Relay testen, um zu bestätigen, dass der empfangende SMTP-Server die Nachricht erhält.

Testen Sie mit dem Pickup Directory

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 übermittelte E-Mails zur Verarbeitung auf, bevor er sie in das Verzeichnis Queue verschiebt.

Um diese Methode zu testen, erstellen Sie eine Nur-Text-Datei mit einem ähnlichen Inhalt:

From: [email 
To: [email ,[email 
Subject: testing Pickup directory
This is the test message body.

Vergessen Sie nicht, die Werte „Von“ und „Bis“ in Ihre eigenen zu ändern.

Speichern Sie diese Datei nun an einem anderen Ort als dem Abholverzeichnis als mail.txt.

Nachdem Sie die Datei gespeichert haben, kopieren Sie sie und fügen Sie sie in den Ordner C:\inetpub\mailroot\Pickup ein. Bei Erfolg sollte die Datei schnell verschwinden. Das bedeutet, dass der SMTP-Dienst die Nachricht abgerufen und mit der Verarbeitung der Nachricht begonnen hat.

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

Testen Sie mit PowerShell

In diesem Test verwenden Sie PowerShell auf dem Computer, 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 und fügen Sie ihn ein. Stellen Sie sicher, dass Sie die Werte für die Parameter From, To und SmtpServer bearbeiten. Abhängig davon, wie Sie den Relay-Server oben konfiguriert haben, können Sie eines der folgenden Beispiele verwenden, um ein Nicht-TLS- oder TLS-Setup zu testen.

## Build the message parameters
$mailParams = @{
    SmtpServer                 = 'smtp.server.here'
    Port                       = 25
    #UseSSL = $true   
    From                       = '[email '
    To                         = '[email ', '[email '
    Subject                    = ('ON-PREM SMTP Relay - ' + (Get-Date -Format g))
    Body                       = 'This is a test email using ON-PREM SMTP Relay'
    DeliveryNotificationOption = 'OnFailure', 'OnSuccess'
}
<# Send the message #>
Send-MailMessage @mailParams

Zusammenfassung

In diesem Artikel haben Sie erfahren, wie Sie einen IIS-SMTP-Relay-Server für die Empfänger-E-Mail-Zustellung aus Office 365 einrichten. Wir haben die Einrichtung eines Nicht-TLS- und eines TLS-SMTP-Servers mithilfe einer Kombination aus GUI und PowerShell behandelt. Anschließend haben wir unser Setup mit PowerShell getestet, um sicherzustellen, dass alles in Ordnung ist.

Weiterführende Literatur

  • Send-MailMessage: Die PowerShell-Methode zum Senden von E-Mails
  • Automatisieren der Installation von IIS-SSL-Zertifikaten mit PowerShell

Verwandte Artikel