. Verwenden Sie Azure, um E-Mails mit SendGrid, Graph und Office 365 zu senden

Microsoft Azure verfügt nicht über einen E-Mail-Versanddienst. Wenn Sie Anwendungen testen oder Skripte in Azure entwickeln, um E-Mails zu versenden, beachten Sie bitte, dass Ihnen kein nativer E-Mail-Dienst zur Verfügung steht.

Eine ausgehende SMTP-Verbindung über Port 25 ist in Azure ebenfalls vollständig blockiert. Wenn Sie ein Unternehmenskunde sind, können Sie beantragen, dass Port 25 für Ihren Azure-Mandanten freigegeben wird. Andernfalls, wie können Sie sonst E-Mails von Azure aus senden?

Normalerweise gibt es zwei Möglichkeiten, ausgehende E-Mails über Azure zu senden: die Verwendung eines SMTP-Smart Hosts und REST-API-Anfragen. Die meisten E-Mail-Versanddienste bieten sowohl SMTP- als auch API-Methoden zum Senden von E-Mails an. In diesem Artikel erfahren Sie, wie Sie E-Mails von Azure in die ganze Welt senden können.

Voraussetzungen

Dieser Artikel ist ein Leitfaden, und wenn Sie die Beispiele im Verlauf befolgen möchten, müssen Sie einige Anforderungen erfüllen.

Wissen, welche E-Mail-Dienste mit Azure zum Versenden von E-Mails verwendet werden können

Es gibt mehrere Cloud-E-Mail-Dienste, die verwendet werden können. Einige der prominenten Namen sind SendGrid, MailJet und MailGun. Unabhängig vom gewählten E-Mail-Dienst ist das Senden von E-Mails aus Azure ähnlich. Serveradresse und Port für SMTP sowie API-Endpunktadresse für REST.

SendGrid ist ein Beispiel für einen Drittanbieter-E-Mail-Dienst, der in diesem Artikel verwendet wird. Weitere E-Mail-Dienste, die als Beispiele verwendet werden, sind Office 365 SMTP-Relay und Microsoft Graph API.

Verwandt: Welchen Azure-E-Mail-Dienst wählt man für 2021

Verwendung von SendGrid

SendGrid ist wahrscheinlich die beliebteste E-Mail-Serviceoption zum Versenden von E-Mails von Azure aus. Azure und SendGrid sind so beliebt, weil es früher einen kostenlosen Plan mit einem Limit von 25.000 E-Mails pro Monat für Azure-Kunden gab.

Obwohl der kostenlose Plan nicht mehr im Azure-Portal angeboten wird, wie von Microsoft bestätigt, ist es möglich, sich für ein kostenloses Abonnement mit einem Limit von 100 E-Mails pro Tag anzumelden. Sie haben dann Zugang zum SMTP-Relay-Dienst oder zur E-Mail-API von SendGrid, um E-Mails von einer Azure-App oder einem Azure-VM zu versenden.

Erstellen eines SendGrid-Kontos

Um die Dienste von SendGrid nutzen zu können, benötigen Sie zuerst ein SendGrid-Konto. Gehen Sie zur Anmelden-Seite und Sie sollten das unten gezeigte Formular sehen. Geben Sie Ihre E-Mail-Adresse und Ihr gewähltes Passwort ein. Akzeptieren Sie dann die Bedingungen und klicken Sie auf die Schaltfläche Konto erstellen.

Signing up for a free SendGrid account

Auf der nächsten Seite müssen Sie Ihren Namen und Informationen zu Ihrem Unternehmen eingeben. Wählen Sie auch die entsprechenden Optionen wie Ihre Rolle, die Anzahl der monatlich zu versendenden E-Mails und die Anzahl der Mitarbeiter aus. Klicken Sie dann auf Los geht’s.

Entering your account information

