The estimated reading time 5 minutes
Gerade bei Office 365 haben viele das Problem, gängige E-Mail Benachrichtigungen über den Cloud Server gesendet zu bekommen. Es kann hierzu ein zentrales SMTP Relay im Unternehmen eingerichtet werden, sodass alle Benachrichtigungen zentral über dieses SMTP Relay gesteuert und zum Exchange Online geschickt werden. Hat übrigens ebenso den Vorteil keine zusätzlichen Ports von intern nach extern freigeben zu müssen. Das ganze mache ich natürlich ohne einen On-Premise Exchange Server (was aber auch funktionieren würde)
Was wird benötigt:
- Ein On-Premise Server möglichst 2012R2 (geht auch mit Win2008R2)
- Exchange Online mit einem aktiven Postfach welches für Benachrichtigungen benutzt werden kann (muss keine besonderen Rechte haben)
- Exchange Online Administrationsrechte (Anlegen Verteilergruppen + Connectors etc.)
- Öffentliches SSL Zertifikat das auf den Namen des On-Premise Servers ausgestellt ist (wichtig: bei .local oder ähnlichen Domänen kann kein Zertifikat mit dem Namen generiert werden, dann muss der SMTP Header in der Konfig angepasst werden-> wird kurz innerhalb der Anleitung erwähnt)
- SMTP Adresse des Exchange Online (smtp.office365.com)
Szenario:
E-Mail Benachrichtigung soll über den File01.demo01.it-koehler.com an den Exchange Online geschickt werden. Es ist kein Exchange Server vorhanden und soll auch keiner in die On-Premise Umgebung implementiert werden.
Der Absender der Mail soll filserver@it-koehler.com sein.
Ablauf:
- Vorbereiten der Office 365 Umgebung
- Konfiguration des lokalen Servers
- Implementation SSL Zertifikat
- Funktionstests
Hier die Anleitung:
Zuerst wird der Exchange Online Connector angelegt
Da hier in der Testumgebung die Domäne demo01.it-koehler.com existiert arbeitete ich mit der Platzhalter Domäne (Wildcard)
Nach dem Connector kann auch gleich die Alerting-Gruppe angelegt werden, hier heißt diese Fileserver da der FSRM Benachrichtigungen schicken soll
Das Alerting Postfach bekommt dann noch das Recht „Senden als “ für diese Gruppe (es wird noch beschrieben warum dies gemacht wird)
Der Exchange Online SMTP Server kann über das eigene Postfach ermittelt werden
dazu im OWA anmelden -> Optionen -> POP und IMAP
SMTP Server: smtp.office365.com mit Port 587 +TLS
Genau aus diesem Grund (TLS) benötigt man auch ein öffentliches SSL Zertifikat mit diesem wird die SMTP Autorisierung durchgeführt.
Nun wird der SMTP Server für Windows auf dem On-Premise Server installieren dazu Rollen und Features hinzufügen
Die weiteren Einstellungen können komplett belassen werden
Um den SMTP Server zu verwalten muss die alte IIS Konsole gestartet werden
Für die Anfänge wird empfohlen das LOG zu aktivieren, da dieses die Fehlersuche erleichtert.
Relay Berechtigungen setzen ( hier können IP Adressen eingetragen werden die Relayen dürfen)
HINWEIS: zu Testzwecken sind hier alle freigeschaltet, dies sollte in der Produktivumgebung nicht der Fall sein!
TCP Port für ausgehenden Mailverkehr konfigurieren, in dem Fall TCP 587 (Vorgegeben durch MS)
WICHTIG: Nun muss der FQDN definiert werden. Hier ist dies der Servername, da auf diesen auch ein SSL Zertifikat ausgestellt wird (CommonName des Zertifikates). Kann aber auch ein beliebiger externer Name sein (muss nur mit dem öffentlichen Zertifikat übereinstimmen und sonst nicht erreichbar sein) Wie schon in der Einleitung erwähnt können hier keine .LOCAL etc stehen, da diese nicht mehr im Zertifikat genutzt werden dürfen siehe hierzu icertificate Artikel
Schlägt der DNS Check fehl, findet der Server den Namen nicht im lokalen DNS, ist aber nicht sonderlich tragisch, da dieser nirgends sonst verwendet wird.
Als letzten Schritt beim SMTP muss noch die Domäne zu der relayed werden soll hinzugefügt werden
Hier kann ebenfalls mit Wildcards gearbeitet werden und natürlich muss der SMARTHOST eingetragen werden in diesem Fall smtp.office365.com
Hier muss der Alerting-Benutzer des Exchange Online eingetragen werden (der Benutzer der auch die Berechtigung hat über die Gruppe Fileserver zu versenden)
WICHTIG: Sollte die WindowsFirewall aktiv sein, muss eingehend Port TCP Port 25 erlaubt werden und ausgehend TCP Port 587
So, nun hätten wir noch das Thema TLS zu klären.
Dazu kann auf Startcom SSL verwiesen werden
Um den CSR-request zu erstellen wird der IIS des Servers benutzt
Es muss der Mailserver FQDN hinterlegt werden!
Der Inhalt dieser CSR Datei kann nun bei Startcom eingereicht werden und das Zertifikat wird erstellt (es wird hier nicht beschrieben wie die Domainvalidierung + Ausstellen des Zertifikates bei Startcom funktioniert)
HINWEIS: selbstverständlich kann dies mit jeder anderen öffentlichen Zertifizierungsstelle gemacht werden.
Wir steigen nun an dem Punkt ein, an dem es an das Einspielen des Zertifikates geht
Nun sollte noch kontrolliert werden ob das SSL Zertifikat auch vom SMTP Server erkannt wurde.
Dazu nochmals in die alte IIS Konsole wechseln
Hier sollte nun das Zertifikat auftauchen. Falls nicht eventuell den SMTP nochmals neustarten.
Um nun den finalen Test zu starten, wird der FSRM für SMTP konfiguriert
Wie beschrieben soll die Mail von Fileserver@it-koehler.com kommen, deshalb wurde zu Beginn die Verteilergruppen angelegt. Als Empfänger kann hier ebenfalls eine beliebige Adresse innerhalb der Exchange Organisation eingegeben werden.
Viel Spaß beim Testen und Nachbauen. Kommentare und konstruktive Kritik sind gern gesehen!
Ich habe das Relay gleich nachgebaut, allerdings schicke ich nicht o365, sondern auf meinen vorgeschaltete Mailwall. Wenn ich nun ein Mail von einem MFP an den SMTP schicke, landet das Mail in der Queue wird da aber nicht weitergeschickt. Was mache ich faslch?
Hallo Hannes,
hmm nicht ganz so einfach. Kannst du dir mal folgende Links anschauen und das mal testen?
Viele Grüße
Alexander
Hallo Alexander, hat sich mittlerweile erledigt. Es war ein Problem mit meiner Mail wall, die die Mails nicht angenommen hatte. Man sollt doch auch mal das Ereignis-Log lesen… 😉 Mittlerweile funktioniert alles wie gewünscht. Vielen Dank für die Anleitung und den Respons auf mein Problem…..
Hallo Hannes,
vielen Dank für die Rückmeldung. Schau dich gerne auch auf weiteren Artikeln auf meinem Blog um.
Viele Grüße
Alexander
Hallo, die Konfiguration klappt bei mir ohne einen Connector im Cloud-Exchange eingerichtet zu haben. Ich kann auch nicht an Empfänger einer anderen Domäne außer der eigenen senden. Irgendetwas stimmt da doch nicht? Die E-Mails werden einfach über das Postfach des hinterlegten Benutzer versenden.
Es ist auch egal ob ich ein Zertifikat hinterlege oder nicht.
Ich glaube ich verstehe das Prinzip dahinter noch nicht.
Ich wollte nur einen Server mit der SMTP-Rolle in unsere Domäne aufsetzen der die E-Mails an Empfängerkonten in- und außerhalb unsere Domäne verschickt.
Was mache ich denn da falsch?
Hi Steffen,
du machst nichts falsch. Der Artikel ist leider ziemlich veraltet, ich werde diesen bei Gelegenheit überarbeiten.
Wenn man eine Benuzterauthentifzierung hinterlegt wird natürlich auch kein Connector benötigt.
Wenn man aber nur auf Grund der öffentlichen IP Relayen will oder des Zertifikates dann wird ein Connector in Exchange online notwendig.
Für weitere Infos siehe folgenden Link:
Viele Grüße
Hallo, ich habe es so wie sie gemacht, nur ohne einen Connector im Cloud Exchange anzulegen. Trotzdem gehen die Mails raus. Warum muss ich den überhaupt angeben, wenn ich doch einen authentifizierten User angeben muss mit dem man Mails versenden kann.
Bei mir geht nur leider nicht das senden an andere Empfänger außerhalb der angegebenen Domäne.
Was mache ich da falsch?
Hallo,
die Konfiguration klappt super, aber nur innerhalb meiner Organisation, ist es möglich es so einzurichten, dass auch mails außerhalb der Organisation gesendet werden können?
Hallo Achim,
hört sich irgendwie so an, wie wenn die Relay Berechtigung nicht funktionieren würde. Klappt die SMTP Auth? Falls nicht eventuell mal folgenden Artikel durchführen:
Viele Grüße
Hallo.
Gut geschrieben.
Klappt das auch für mein Anliegen? Wir bekommen nun O365. Freue mich schon drauf. Vorher war Mail auf linux Basis.
Mein ERP System kann zwar per SMTP senden. aber ohne irgendwelche Zugangsdaten oder ähnliches. das würde o365 nicht akzeptieren.
Kann man diese Anleitung genau dafür verwenden das dieser zwischen ERP und o365 gesetzt wird.
Danke
Grüße Frank
Hi Frank,
ja das ERP System versendet im Normalfall über SMTP, somit kann der Relay Server als SMTP Gateway im ERP System eingetragen werden und das Versenden über O365 sollte funktionieren.
Viele Grüße
Alexander
Hallo,
super Beitrag. Klingt sehr Interessant aber irgendwie will das bei mir nicht klappen.
Ich habe Exchange 365 und benutze Outlook.
Versenden möchte ich meine Mails aber über das Sendinblue SMTP Relay.
Ist das überhaupt realisierbar?
Für einen Tipp wäre ich sehr Dankbar 🙂
Hallo,
vielen Dank für das Feedback. Da ich Sendinblue SMTP Relay nicht kenne, weiß ich nicht genau wie das bei diesem Anbieter gemacht wird. Generell versenden aber diese Anbieter meistens über ihre eigenen SMTP Server und nicht über O365, somit müssen diese im SPF authrorisiert werden. Siehe hierzu meinen Artikel: https://blog.it-koehler.com/Archive/216
Bei weiteren Fragen einfach melden.
Viele Grüße Alexander
Danke für diese Anleitung.
Muss die SMTP Relay Sendedomäne tatsächlich eine akzeptierte Office365 Domäne sein?
z.B. Office 365 wäre domain.com und ich möchte mit domain.net(mit Zertifikat) an O365 senden. Wie ich das verstanden habe, reicht es aus das die Empfängerdomäne akzeptiert ist.
Ich möchte nicht alle meine eigenen Domänen in Office 365 einpflegen.
Und kann ich dann auch mit dem Absender file@domain.net an user@domain.com senden.
Bzw. spielt die Absender Adresse eine Rolle.
https://docs.microsoft.com/de-de/previous-versions/exchange-server/exchange-150/dn910993(v=exchg.150)
Gibt es eigentlich eine möglich das Relay ohne Zertifikat und Connector aber mit TLS 1.2 aufzubauen.
Im Prinzip die von Microsoft genannte Option 1 mit Exchange Benutzer.
Aber eben nicht mit einem einzelnen Gerät.
Sondern wie eine Weiterleitungsregel (das alle ankommenden Mails an eine Adresse weiterleitet) in einem E-Mail Client Programm der sich über Port 587 und TLS verbindet.
Danke
Hallo namor123,
im genannten Artikel steht dazu folgendes:
<< Mindestens eine der folgenden Domänen muss als akzeptierte Domäne in Office 365 eingegeben werden: Absenderdomäne Empfängerdomäne Domänenname, der mit dem Zertifikatantragstellernamen übereinstimmt. >>
Als der Artikel geschrieben wurde ging das meines Wissens noch nicht, da war die Absenderdomäne Vorgabe.
Zu Punkt 2
Hierzu gibt es inzwischen einen blog Beitrag von Microsoft:
https://blogs.technet.microsoft.com/exovoice/2018/05/17/how-to-set-up-iis-to-send-emails-using-office-365/
Damit solltes möglich sein, direkt mit einem Benutzer zu authentifizieren.
Solltest du noch weitere Fragen einfach melden.
Viele Grüße
Alexander
Hallo Alexander
Vielen Dank für die ausführliche Anleitung!
Hab das Relay nachgebaut und es funktioniert soweit sehr gut.
Gibt es eine Möglichkeit, dass die über das Relay versendeten Mails nicht im Postausgang des Users, welcher sich mit der Remote-Domäne verbunden hat, landen?
Danke für ein baldiges Feedback!
Hallo Simon,
danke für das Feedback, leider verstehe ich nicht so ganz worauf sich deine Frage bezieht. Die Mails sollten im Normalfall nicht im Postausgang sein, da der Relay Server nicht mit Outlook, sondern direkt per SMTP verschickt. Die sollten gar nicht im Postausgang zu sehen sein. Kannst du das Problem nochmals genauer Beschreiben oder mir auch gerne mal einen Screenshot schicken?
Danke.
Hallo Alexander
Sorry für die umständliche Beschreibung…
Mit „Postausgang“ meinte ich eigentlich „Gesendete Elemente“.
Der User den ich meine, ist der, welcher unter „*.it-koehler.com – Outbound Security – Basic authentication“ eingetragen ist…
Ich versuchs mal anders zu umschreiben:
Bei der Verteilergruppe „fileserver“ ist Alexander Koehler der Besitzer. Im „Senden als“ ist die eMail von Alexander Koehler eingetragen.
In „*.it-koehler.com – Outbound Security – Basic authentication“ ist ebenfalls der O365-Account von Alexander Koehler eingetragen.
Bei mir führt das dazu, dass von jedem Mail, welches durch das Relay geht, eine Kopie in „Gesendete Elemente“ von Alexander Koehler landet.
Da kommt am Ende des Tages ganz schön viel zusammen, wenn man sich von allen Geräten Benachrichtigungen schicken lässt (FileServer, WSUS, AV-Server, mehrere Multifunktionsdrucker, Firewall, Storage, etc….)
Das möchte ich irgendwie verhindern….
Hallo Simon,
jetzt verstehe ich das Anliegen. Ja hierzu gibt es mehrere Möglichkeiten, einmal könntest du eine Aufbewahrungsrichtlinie für das Postfach im O365 Security Compliance Center erstellen, diese würde dann die Mails bereinigen.
https://protection.office.com/retention
Andere Möglichkeit wäre die Umstellung des Relays auf Option 2 des folgenden Artikels von Microsoft:
Für diese Option ist natürlich eine feste IP Adresse Voraussetzung und die Mails können nicht an externe Mailadressen außerhalb der Organisation verschickt werden. Ich hoffe das hilft mal weiter. Ansonsten gern nochmals nachfragen.
Viele Grüße
Alex
Hi Alex
Danke für den Tipp. Ich werde versuchen, das Relay auf „direktes Senden“ umzubauen…