Es gibt die verschiedensten Wege um E-Mails über PowerShell zu versenden. Eine Variante ist, man baut sich die E-Mail samt benötigten Informationen selbst zusammen oder man nutzt die cmdlet Send-MailMessage. Die cmdlet gibt es seit PowerShell 2.0. Die Vorteile liegen auf der Hand, alle benötigten Informationen, wie SMTP-Server, E-Mail-Adresse, ect. werden über Parameter angefügt und so kann nichts vergessen werden. Doch auch die selbst erstellte Variante hat ihre Vorteile.
$smtp = New-Object System.Net.Mail.SmtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$attfile = "C:\IPSet_Temp.txt"
$attatchment = New-Object System.Net.Mail.Attachment($attfile)
$smtp.Host = "mail.your-server.de" #DNS oder IP
$MailMessage.From = "aw@comservice-ffo.de"
$MailMessage.To.Add("adrianwalter@hotmail.de")
$MailMessage.Subject = "Testian"
$MailMessage.Body ="This is a email from powershell with attatchments"
$MailMessage.IsBodyHtml = $false
$MailMessage.Attachments.Add($attatchment)
#Auth
$SmtpUser = New-Object System.Net.NetworkCredential
$SmtpUser.UserName = "aw@comservice-ffo.de"
$SmtpUser.Password = "***********"
$smtp.Credentials = $SmtpUser
$smtp.Send($MailMessage)