Wenn Sie sich zum ersten Mal bei SendGrid anmelden, erhalten Sie möglicherweise eine Fehlermeldung, die besagt: „Sie sind nicht berechtigt, auf SendGrid zuzugreifen; bitte wenden Sie sich an den Support.“ Wenn dies geschieht, eröffnen Sie ein Ticket beim SendGrid-Support. Sie müssen möglicherweise einige Verifikationsfragen beantworten, bevor Ihr Zugriff freigeschaltet wird.

Sie werden aufgefordert, die Zwei-Faktor-Authentifizierung bei Ihrer ersten Anmeldung zu aktivieren. Befolgen Sie die Anweisungen sorgfältig.

Erstellung einer SendGrid-Senderidentität

Nachdem Sie das SendGrid-Konto erstellt haben, ist der nächste Schritt die Autorisierung der Senderidentität. Es gibt zwei Optionen: Authentifizieren Sie einen einzelnen Absender (z. B. [email protected]) oder authentifizieren Sie eine gesamte Domäne (z. B. domain.com).

In diesem Beispiel erstellen Sie eine einzelne Absenderidentität, die als Ihre Absenderadresse fungiert. Nur die überprüfte Absenderadresse darf Nachrichten über den SendGrid-Dienst senden. Befolgen Sie die folgenden Anweisungen, um die einzelne Absenderidentität zu erstellen.

  1. Auf der Willkommen-Seite klicken Sie auf die Schaltfläche Einen einzelnen Absender erstellen.
Creating a single sender

2. Geben Sie anschließend auf der Absender erstellen-Seitenleiste alle erforderlichen Informationen ein. Die Pflichtfelder sind mit einem roten Sternchen gekennzeichnet, um sie einfacher zu identifizieren. Nachdem Sie die Details eingegeben haben, klicken Sie auf Erstellen.

Providing the sender details

Sie sehen dann die neue Absenderadresse aufgeführt unter der Seite Einzelnachweis des Absenders. Wie Sie im untenstehenden Beispiel sehen können, ist die Adresse noch nicht verifiziert, wie durch ein rotes X unter der Spalte VERIFIZIERT angezeigt wird.

Viewing the sender address verification status

3. Um den Absender zu verifizieren, suchen Sie die E-Mail, die an die Absenderadresse gesendet wurde, ähnlich wie im folgenden Screenshot. Klicken Sie dann auf die Schaltfläche Einzelnachweis des Absenders.

Verifying the Single Sender address

Die Absenderadresse wird verifiziert. Sie sollten eine ähnliche Seite sehen, wie unten gezeigt, die bestätigt, dass die Absenderverifizierung abgeschlossen ist.

Confirming that the sender address verification is complete

Erstellung eines SendGrid-API-Schlüssels

Nachdem Sie die Einzelabsenderadresse erstellt haben, steht Ihnen die Schnittstelle zur Erstellung von API-Schlüsseln zur Verfügung. Denken Sie an den SendGrid-API-Schlüssel als das Passwort. Ohne ihn kann Ihr Code sich nicht mit dem SendGrid-SMTP-Relay-Dienst authentifizieren. Befolgen Sie die folgenden Schritte, um einen neuen API-Schlüssel zu erstellen.

  1. Klicken Sie im linken Menü auf Einstellungen > API-Schlüssel. Klicken Sie dann auf die Schaltfläche API-Schlüssel erstellen oben rechts auf der Seite.
Creating a new SendGrid API key

2. Das Flyout API-Schlüssel erstellen wird angezeigt. Geben Sie den Namen des API-Schlüssels ein, den Sie erstellen möchten. Verwenden Sie einen sinnvollen Namen, wie z.B. „Azure Test-API-Schlüssel“. Wählen Sie anschließend der Einfachheit halber Voller Zugriff als Berechtigung aus. Klicken Sie schließlich auf die Schaltfläche Erstellen & Anzeigen.

Naming the API key and choosing permissions

