E-Mail versenden mit PowerShell

PowerShell bietet eine integrierte Möglichkeit E-Mails zu versenden.

Dies kann man sich besonders bei Skripten zunutze machen, um Benachrichtigungen per E-Mail zu erhalten.

Lösung

Die „Standard Syntax“ beinhaltet die Angabe des SMTP-Servers, des Absenders, des Empfängers, den Betreff und den Body.

Send-MailMessage -SmtpServer $smtpserver -From $from -To $recipient -Subject $subject -Body $body

Natürlich kann das Ganze auch mit weiteren Parametern erweitert werden. In unteren Fall wird zusätzlich ein bestimmter Port angegeben, sowie TLS vorausgesetzt.

Send-MailMessage -SmtpServer $smtpserver -Port XXX -UseSsl -From $from -To $recipient -Subject $subject -Body $body

Beispiele

Im ersten Beispiel soll eine E-Mail durch einen SMPT AUTH Benutzer aus Exchange Online versendet werden.

Send-MailMessage -SmtpServer "smtp.office365.com" -Port 587 -UseSsl -From "Benutzer1@danielgutermuth.de" -To "Benutzer2@danielgutermuth.de" -Subject "Test" -Body "Test Text"

Im zweiten Beispiel wird eine E-Mail via Direct Send an ein Exchange Online Postfach gesendet.

Send-MailMessage -SmtpServer "danielgutermuth.mail.protection.outlook.com" -From "Fantasiename@danielgutermuth.de" -To "Benutzer2@danielgutermuth.de" -Subject "Test" -Body "Test Text"