ConvertTo-EulandaMailHtml #
ÜBERSICHT #
Bereitet einen Mail-Body für den HTML-Render-Pfad auf: stellt den <HTML>-Marker sicher und wandelt Zeilenumbrüche in <br> — OHNE Tags zu korrigieren.
SYNTAX #
ConvertTo-EulandaMailHtml [[-Body] <string>] [<CommonParameters>]
BESCHREIBUNG #
EULANDA schaltet den gesamten Mail-Stack (WYSIWYG-Editor, Outlook-Versand, Renderer) über das Schlüsselwort <HTML> am Body-Anfang auf den HTML-Pfad (copy(Value,1,5)='<HTML'). Fehlt der Marker, wird der Body als Klartext behandelt und der Editor erscheint dunkel/invers. Außerdem schluckt HTML Zeilenumbrüche, weshalb Anwender bisher jede Zeile manuell mit <br> versehen mussten — eine Qual.
Diese Funktion nimmt dem Anwender beides ab:
Zeilenumbrüche ->
<br>(smart): Vorhandene<br>am Zeilenende werden NICHT verdoppelt; übrige Zeilenumbrüche werden zu<br>. Eine Leerzeile ergibt damit genau 2x<br>(eins beendet den vorherigen Absatz, eins ist die Leerzeile). Bestehende Templates mit manuellen<br>bleiben unverändert, neue ohne<br>werden trotzdem korrekt umbrochen — beide ergeben denselben Output.<HTML>-Marker: Beginnt der Body nicht mit<HTML>bzw.<!DOCTYPE, wird<HTML>vorangestellt, damit der Render-Pfad gleich bleibt (Editor hell, Outlook nutzt HtmlBody).Klartext wird sauber: Enthält der Body KEIN Markup (keine echten Tags), werden die HTML-Sonderzeichen
& < >escaped — so kommt auch aus reinem ASCII/Klartext garantiert gültiges HTML, ohne dass der Anwender etwas über HTML wissen muss. Enthält der Body Markup (Tags bzw.<HTML>-Marker), werden Sonderzeichen NICHT angefasst (sonst stürben die Tags).
Fehlerhafte Tags werden BEWUSST NICHT korrigiert. Dafür ist eine Toast-Warnung im Editor vorgesehen (DOM-basierte Erkennung); der Anwender korrigiert seine Vorlage selbst.
PARAMETER #
-Body #
Type: string
Der Mail-Body, bereits substituiert (Platzhalter aufgelöst). HTML oder Klartext. Leer/Whitespace ergibt einen Leerstring.
AUSGABEN #
string
Der HTML-taugliche Body mit <HTML>-Marker und <br>-Umbrüchen.
BEISPIELE #
ConvertTo-EulandaMailHtml -Body "Hallo Meyer & Co`r`n`r`nAnbei die Rechnung."
# -> '<HTML>Hallo Meyer & Co<br><br>Anbei die Rechnung.'
ConvertTo-EulandaMailHtml -Body "<html>%anrede%`r`n`r`nAls Anlage..."
# -> '<html>%anrede%<br><br>Als Anlage...' (Marker da, nl2br, kein Escape)