3. Der neue API-Schlüssel wird daraufhin angezeigt. Kopieren Sie den Schlüsselwert und speichern Sie ihn, da er Ihnen nicht erneut angezeigt wird. Nachdem Sie den Schlüssel kopiert haben, klicken Sie auf Fertig.

Saving the new SendGrid API key

Versenden einer E-Mail von Azure mit Hilfe des SendGrid-SMTP-Relay

Jetzt haben Sie die erforderlichen Komponenten (Konto, Absender und Schlüssel), um SendGrid zum Senden von Azure-E-Mails zu verwenden. Es ist Zeit zu überprüfen, ob der SendGrid SMTP-Relay-Dienst funktioniert. In diesem Abschnitt verwenden Sie PowerShell, um E-Mails von einer Azure-VM zu senden.

Bevor Sie Code ausführen, sollten Sie folgende Anforderungen kennen.

  • Die Adresse des SendGrid SMTP-Servers lautet smtp.sendgrid.net.
  • Der Benutzername für die SMTP-Authentifizierung lautet immer apikey.
  • Das zu verwendende Passwort ist der Wert des von Ihnen in SendGrid erstellten API-Schlüssels.
  • Verwenden Sie nicht den Port 25. Verwenden Sie stattdessen Port 587.
  • Nur die verifizierte Absenderadresse in SendGrid ist gültig, um als Absender Ihrer E-Mails verwendet zu werden. In diesem Beispiel ist der autorisierte Absender [email protected].

Das untenstehende Skript sendet eine E-Mail über den SendGrid SMTP-Relay. Kopieren Sie den untenstehenden Code und ändern Sie die Werte $sendGridApiKey, From, To und Body. Führen Sie den Code dann in Ihrer PowerShell-Sitzung aus. Lesen Sie die Kommentare, um zu verstehen, was jede Codezeile bewirkt.

# Geben Sie hier Ihren API-Schlüssel ein
$sendGridApiKey = 'SG...........P258'

$SendGridEmail = @{
	# Verwenden Sie Ihre verifizierte Absenderadresse.
	From = '[email protected]'
	# Geben Sie den E-Mail-Empfänger an. Jede gültige E-Mail-Adresse sollte funktionieren.
	To = '[email protected]'
	# Aktualisieren Sie dies mit dem E-Mail-Betreff, den Sie verwenden möchten.
	Subject = 'This is a test message from Azure via SendGrid'
	# Aktualisieren Sie dies mit dem E-Mail-Text oder der Nachricht, die Sie senden möchten.
	Body = 'This is a test message from Azure via SendGrid'
	
	# ÄNDERN SIE NICHTS UNTERHALB DIESER LINIE
	SmtpServer = 'smtp.sendgrid.net'
	Port = 587
	UseSSL = $true
	Credential = New-Object PSCredential 'apikey', (ConvertTo-SecureString $sendGridApiKey -AsPlainText -Force)	
}

# Senden Sie die E-Mail
Send-MailMessage @SendGridEmail

Das folgende Beispiel zeigt, wie das Ausführen des oben gezeigten Codes in PowerShell in Echtzeit aussieht.

Sending an Email from Azure using SendGrid SMTP Relay

Um die Zustellbarkeit der E-Mail zu bestätigen, überprüfen Sie das Postfach des Empfängers, um die Testnachricht zu finden, die Sie gesendet haben. Das Ergebnis wäre ähnlich wie das unten gezeigte. Wie Sie sehen können, stammt die Nachricht von der Absenderadresse über sendgrid.net.

Confirming the SMTP test message was delivered

Verwandt: Send-MailMessage: Der PowerShell-Weg, um E-Mails zu senden

Senden einer E-Mail von Azure mit der SendGrid-API

Eine weitere Möglichkeit, SendGrid mit Azure zum Versenden von E-Mails zu verwenden, besteht darin, die SendGrid Web API V3 zu verwenden. Anstatt über SMTP mit SendGrid zu kommunizieren, erfolgt die Kommunikation über die API über HTTP. Die HTTP-Anfrage wird an die API-Endpunkt-URL von SendGrid gesendet.

