Send Graph Mail
Zuletzt geändert: 21.03.2026 09:23

Übersicht

Send-GraphMail #

ÜBERSICHT #

Versendet E-Mails über die Microsoft Graph API.

SYNTAX #

Send-GraphMail [-Token] <string> [[-FromEmail] <string>] [-To] <string[]> [[-Cc] <string[]>]
    [[-Bcc] <string[]>] [-Subject] <string> [[-HtmlBody] <string>] [[-Attachments] <string[]>]
    [[-InlineImages] <object[]>] [<CommonParameters>]

BESCHREIBUNG #

Send-GraphMail versendet HTML-formatierte E-Mails über die Microsoft Graph API. Das Access-Token wird extern über Get-GraphToken beschafft und als Parameter übergeben.

Mit -FromEmail wird der Endpunkt /users/{email}/sendMail verwendet (Service-Flow, Application Permission). Ohne -FromEmail wird /me/sendMail verwendet (User-Flow, delegierte Berechtigung, eigenes Postfach).

Ersetzt die bisherigen Funktionen Send-GraphMailService und Send-GraphMailUser.

PARAMETER #

-Token #

Type: string

Access-Token (Bearer) für die Graph API. Wird über Get-GraphToken beschafft.

-FromEmail #

Type: string

Absender-Adresse für den Service-Flow. Muss ein Exchange-Postfach oder eine Shared Mailbox sein, für die die App sendeberechtigt ist. Ohne diesen Parameter wird /me/sendMail verwendet (User-Flow, eigenes Postfach).

-To #

Type: string[]

Array mit Empfängeradressen (mindestens eine). Erlaubt auch komma-/semikolongetrennten 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
Default: ''

HTML-formatierter Inhalt der E-Mail (optional, Default: leer).

-Attachments #

Type: string[]

Array mit Dateipfaden für optionale Anhänge.

-InlineImages #

Type: object[]

Array mit Inline-Bild-Objekten. Jedes Objekt benötigt mindestens die Eigenschaft Path. Optionale Eigenschaften: ContentId, FileName, MediaType.

AUSGABEN #

void

Erfolg oder Fehler werden als Konsolenausgabe dargestellt.

BEISPIELE #

# Service-Flow: Rechnung per E-Mail versenden
$token = Get-GraphToken -TenantId '54197dd8-9c79-46ca-9d1f-a6c260a7cfab' -ClientId 'c081dca9-2f08-475a-8691-5339e99ab42c' -ClientSecret 'Ihr~ClientSecret-hier'
Send-GraphMail -Token $token -FromEmail 'no-reply@firma.de' `
  -To 'kunde@beispiel.de' -Subject 'Ihre Rechnung' `
  -HtmlBody '<b>Siehe Anhang</b>' -Attachments 'C:\Temp\rechnung.pdf'
# User-Flow: E-Mail über eigenes Postfach senden
$token = Get-GraphToken -ClientId 'c081dca9-2f08-475a-8691-5339e99ab42c' -UserScope 'Mail.Send offline_access'
Send-GraphMail -Token $token -To 'empfaenger@firma.de' `
  -Subject 'Test' -HtmlBody '<b>Hallo!</b>'
# Service-Flow mit CC und Inline-Bild
$token = Get-GraphToken -TenantId '54197dd8-9c79-46ca-9d1f-a6c260a7cfab' -ClientId 'c081dca9-2f08-475a-8691-5339e99ab42c' -ClientSecret 'Ihr~ClientSecret-hier'
$inlineImg = @{ Path = 'C:\Temp\logo.png'; ContentId = 'logo1' }
Send-GraphMail -Token $token -FromEmail 'info@firma.de' `
  -To 'kunde@beispiel.de' -Cc 'chef@firma.de' `
  -Subject 'Newsletter' `
  -HtmlBody 'Unser Logo: <img src="cid:logo1">' `
  -InlineImages @($inlineImg)

HINWEISE #

Ersetzt Send-GraphMailService und Send-GraphMailUser (ab v1.1). Das Token wird nicht mehr intern geholt, sondern extern über Get-GraphToken.