E-Mails versenden

Um E-Mails zu versenden, kann man dies natürlich als Funktion aufrufen. Damit die Parameter richtig übergeben werden, muss der Befehl richtig formatiert werden, wie es das nachfolgende Beispiel ist:

sendmail “$computer_name@test.com” “john.doe@test.com” “Server-Neustart” “Der Server $computer_name wurde neu gestaret.”;

Alternativ dazu kann man es natürlich auch im Script direkt mit

$sender = „john.doe@test.com“
$receiver = „john.doe@test.com“
$subject = „Test“
$body = „Meine spitzenklasse E-Mail.“

aufrufen. Der SMTP-Server sollte direkt im Skript definiert werden, da sich dieser für gewöhnlich nur sehr selten verändert, aber dies liegt im eigenen ermessen.

$global:SMTP_Server = „meinmailserver“

Was auf jeden Fall in der Funktion stehen muss, ist der nachfolgende Code. Dieser ist das Kernstück und versendet die E-Mail wirklich, auf Wunsch auch mit einem Anhang.

$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = $global:SMTP_Server
$mailmessage.from = $sender
$mailmessage.To.add($receiver)
$mailmessage.Subject = $subject
$MailMessage.IsBodyHtml = $true
$mailmessage.Body = $body
$smtpclient.Send($mailmessage)


Quelle