Das folgende Beispiel-Skript für PowerShell verwendet das Cmdlet Invoke-RestMethod, um die E-Mail-Anfrage von Azure an SendGrid zu senden. Kopieren Sie den Code und ändern Sie die Werte der Variablen $sendGridApiKey, $fromAddress, $toAddress, $mailSubject und $mailMessage.

Wenn Sie die Variablen aktualisiert haben, führen Sie den Code in PowerShell aus.

Set your API Key here
 $sendGridApiKey = 'SG………..P258'
 Set the sender and recipient addresses
 $fromAddress = "[email protected]"
 $toAddress = "[email protected]"
 Set the mail subject
 $mailSubject = "This is a test message from Azure via SendGrid API"
 Set the mail message
 $mailMessage = "This is a test message from Azure via SendGrid API"
 DO NOT CHANGE ANYTHING BELOW THIS LINE
 Compose the Mail Body
 $mailbody = @{
   personalizations = @(
     @{
       to      = @(
         @{
           email = $toAddress
         }
       )
       subject = $mailSubject
     }
   )
   from             = @{
     email = $fromAddress
   }
   content          = @(
     @{
       type  = "text/plain"
       value = $mailMessage
     }
   )
 } | ConvertTo-Json -Depth 10
 $headers = @{'Authorization' = "Bearer $($sendGridApiKey)" }
 $mailApiUri = 'https://api.sendgrid.com/v3/mail/send'
 Send the email
 Invoke-RestMethod -Method Post -Uri $mailApiUri -Body $mailbody -Headers $headers -ContentType application/json

Nachdem Sie den obenstehenden PowerShell-Code ausgeführt haben, überprüfen Sie den Posteingang des Empfängers und bestätigen Sie, dass er die Testnachricht erhalten hat. Das folgende Beispiel zeigt eine erfolgreich zugestellte Testnachricht von Azure über die SendGrid-API.

Confirming the API test message was delivered

Wenn Sie mehr über die SendGrid Web-API erfahren möchten, besuchen Sie die Seite V3 Mail Send API.

Verwendung der Office 365 SMTP-Authentifizierung

Eine weitere Möglichkeit, E-Mails von Azure zu senden, besteht darin, das Office 365 SMTP-Relay zu verwenden. Das gilt, wenn Ihre Organisation bereits ein Exchange Online-Abonnement hat. Wie bei der Verwendung von SendGrid als SMTP-Smart Host erfordert das Office 365 SMTP-Relay eine Authentifizierung und die Verwendung von Port 587.

Vor der Verwendung des Office 365 SMTP-Relays müssen Sie die folgenden Bedingungen kennen, damit es funktioniert.

  • Die Absenderadresse muss ein gültiges Exchange Online-Empfängerobjekt wie ein Postfach oder ein Mail-Benutzer sein. Verwenden Sie jedoch ein Postfach, wenn Nicht-Zustellungsberichte (NDR) gespeichert werden sollen.
  • Der Authentifizierungsbenutzer muss über eine gültige Exchange Online-Lizenz verfügen. Nur lizenzierte Exchange Online-Benutzer dürfen das Office 365 SMTP-Relay verwenden.
  • Angenommen, der Authentifizierungsbenutzer ist nicht der Absender. In diesem Fall muss dem Benutzer die Berechtigung „Senden als“ für das Absenderkonto zugewiesen werden.
  • Die verwendete Authentifizierungsmethode ist grundlegend (veraltet). Das bedeutet, dass die SMTP-Basisauthentifizierung in Ihrer Organisation deaktiviert ist oder wenn Microsoft die Basisauthentifizierung endgültig einstellt, funktioniert SMTP Auth nicht mehr.
  • Die Adresse des SMTP-Relay-Servers lautet smtp.office365.com und die Portnummer ist 587.

Verwandte: Wie man eine E-Mail mit Direktversand von Office 365 und PowerShell versendet

