Zum Inhalt wechseln


Foto

Inhalt Textdatei in Mail übernehmen und Formatierung behalten


  • Bitte melde dich an um zu Antworten
7 Antworten in diesem Thema

#1 Alith Anar

Alith Anar

    Board Veteran

  • 1.465 Beiträge

 

Geschrieben 19. Juni 2017 - 14:25

Hallo

 

Ich habe ein kleines Script was mir den die Mail einer bestimmten Adresse in eine Textdatei schreibt.

Anschliessend lese ich die Textdatei ein und schreibe Sie als Inhalt in den Body der Mail.

$PSEmailServer = "mein.Mailserver.de"
$Heute = get-date
$vor7Tagen = (get-date).adddays(-7)
get-messagetrackinglog -Sender "absender@mailserver.de" -Start $vor7Tagen -End $Heute | select-object eventid,timestamp,source,messageid,sender,recipients,messagesubject,recipientstatus,serverhostname,clienthostname > c:\temp\hilfe.txt
$Inhalt=get-content c:\temp\hilfe.txt
Send-MailMessage -To Empfänger@mailserver.de -from administrator@mailserver.de -Subject "Mailingliste von $vor7Tagen bis $Heute" -body "$Inhalt"

Es funktioniert auch soweit das er den Inhalt in den Body schreibt. Jedoch schmeisst er sämtliche Formatierungen raus und schreibt das ganze als Fliesstext. :(

Gibt es eine Möglichkeit das ganze entsprechend der Textdatei in die Mail zu kopieren?

 

Danke Thomas


Bearbeitet von Alith Anar, 19. Juni 2017 - 14:25.

“The difference between fiction and reality? Fiction has to make sense.” — Tom Clancy


#2 NilsK

NilsK

    Expert Member

  • 11.910 Beiträge

 

Geschrieben 19. Juni 2017 - 14:38

Moin,

 

Formatierungen bei einer Textdatei? Wovon redest du? Wenn du Formatierungen möchtest, dann gib den Text als HTML aus und nutze dafür den Parameter -BodyAsHtml.

 

Gruß, Nils


Nils Kaczenski

MVP Cloud and Datacenter Management
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!


#3 Alith Anar

Alith Anar

    Board Veteran

  • 1.465 Beiträge

 

Geschrieben 19. Juni 2017 - 14:45

Nein, der Fehler liegt beim Content einlesen:

Zeile 5 muss so lauten:

$Inhalt = (Get-Content c:\temp\hilfe.txt | out-string )

Dann wird auch das jeweilige Zeilenende mit in den Body der Mail übernommen.

 


“The difference between fiction and reality? Fiction has to make sense.” — Tom Clancy


#4 NilsK

NilsK

    Expert Member

  • 11.910 Beiträge

 

Geschrieben 19. Juni 2017 - 14:47

Moin,

 

also redest du nicht von Formatierungen, sondern von Zeilenumbrüchen.

 

OK, schön, dass es jetzt klappt.

 

Gruß, Nils


Nils Kaczenski

MVP Cloud and Datacenter Management
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!


#5 Alith Anar

Alith Anar

    Board Veteran

  • 1.465 Beiträge

 

Geschrieben 19. Juni 2017 - 15:31   Lösung

Noch mal etwas erweitert (immerhin leben wir ja in Dtl.)
Die letzten beiden Zeilen müssen noch etwas erweitert werden:
 

$Inhalt=(get-content c:\temp\hilfe.txt -encoding UTF8 | out-string)
Send-MailMessage -To empfänger@mailserver.de -from administrator@mailserver.de -Subject "Job Mailingliste vom $vor7Tagen bis $Heute" -body "$Inhalt" -Encoding ([System.Text.Encoding]::UTF8)

Bearbeitet von Alith Anar, 19. Juni 2017 - 15:31.

“The difference between fiction and reality? Fiction has to make sense.” — Tom Clancy


#6 MurdocX

MurdocX

    Senior Member

  • 359 Beiträge

 

Geschrieben 19. Juni 2017 - 18:02

Die bessere Lösung wäre gewesen, den Text in einer Variable zu speichern und nicht erst in eine Textdatei auszugeben mit nachträglichem Einlesen  ;)


Mit freundlicher Unterstützung
Jan


#7 Alith Anar

Alith Anar

    Board Veteran

  • 1.465 Beiträge

 

Geschrieben 20. Juni 2017 - 10:33

Klar, wäre das auch eine Lösung gewesen.

Aber so habe ich die Möglichkeit mir die Datei bei Bedarf zur Seite zu kopieren oder als Anhang zu verwenden :)


“The difference between fiction and reality? Fiction has to make sense.” — Tom Clancy


#8 MurdocX

MurdocX

    Senior Member

  • 359 Beiträge

 

Geschrieben 20. Juni 2017 - 11:07

Jeder wie es ihm beliebt  ;)


Mit freundlicher Unterstützung
Jan