Emails verschicken
Habe nach einermöglichkeit gesucht mittels Powershell Emails zu verschicken, und das ist dabei rausgekommen.
Findet gut anwendung in Scripten die Prozesse überwachen, oder als Feedback für automatisierte abläufe.
Code:
$Hostn=Hostname #Computer name $Date=Get-Date -format "dd.MM.yyyy" # year.month.day-hour.minutes.seconds $Time=Get-Date -format "HH:mm:ss" # year.month.day-hour.minutes.seconds #-------------------------anpassen------------------------------- #Sender $Username = "Sender@web.de"; $Password = "SenderPasswort"; $smtpServer = "smtp.web.de", "587"; #Empfänger-&-Nachricht $Empfaenger = "empfaenger@web.de"; $Anhang = "C:\Pfad\Error-log.txt"; $Betreff = "$Hostn :Betreff Text.."; $Nachricht = "Inhalt der Nachricht z.B: Anwendungsfehler! $Date $Time Error-Log befindet sich im Anhang"; #-Do-not-change-anything-below----------------------------------- #Send-Mail-Function function Send-ToEmail([string]$email, [string]$attachmentpath){ $message = new-object Net.Mail.MailMessage; $message.From = $Username; $message.To.Add($email); $message.Subject = $Betreff; $message.Body = $Nachricht; $attachment = New-Object Net.Mail.Attachment($attachmentpath); $message.Attachments.Add($attachment); $smtp = new-object Net.Mail.SmtpClient($smtpServer); $smtp.EnableSSL = $true; $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password); $smtp.send($message); write-host "Mail Sent" ; $attachment.Dispose(); } Send-ToEmail -email $Empfaenger -attachmentpath $Anhang; #Ende