Send-GraphMailService #
ÜBERSICHT #
Versendet E-Mails über die Microsoft Graph API mit Client Credentials Flow (Service-Authentifizierung).
SYNTAX #
Send-GraphMailService [[-TenantId] <string>] [[-ClientId] <string>] [[-ClientSecret] <string>]
[-FromEmail] <string> [-To] <string[]> [[-Cc] <string[]>] [[-Bcc] <string[]>] [-Subject]
<string> [-HtmlBody] <string> [[-Attachments] <string[]>] [[-InlineImages] <object[]>]
[<CommonParameters>]
BESCHREIBUNG #
Send-GraphMailService versendet HTML-formatierte E-Mails über die Microsoft Graph API im Kontext eines Service-Accounts (Application Permissions). Die Zugangsdaten (TenantId, ClientId, ClientSecret) können direkt als Parameter übergeben werden oder - falls einer der Werte fehlt - automatisch aus einer lokalen Konfigurationsdatei ($env:USERPROFILE.graph\creds.json) geladen werden. Fehlen die Konfigurationsdatei oder der Ordner, erfolgt eine verständliche Fehlermeldung. Die Funktion prüft alle Eingaben und sendet die Mail ausschließlich mit korrekten, gültigen Werten.
PARAMETER #
-TenantId #
Type: string
Die Azure Tenant-ID (kann als Parameter übergeben oder aus Datei geladen werden).
-ClientId #
Type: string
Die Client-ID der registrierten Azure-App (kann als Parameter übergeben oder aus Datei geladen werden).
-ClientSecret #
Type: string
Das Client Secret der Azure-App (kann als Parameter übergeben oder aus Datei geladen werden).
-FromEmail #
Type: string
Absender-Adresse (muss ein Exchange-Postfach oder eine Shared Mailbox sein, für die die App sendeberechtigt ist).
-To #
Type: string[]
Array mit Empfängeradressen (mindestens eine Angabe ist Pflicht). Erlaubt auch Kommagetrennten String.
-CC #
Type: string[]
Array mit CC-Empfängern (optional).
-BCC #
Type: string[]
Array mit BCC-Empfängern (optional).
-Subject #
Type: string
Betreff der E-Mail.
-HtmlBody #
Type: string
HTML-formatierter Inhalt der E-Mail.
-Attachments #
Type: string[]
Array mit Dateipfaden für optionale Anhänge.
AUSGABEN #
void
Die Funktion gibt keinen Wert zurück. Erfolg oder Fehler werden als Konsolenausgabe dargestellt.
BEISPIELE #
# Sendet eine einfache HTML-E-Mail an einen Empfänger. Zugangsdaten werden automatisch geladen.
Send-GraphMailService `
-FromEmail "no-reply@beispiel.de" `
-To "user@firma.de" `
-Subject "Test" `
-HtmlBody "<b>Hallo!</b>"
# Sendet eine E-Mail mit CC und Anhang. Zugangsdaten werden per Parameter übergeben.
Send-GraphMailService `
-TenantId "abc-..." `
-ClientId "def-..." `
-ClientSecret "XYZ..." `
-FromEmail "user@firma.de" `
-To "kunde@beispiel.de" `
-CC "chef@firma.de" `
-Subject "Mit CC und Anhang" `
-HtmlBody "<h1>Beispiel</h1>" `
-Attachments "C:\Dokumente\beleg.pdf"
HINWEISE #
- Für den Versand wird Application Permission “Mail.Send” in der Azure-App benötigt.
- Die Konfigurationsdatei sollte als JSON unter $env:USERPROFILE.graph\creds.json liegen.
- ClientSecret wird verschlüsselt gespeichert und erst im Arbeitsspeicher entschlüsselt.
- Die Funktion prüft alle Felder auf Gültigkeit und gibt bei Fehlern klare Hinweise aus.