Wussten Sie, dass Sie Office 365 verwenden können, um E-Mails mit PowerShell zu senden? In diesem Artikel erfahren Sie, wie Sie E-Mails mit Office 365 Direct Send und dem PowerShell-Cmdlet Send-MailMessage
senden.
Wenn Sie einen ausführlichen Blick auf das Senden von E-Mails mit PowerShell werfen möchten, schauen Sie sich dieses ausführliche Tutorial zu Send-MailMessage an.
Office 365 Direct Send vs. SMTP-Client-Einreichung
Bevor wir zu weit in die PowerShell eintauchen, wissen Sie, dass es nicht nur eine Möglichkeit gibt, E-Mails über Office 365 mit PowerShell zu senden. Office 365 bietet zwei unterstützte Möglichkeiten zum Senden von E-Mails. Diese Optionen sind Direct Send und SMTP-Client-Einreichung oder SMTP-authentifizierte Einreichung.
SMTP-authentifizierte Einreichung
SMTP-authentifizierte Einreichung ist am einfachsten einzurichten. Sie würden diese Option wählen, wenn Sie E-Mails von einem Gerät oder einer Anwendung an Empfänger innerhalb und außerhalb Ihrer Organisation senden möchten. Es ist keine zusätzliche Aktion in Office 365 erforderlich, um dies zu ermöglichen.
Mit dieser Option können Sie eine beliebige Absenderadresse verwenden. Die Adresse muss jedoch von einer Ihrer verifizierten akzeptierten Domänen stammen.
Um SMTP-authentifizierte Einreichung zu verwenden, müssen Sie:
- Eine Office 365-Benutzer-Mailbox (lizenziert) haben. Diese E-Mail-Adresse wird als Absender der Nachricht angezeigt.
- PowerShell (oder ein anderes Client-Programm) muss in der Lage sein, smtp.office365.com aufzulösen und zu erreichen.
- Der TCP-Port 587 oder 25 muss vom Client aus für Office 365 geöffnet sein.
Direct Send
Die Komplexität wird mit der Option Direktversand etwas erhöht. Wie SMTP-authentifizierter Versand erlaubt auch der Direktversand die Verwendung einer beliebigen Absenderadresse. Auch die von-Adresse muss von einer Ihrer überprüften akzeptierten Domains stammen.
Der große Unterschied zwischen Direktversand und SMTP-authentifiziertem Versand besteht darin, dass keine externen Empfänger zugelassen sind. Wenn Sie E-Mails an Empfänger außerhalb Ihrer Organisation senden müssen, funktioniert der Direktversand nicht für Sie.
Direktversand hat einige eigene Anforderungen/Empfehlungen:
- Diese Absenderadresse muss keine gültige Mailbox sein. Sie wird jedoch benötigt, wenn Sie NDRs oder Antworten unter Verwendung dieser Adresse erhalten möchten.
- Der TCP-Port 25 ist von Ihrem Client zu Office 365 geöffnet.
- Das Gerät muss in der Lage sein, die URL Ihres MX-Endpunkts aufzulösen und zu erreichen (z. B. IhreDomain-com.mail.protection.outlook.com)
- A static public IP address. This is to update your SPF record and avoid your messages getting flagged as spam (optional but recommended)
Wenn Sie nicht wissen, wie Sie Ihre MX-Endpunkt-URL finden, finden Sie hier eine kurze Anleitung:
- Melden Sie sich im Office 365 Admin-Portal an.
- Klicken Sie auf Einrichten (1), wählen Sie Domänen (2), klicken Sie auf den Domainnamen (3), kopieren Sie die MX-Zeigt auf Adresse oder Wert (4).

SMTP-authentifizierter Versand
Die erste Methode zum Senden von E-Mails erfolgt über die SMTP-Client-Übermittlung oder den SMTP-authentifizierten Versand. Mit dem PowerShell-Befehl Send-MailMessage
können wir alle Parameter bereitstellen, die wir benötigen, um E-Mails über Office 365 zu senden.
Nachfolgend finden Sie einen Code-Schnipsel, den Sie verwenden können, um E-Mails auf diese Weise zu senden.
Sie müssen zuerst ein PowerShell PScredential-Objekt definieren und dann alle Parameter bereitstellen, die von Send-MailMessage
benötigt werden.
Wenn Sie den obigen Code ausführen, sollten Sie eine E-Mail von dem internen Empfänger (ihredomain.com) und der externen Domain (nichtihredomain.com) erhalten.


Direct Send (TLS erforderlich)
Ähnlich wie bei SMTP Authenticated Submission können Sie für Send-MailMessage
nahezu dieselben Parameter verwenden. Dieses Mal werden jedoch die To
-Empfänger nur intern sein.
Beachten Sie auch, dass keine PSCredential erforderlich war.

Zusammenfassung
Sie sehen, dass Office 365 zwei verschiedene Optionen für das Senden von E-Mails bietet. In diesem Artikel haben wir PowerShell als Beispiel verwendet, um beide zu demonstrieren. Aber Sie müssen PowerShell nicht verwenden. Solange Ihre Anwendung oder Programmiersprache TLS-Authentifizierung unterstützt, können Sie jede Methode verwenden, die Ihnen gefällt.
Weiterführende Lektüre
Source:
https://adamtheautomator.com/office-365-direct-send/