Hintergrund: Basierend auf einem Inputfile sollen bestimmte Teile in einem (komplexen) Mail Template getauscht werden und dann das Ergebnis verschickt werden.

Lösung: Template erstellen, zu tauschende Stellen irgendwie markieren (§§§CLIENT§§§ z.B.) und das Mail als .MSG speichern.

Script:

<br>$targetdate="10.7.2019"<br>$targetcomputer="MyPC"<br>$recipients="a@b.c","d.e@f.h"<br><br>$ol=New-Object -ComObject Outlook.Application<br>$msg=$ol.CreateItemFromTemplate("C:\Temp\Template.msg")<br>$msg.Subject=$msg.Subject.Replace("§§§DATE§§§",$targetdate).Replace("§§§CLIENT§§§",$targetcomputer)<br>$msg.HTMLBody=$msg.HTMLBody.Replace("§§§DATE§§§",$targetdate).Replace("§§§CLIENT§§§",$targetcomputer)<br>foreach ($rec in $recipients)<br>{<br>   $msg.Recipients.Add($rec)<br>}<br>$msg.Save()<br><br># anzeigen<br>$inspector=$msg.GetInspector()<br>$inspector.Display()<br><br># $msg.Send() wäre die Alternative<br><br># cleanup<br>Remove-Variable ol,msg,inspector