Menü Schließen

Powershell E-Mail senden auch mit Anhang

PowerShell Logo

Nachfolgend ein Snipe zum senden einer Mail aus Powershell heraus. Das kannst du verwenden, wenn du z.B. aus dein Script durch eine Aktion per Mail benachrichtig werden möchtest.

PS> Send-MailMessage -To '<Mail-Empfänger>' -From '<Mail-Absender>'  -Subject 'Dies ist der Betreff' -Body 'Hier steht der Text in der Mail'

Das obige Beispiel ist die einfachste Form des Mailversandes aus Powershell. Der Mailserver wird aus der Default Variable $PSEmailServer verwendet. Nachfolgend der selbe Befehl mit zusätzlicher Angabe des SMTP-Servers sowie eines berechtigten Postfaches:

PS> Send-MailMessage -To '<Mail-Empfänger>' -From '<Mail-Absender>'  -Subject 'Dies ist der Betreff' -Body 'Hier steht der Text in der Mail' -Credential (Get-Credential) -SmtpServer '<Hostname des Mailservers>' -Port 587

Ein anderer Use-Case ist der Mailversand aus PS mit Anhang / Attachment. Hier noch zusätzlich mit Priorität Hoch und erfolgreichen sowie fehlgeschlagenem Versand.

PS> Send-MailMessage -To '<Mail-Empfänger>' -From '<Mail-Absender>'  -Subject 'Dies ist der Betreff' -Body 'Hier steht der Text in der Mail' -Credential (Get-Credential) -Attachments .\export-data.csv -Priority High -DeliveryNotificationOption OnSuccess, OnFailure -SmtpServer '<Hostname des Mailservers>' -Port 587

Weitere Parameter sind:

  • (-BCC) – für den versteckten Empfänger
  • (-ReplyTo) – die Antwortadresse fals benötigt
  • (-Encoding) – default ist utf8NoBOM, andere sind unicode, utf7, utf8 …
  • (-BodyAsHtml) – wer es besonders schon haben möchte 🙂
  • (-DeliveryNotificationOption) – hier sind None, OnSuccess,OnFailure, Delay und Never möglich
  • (- UseSSL) für eine sichere Verbindung per SSL, was nicht default ist

Thats it .. Have Fun!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert