Benutzer mit den meisten Antworten
Mehrzeilige Textdatei in eine Variable einlesen

Frage
-
Hallo,
ich habe ein PowerShell Script, mit dem ich eine E-Mail in Outlook erstelle und in der Mail alle Felder (to, cc, subject, body) fülle.
Der Mail-Text ist momentan noch im Script (Quelltext) definiert:$MailBody = "Sehr geehrte Damen und herren, Text, text Text nach Zeilenumbruch. Mit freundlichen Grüßen"
Das ganze funktioniert ohne Probleme.
Aufgrund der einfacheren Wartbarkeit möchte ich den Text in eine Textdatei auslagern und diese laden:
$MailBody = Get-content C:\Pfad\Dateiname_mit_Unterstrich.txt
Jedoch wird mir jetzt eine Fehlermeldunge angezeigt:
Typenkonflikt: Der Datentyp des Parameters kann nicht erzwungen werden. Die Zeichenfolge kann von Outlook nicht übersetzt werden.
Was muss ich denn machen, damit ich den Inhalt der Textdatei verwenden kann?
Ich bin was die PowerShell angeht noch Anfänger.Danke und Gruß
OLLI
- Bearbeitet OLLI_S Montag, 12. August 2019 14:19
Antworten
-
Get-Conten liefert ein Array von Textzeilen aus der Textdatei.
MailBody erwartet aber kein Array sondern einen String.Also must du aus dem Array wieder einen String zaubern:
$MailBody = ((Get-content C:\Pfad\Dateiname_mit_Unterstrich.txt) -join "`r`n")
sollte u.U. funktionieren.
Statt CRLF kannst du u.U. auch "<br>" wählen, wenn der Mailtyp HTML ist.- Als Antwort markiert OLLI_S Dienstag, 13. August 2019 06:35
Alle Antworten
-
Get-Conten liefert ein Array von Textzeilen aus der Textdatei.
MailBody erwartet aber kein Array sondern einen String.Also must du aus dem Array wieder einen String zaubern:
$MailBody = ((Get-content C:\Pfad\Dateiname_mit_Unterstrich.txt) -join "`r`n")
sollte u.U. funktionieren.
Statt CRLF kannst du u.U. auch "<br>" wählen, wenn der Mailtyp HTML ist.- Als Antwort markiert OLLI_S Dienstag, 13. August 2019 06:35
-
Statt CRLF kannst du u.U. auch "<br>" wählen, wenn der Mailtyp HTML ist.
Beachte aber dass die maximale Zeilenlänge 1000 Zeichen (998 + crlf) nicht übersteigen darf. Daher die Empfehlung nach dem <BR> trotzdem ein crlf zu schreiben).
Nachtrag: ist eine Mail Beschränkung, keine PowerShell Beschränkung
- Bearbeitet Jakša Skelin Dienstag, 13. August 2019 05:52