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"