Emails verschicken

Home » Powershell » Emails verschicken
Powershell Keine Kommentare

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

LEAVE A COMMENT