Von Holger Voges auf Montag, 15. Januar 2018
Kategorie: Tipp

Emails mit Skripten oder Multifunktionsgeräten über Office 365 versenden

Wenn Sie mit "Fremdapplikationen" wie Multifunkitionsdruckern oder aus einem Skript Mails über die Microsoft-eigenen Office 365 Exchange-Server versenden wollen, haben Sie grundsätzlich drei Möglichkeiten: Den anonymen Mailversand, den Versand über ein authentifiziertes Benutzerkonto oder einen dezidierten Connector. In dieser Beschreibung möchte ich mich auf die ersten zwei, weil vermutlich häufigesten, konzentrieren. Den vollständigen Artikel von Microsoft zur Einrichtung aller drei Methoden inklusive des Connectors finden Sie unter "Links" am Ende des Textes.

Die einfachste Variante, um mails zu verschicken, ist ein Postfach in Office 365 anzulegen, also einen neuen Benutzer. Danach können Sie sowohl interne mails (also innerhalb Ihrer O365-Organisation) als auch externe Mails verschicken. Sie verwenden für den Mailversand den Server smtp.office365.com und müssen eine Anmeldung mit Benutzername und Kennwort des Postfachbenutzers durchführen. Hier ein kleines Beispiel mit Powershell:

$Password = Convertto-Securestring -String 'Passwort' -AsPlainText -Force
$credential = New-Object PSCredential("Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.",$Password)
Send-MailMessage -SmtpServer smtp.office365.com -Port 587 -UseSsl -Subject 'Ein Fehler ist aufgetreten' -Body 'fehler' -from Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.' -To Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.' -Credential $credential

Alternativ kann für den Versand auch Port 25 verwendet werden, bevorzugt ist aber Port 587, der für TLS-Verschlüsselung verwendet wird.

Der Nachteil dieser Variante ist, dass Sie ein Postfach und damit eine Benutzerlizenz benötigen. Außerdem ist die Menge der mails, die pro Minute verschickt werden können, auf 30 eingeschränkt. Alternativ können Sie aber auch direkt versenden, ohne eine Postfach zu verwenden. Diese Variante funktioniert aber nur für internen Mailversand - Office 365 leitet keine Mails an Benutzer außerhalb Ihrer Organisation weiter.

Um direkt mails zu versenden, benötigen Sie zuerst den MX-Endpunkt Ihrer Organisation, den Sie über nslookup oder Powershell direkt abfragen können, oder indem Sie mit administrativen Benutzerrechten das Office-Portal aufmachen (portal.office.com), um dann unter Setup -> Domains die Domäne auszuwählen, an die Sie senden wollen. Hier werden Ihnen dann die DNS-Records angezeigt, die für Ihre Domäne gesetzt sein müssen. Wenn Sie die Kommandozeile bevorzugen und sich nicht anmelden wollen, gibt Ihnen dieser Powershell-Befehl die MX-Records Ihrer Domäne aus:

Resolve-DnsName -Name <IhreDomäne> -Type MX

Anschließend können Sie direkt an den Mailexchanger Ihrer Domäne senden. Eine Authentifizierung ist nicht notwendig, der Versand erfolgt allerdings immer über Port 25. Achten Sie darauf, dass Sie die Verschlüsselung erzwingen, da Ihre Daten sonst unverschlüsselt übertragen werden!

Send-MailMessage -SmtpServer <IhrEndpunkt>.mail.protection.outlook.com -Port 25 -UseSsl -Subject 'Ein Fehler ist aufgetreten' -Body 'Fehler' -from Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.' -To Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.'

Die direkte Variante hat eine Reihe von Nachteilen. Sie können, wie schon beschrieben, nur direkt an Ihre Domäne versenden. Außerdem behandelt Exchange Online Ihre mail jetzt als externe mail und schickt Sie durch den Spam-Filter. Die Wahrscheinlichkeit ist groß, dass Ihre mali als Spam markiert wird. Das passiert bei Intern verschickten Nachrichten (wie im ersten Szenario) nicht. Wenn der Mailversand immer von einer statischen IP aus erfolgt, können Sie aber einen SPF-Record (Sender Policy Framework) im DNS setzen, der Ihre IP als vertrauenswürdig markiert. Der SPF-Record ist vom Typ TXT und hat keinen Hostnamen (@). Der Text enthält die IP des Senders:

SPF v=spf1 ip4:<Static IP Address> include:spf.protection.outlook.com ~all

Haben Sie den SPF-Record nicht gesetzt, müssen Sie Ihre IP aller Wahrschelnlichkeit nach bei Microsoft erst Authentifzieren lassen (bei mir war es so). Gehen Sie dafür auf die Seite https://sender.office.com/ und geben Sie Ihre Adresse ein. Sie müssen außerdem Ihre email-Adresse eingeben, an die dann eine Verifizierungsmail gesendet wird. Danach kann es noch bis zu einer halben Stunde dauern, aber danach sollte der anonyme Versand möglich sein.

Weiterführende LInks

How to set up a multifuctional device or applcation to send email using office 365

Verwandte Beiträge

Kommentare hinterlassen