Erstellen einer Office 365 Absenderadresse

In diesem Beispiel sind der Absender und der Authentifizierungsbenutzer getrennt. Stellen Sie sicher, dass Sie zuerst eine Verbindung zu Exchange Online PowerShell herstellen. Sobald Sie verbunden sind, folgen Sie den unten stehenden Schritten.

Erstellen Sie ein gemeinsames Postfach mit dem unten stehenden Befehl. Ändern Sie den -Name und die -PrimarySMTPAddress auf Ihre korrekten Werte.

New-Mailbox -Shared -Name 'SMTP Mailer 365' -PrimarySMTPAddress '[email protected]'

Das gemeinsame Postfach sollte erstellt werden und ein ähnliches Ergebnis wie das unten stehende liefern.

Creating a new shared mailbox as the sender

Weisen Sie dann dem Authentifizierungsbenutzer die Senden als-Berechtigung zu. Im folgenden Beispiel wird dem Benutzer die Senden als-Berechtigung für das freigegebene Postfach zugewiesen.

Add-RecipientPermission -Identity '[email protected]' -Trustee '[email protected]' -AccessRights SendAs -Confirm:$false

Nach Ausführung des oben genannten Befehls erhalten Sie ein ähnliches Ergebnis wie unten gezeigt.

Assigning Send As permission

Senden einer E-Mail über Azure mit Office 365 SMTP-Relay

Nach Erstellung der Absenderadresse und Zuweisen der Senden-als-Berechtigung ist der nächste Schritt das Testen der E-Mail-Zustellung mithilfe von PowerShell und Office 365 SMTP-Relay.

Der folgende Code authentifiziert sich mit [email protected]. Die Adresse [email protected] wird als Absender angezeigt. Stellen Sie sicher, dass Sie Ihre korrekten Werte zuweisen, bevor Sie den Code ausführen.

# Geben Sie Ihre SMTP-Anmeldeinformationen an
$username = '[email protected]'
$password = '*************'

# Geben Sie die Absender- und Empfänger-E-Mail-Adresse an
$fromAddress = '[email protected]'
$toAddress = '[email protected]'

# Geben Sie den E-Mail-Betreff und die Nachricht an
$mailSubject = 'This is a test message from Azure via Office 365 SMTP Relay'
$mailMessage = 'This is a test message from Azure via Office 365 SMTP Relay'

# ÄNDERN SIE NICHTS UNTER DIESER LINIE
$Office365RelayEmail = @{
	From = $fromAddress
	To = $toAddress
	Subject = $mailSubject
	Body = $mailMessage	
	SmtpServer = 'smtp.office365.com'
	Port = 587
	UseSSL = $true
	Credential = New-Object PSCredential $username, (ConvertTo-SecureString $password -AsPlainText -Force)	
}

# Senden Sie die E-Mail
Send-MailMessage @Office365RelayEmail

Die Verwendung von Anmeldeinformationen in Skripten im Klartext wird nicht empfohlen. Produktions-Skripte müssen Anmeldeinformationen verschlüsseln oder geheim halten, um Benutzernamen und Passwörter zu schützen.

Jetzt ist es an der Zeit, das Postfach des Empfängers zu überprüfen. Bestätigen Sie, dass die Testnachricht empfangen wurde.

Confirming the Office 365 SMTP relay test message was delivered

Verwendung der Microsoft Graph API zum Senden von Azure-E-Mails

Anstelle der Verwendung von Office 365 SMTP-Relay wird empfohlen, Microsoft Graph API zu verwenden, da dies sicherer ist. Mit Microsoft Graph API können Sie E-Mails von jedem Postfach in Ihrer Organisation über REST API-Aufrufe senden.

Um Microsoft Graph API zum Senden von E-Mails zu verwenden, ist eine registrierte Azure AD-App erforderlich. Die registrierte App muss mit der Mail.Send API-Berechtigung versehen sein. Die folgenden Abschnitte zeigen Ihnen, wie Sie Microsoft Graph API konfigurieren und verwenden können, um E-Mails zu senden.

