Send-MapiMail #
ÜBERSICHT #
Sendet eine E-Mail über Simple MAPI (MAPI32.DLL) — den auf dem System registrierten Standard-Mail-Client.
SYNTAX #
Send-MapiMail [-To] <string[]> [[-Cc] <string[]>] [[-Bcc] <string[]>] [-Subject] <string>
[[-HtmlBody] <string>] [[-Body] <string>] [[-Attachments] <string[]>] [<CommonParameters>]
BESCHREIBUNG #
Send-MapiMail versendet E-Mails über die Simple MAPI Schnittstelle (MAPISendMail in MAPI32.DLL). Simple MAPI ist ein Windows-Standard, der von jedem MAPI-kompatiblen Mail-Client implementiert wird — z. B. Mozilla Thunderbird, Tobit David, Windows Mail, eM Client oder auch Microsoft Outlook.
Der Versand erfolgt vollständig headless (ohne eigene UI). Die Nachricht wird direkt an den registrierten MAPI-Handler übergeben, der sie in die Outbox des Mail-Clients einreiht und über dessen konfigurierten Transportweg (IMAP/SMTP, Exchange, etc.) versendet.
HTML-UNTERSTÜTZUNG ================== Simple MAPI unterstützt ausschließlich Plain Text (kein HTML, kein RTF). Wird -HtmlBody übergeben, konvertiert die Funktion automatisch:
<br>und<br/>werden zu echten Zeilenumbrüchen (CR+LF)- Alle übrigen HTML-Tags werden entfernt (Tag-Stripping)
- Das Ergebnis ist reiner Text ohne Formatierung
Wenn HTML-Formatierung im Posteingang des Empfängers erhalten bleiben soll, muss ein anderer Provider verwendet werden (Graph, SMTP oder OutlookOLE).
ABSENDER (FROM) =============== Simple MAPI unterstützt keinen expliziten Absender. Der Versand erfolgt immer über das Standardkonto des registrierten MAPI-Clients. Es gibt keinen -From-Parameter.
SICHERHEITSHINWEIS — OUTLOOK ALS MAPI-CLIENT ============================================== Wenn Microsoft Outlook als Standard-Mail-Client registriert ist, zeigt Windows beim Aufruf von MAPISendMail einen Sicherheitsdialog an:
"Ein Programm versucht, in Ihrem Namen eine E-Mail zu senden.
Möchten Sie dies zulassen?"
Dieser Dialog hat einen Countdown-Timer und blockiert den headless-Betrieb. Das ist ein Schutzmechanismus von Outlook (“Object Model Guard”) gegen unautorisierten Mailversand.
Empfehlung: Wenn Outlook installiert ist, stattdessen den Provider OutlookOLE verwenden (Send-OutlookMail). Dieser nutzt die COM-Schnittstelle von Outlook direkt und löst keinen Sicherheitsdialog aus.
Simple MAPI eignet sich daher primär für Systeme mit Thunderbird, Tobit David oder anderen MAPI-Clients, die keinen solchen Guard implementieren.
DIALOG ====== Diese Funktion enthält keinen eigenen Bearbeitungsdialog. Wenn ein interaktiver Dialog gewünscht ist (To/Cc/Bcc/Subject/Body bearbeiten), wird dieser von Send-EulandaMail über Show-MailDialog vorgeschaltet — einheitlich für alle Provider.
PARAMETER #
-To #
Type: string[]
Empfängeradresse(n). Erlaubt komma-/semikolongetrennten String oder String-Array. Mindestens ein Empfänger ist erforderlich.
-Cc #
Type: string[]
Optionale CC-Empfänger. Komma-/semikolongetrennt oder String-Array.
-Bcc #
Type: string[]
Optionale BCC-Empfänger. Komma-/semikolongetrennt oder String-Array.
-Subject #
Type: string
Betreffzeile der E-Mail.
-HtmlBody #
Type: string
HTML-formatierter Inhalt. Wird automatisch in Plain Text konvertiert, da Simple MAPI kein HTML unterstützt. <br>-Tags werden zu Zeilenumbrüchen, alle anderen Tags werden entfernt.
-Body #
Type: string
Plain-Text-Inhalt. Hat Vorrang vor HtmlBody, wenn beides angegeben ist. Wird direkt ohne Konvertierung als NoteText an MAPI übergeben.
-Attachments #
Type: string[]
Optionale Dateipfade für Anhänge (String-Array). Jede Datei wird als MapiFileDesc an die MAPI-Nachricht angehängt.
AUSGABEN #
boolean
$true bei erfolgreichem Versand (MAPI-Return-Code 0), $false bei Fehler. Bei Fehlern wird zusätzlich eine Warnung mit dem MAPI-Fehlercode ausgegeben.
BEISPIELE #
# Einfache Plain-Text-Mail über den Standard-MAPI-Client senden
Send-MapiMail -To 'kunde@firma.de' -Subject 'Rechnung' `
-Body 'Anbei Ihre Rechnung.' -Attachments 'C:\Rechnungen\RE-123.pdf'
# HTML-Body wird automatisch in Plain Text konvertiert
Send-MapiMail -To 'kunde@firma.de' -Subject 'Auftragsbestätigung' `
-HtmlBody '<p>Sehr geehrter Kunde,</p><p>Ihr Auftrag wurde <b>bestätigt</b>.</p>'
# Ergebnis im Mail-Client: "Sehr geehrter Kunde,\r\nIhr Auftrag wurde bestätigt."
# Mail mit CC und mehreren Anhängen
Send-MapiMail -To 'kunde@firma.de' -Cc 'buchhaltung@firma.de' `
-Subject 'Dokumente' -Body 'Anbei die Unterlagen.' `
-Attachments 'C:\Temp\Vertrag.pdf', 'C:\Temp\AGB.pdf'
HINWEISE #
Voraussetzung: Ein MAPI-kompatibler Mail-Client muss als Standard-Mail-Client registriert sein (z. B. Thunderbird, Tobit David, eM Client, Windows Mail).
Kompatibel mit PowerShell 5.1+