Verwandt: Verwenden der Microsoft Graph API mit PowerShell

Registrierung einer neuen App in Azure Active Directory

In diesem Abschnitt werden Sie eine neue Web-App im Azure Active Directory registrieren. Die neue App dient als Authentifizierungsidentität für Microsoft Graph. Melden Sie sich im Azure-Portal an, wenn Sie noch nicht angemeldet sind.

  1. Navigieren Sie zu Azure Active Directory —> App-Registrierung. Klicken Sie dann auf die Schaltfläche Neue Registrierung.
Creating a new app registration

2. Geben Sie auf der Seite App registrieren den Namen der App ein.

3. Unter Unterstützte Kontotypen wählen Sie Nur Konten in diesem Organisationsverzeichnis aus. Geben Sie HTTP://localhost als Umleitungs-URI ein. Klicken Sie abschließend auf die Schaltfläche Registrieren.

Registering an application

4. Warten Sie, bis die Registrierung abgeschlossen ist. Der Vorgang dauert nur wenige Sekunden. Notieren Sie sich die resultierende Anwendungs-ID und die Verzeichnis-ID. Sie werden diese später benötigen.

Saving the Application ID and Directory values

Erstellen eines geheimen Client-Schlüssels

Denken Sie an die Anwendungs-ID, die Sie im vorherigen Abschnitt erstellt haben, als Benutzernamen. Und diese Anwendungs-ID benötigt ein Passwort – den geheimen Schlüssel.

Um einen neuen geheimen Client-Schlüssel hinzuzufügen, befolgen Sie die folgenden Schritte.

  1. Gehen Sie zu Zertifikate & Geheimnisse und klicken Sie dann auf Neues Client-Geheimnis.
  2. Geben Sie eine Beschreibung für das Client-Geheimnis ein, z.B. Schlüssel1.
  3. Wählen Sie aus, wann das Geheimnis abläuft, und klicken Sie auf Hinzufügen. Im folgenden Beispiel läuft der geheime Schlüssel in 1 Jahr ab.
Adding a new client secret key

Sie sehen den neuen Schlüssel unter dem Abschnitt Client-Geheimnisse. Jetzt ist der einzige Zeitpunkt, an dem Sie den Schlüsselwert sehen, also speichern Sie eine Kopie.

Viewing the client secret key value

Jetzt, da Sie die Anwendungs-ID und das Geheimnis erstellt haben, müssen Sie die erforderliche Berechtigung für die Microsoft Graph API zuweisen. Ohne Berechtigung kann die Anwendung authentifiziert werden, hat jedoch keine Autorität, um etwas zu tun, wie z.B. E-Mails zu senden.

Um mit der Zuweisung der Berechtigung zu beginnen, befolgen Sie die folgenden Schritte.

  1. Klicken Sie im Menü auf der linken Seite auf API-Berechtigungen.

2. Klicken Sie dann auf der Seite Konfigurierte Berechtigungen auf die Schaltfläche Berechtigung hinzufügen.

Adding API permission

3. Klicken Sie im Flyout API-Berechtigungen anfordern auf Microsoft Graph API, um es auszuwählen.

Selecting Microsoft Graph API

4. Wenn Sie nach dem Typ der Berechtigung gefragt werden, die von der Anwendung benötigt wird, klicken Sie auf Anwendungsberechtigungen.

5. Geben Sie in das Suchfeld Mail.Send ein, um danach zu suchen. Klicken Sie in den Suchergebnissen auf die Berechtigung Mail.Send, um sie auszuwählen. Klicken Sie abschließend auf Berechtigungen hinzufügen.

Assigning mail.send permission

6. Sie werden feststellen, dass der Berechtigungsstatus „Nicht gewährt für <Organisationsname>“ lautet. Zu diesem Zeitpunkt müssen Sie oder ein Globaler Administrator zunächst die Zustimmung für die Anwendung erteilen. Um die Berechtigung zu gewähren, klicken Sie auf die Schaltfläche Admin-Zustimmung für <Organisation> erteilen.

Granting Admin consent

Der Berechtigungsstatus für die API ändert sich dann in „Gewährt für <Organisationsname>“.

Confirming the API permission status

Erwerben eines Zugriffstokens

Anfragen an die Microsoft Graph API erfordern ein Zugriffstoken. Zu diesem Zeitpunkt haben Sie bereits Ihre Anwendungs-ID, den geheimen Schlüssel und die Mandanten-ID. Diese drei Informationen sind erforderlich, um ein Zugriffstoken zu erhalten.

Das folgende PowerShell-Skript sendet die Zugriffstoken-Anforderung an den Endpunkt der Microsoft Graph API. Sie müssen die $client_id, $client_secret und $tenant_id zuerst mit den korrekten Werten aktualisieren. Kopieren Sie dann den Code in PowerShell, um das Zugriffstoken anzufordern.

# Ersetzen Sie durch Ihre Anwendungs-ID
$client_id = 'APPLICATION ID'
# Ersetzen Sie durch Ihren geheimen Schlüssel
$client_secret = 'SECRET KEY'
# Ersetzen Sie durch Ihre Mandanten-ID
$tenant_id = 'TENANT ID'

# ÄNDERN SIE NICHTS UNTERHALB DIESER LINIE
$request = @{
        Method = 'POST'
        URI    = "https://login.microsoftonline.com/$tenant_id/oauth2/v2.0/token"
        body   = @{
            grant_type    = "client_credentials"
            scope         = "https://graph.microsoft.com/.default"
            client_id     = $client_id
            client_secret = $client_secret
        }
    }
# Holen Sie sich das Zugriffstoken
$token = (Invoke-RestMethod @request).access_token
# Zeigen Sie den Token-Wert an
$token

Die folgende Demonstration zeigt das oben stehende PowerShell-Skript in Aktion. Beachten Sie, dass das angeforderte Zugriffstoken in der Variablen $token gespeichert wird.

Requesting access token

Zugriffstoken sind nur eine (1) Stunde lang ab dem Zeitpunkt der Anforderung gültig. Sie müssen ein neues Zugriffstoken anfordern, nachdem das vorherige abgelaufen ist.

Versenden einer E-Mail von Azure mit der Microsoft Graph API

Sie sind jetzt bereit, die Microsoft Graph API mit Azure zu verwenden, um

# Geben Sie die E-Mail-Adresse des Absenders und des Empfängers an
$fromAddress = 'SENDER ADDRESS HERE'
$toAddress = 'RECIPIENT ADDRESS HERE'

# Geben Sie den Betreff und die Nachricht der E-Mail an
$mailSubject = 'This is a test message from Azure via Microsoft Graph API'
$mailMessage = 'This is a test message from Azure via Microsoft Graph API'

# ÄNDERN SIE NICHTS UNTERHALB DIESER LINIE
# Erstellen Sie die Anforderung an die Microsoft Graph API
$params = @{
  "URI"         = "https://graph.microsoft.com/v1.0/users/$fromAddress/sendMail"
  "Headers"     = @{
    "Authorization" = ("Bearer {0}" -F $token)
  }
  "Method"      = "POST"
  "ContentType" = 'application/json'
  "Body" = (@{
    "message" = @{
      "subject" = $mailSubject
      "body"    = @{
        "contentType" = 'Text'
        "content"     = $mailMessage
      }
      "toRecipients" = @(
        @{
          "emailAddress" = @{
            "address" = $toAddress
          }
        }
      )
    }
  }) | ConvertTo-JSON -Depth 10
}

# Senden Sie die Nachricht
Invoke-RestMethod @params -Verbose


Source:
https://adamtheautomator.com/azure-send-email/