14 April 2017 15:09

Plain Text E-Mails mit Thunderbird (52+)

Ja, ich gebe es zu: Ich mag klassische Reintext-E-Mails. HTML macht es nur komplizierter, bedeutet viel Overhead und lenkt vom Inhalt ab. E-Mails im text/plain-Format lassen sich theoretisch auch noch völlig ohne Client verschicken (wenn man mal von der Transportverschlüsselung absieht, die heutzutage fast überall Standard ist).

Umso trauriger macht es mich, dass die Unterstützung für Reintext-Mails aus immer mehr Clients entfernt oder unzugänglicher gemacht wird. Obwohl ich schon viele Alternativen probiert habe, kehre ich immer wieder zu Thunderbird zurück. Dort habe ich die Funktionen, die ich brauche, und andere Funktionen fallen nicht störend auf. Aber um vernünftige Reintext-Mails zu verschicken, benötigt es ein wenig Konfiguration.

Manche dieser Einstellungen können über die ganz normalen Dialoge vorgenommen werden. Andere erfordern eine manuelle Änderung der Konfiguration mittels about:config, welches über "Einstellungen → Erweitert → Konfiguration bearbeiten" erreicht werden kann. In Thunderbird 52 wurde viel im Bereich der Reintext-Mails gearbeitet, wodurch zusätzliche "Hacks" notwendig werden können.

Schritt 1: E-Mails als Reintext versenden

Prinzipiell gibt es zwei Möglichkeiten, wie E-Mails als Reintext versendet werden können:

  1. Einstellungen → Verfassen → Allgemein → Sendeoptionen: Wird hier der Haken bei "Nachrichten falls möglich als Reintext senden" gesetzt, wird vor dem Absenden geprüft, ob die E-Mail Formatierungen enthält. Ist dies der Fall, wird sie als HTML verschickt, andernfalls als Reintext. Alternativ kann auch bei "Reintext-Domains" ein Eintrag *.* hinzugefügt werden.
    Tipp: Es ist ebenfalls möglich, die Versandart im "Verfassen"-Editor über das Menü unter "Optionen → E-Mail-Format" zu wählen. Hält man während des Klicks auf die "Verfassen"-Schaltfläche die Shift-Taste gedrückt, wird der Modus ebenfalls gewechselt.
  2. Konten-Einstellungen → <Konto> → Verfassen & Adressieren: Entfernt man den Haken bei "Nachrichten im HTML-Format verfassen", wird der Rich-Text-Editor (WYSIWYG) komplett deaktiviert. Damit verschwindet auch das Auswahlmenü im Verfassen-Editor und man kann E-Mails ausschließlich als Reintext verfassen. Diese Methode wird von einem Thunderbird-Entwickler, welcher in diesem Bereich aktiv ist, nicht empfohlen, ich bevorzuge sie dennoch, da ich genau sehen kann, was ich verschicke.

Schritt 2: format=flowed aktivieren

Reintext-Mails bedeuten nicht, dass der Text langweilig aussehen muss. So lässt sich mit bestimmten Zeichen Text als *fett*, /kursiv/ oder _unterstrichen_ darstellen (wenn es der Mail-Client unterstützt – es ist schließlich nur Text).

Ein Problem tritt aber bei Zeilenumbrüchen auf: Klassischerweise wird jede Zeile bei 72 Zeichen umgebrochen. Die Gründe dafür möchte ich nicht im Detail erklären, früher waren aber 80-Zeichen-breite Bildschirme üblich, weshalb diese Breite in vielen Bereichen (z.B. Quelltextbreiten) zu finden ist.

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod
tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea
commodi consequat. Quis aute iure reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur.

Bei großen Bildschirmen ist das kein Problem (außer dass große Bereiche des Bildschirms frei bleiben, 60-80 Zeichen ist aber sowieso eine optimale Zeilenlänge zum Lesen). Bei schmaleren Bildschirmen (z.B. Handy) oder bei geschachtelten Zitaten entstehen hingegen hässliche Umbrüche:

Lorem ipsum dolor sit amet, consectetur adipisici
elit, sed eiusmod
tempor incidunt ut labore et dolore magna aliqua.
Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquid ex ea
commodi consequat. Quis aute iure reprehenderit in
voluptate velit esse
cillum dolore eu fugiat nulla pariatur.

Eine Lösung für dieses Problem wurde in RFC 2646 bzw. dem Nachfolger RFC 3676 vorgestellt. Die Zeilen werden wie gewöhnlich umgebrochen, allerdings wird ein solcher Umbruch durch ein abschließendes Leerzeichen gekennzeichnet und im E-Mail-Header ein format=flowed ergänzt. (Die einzelnen Regeln sind etwas komplexer, werden aber von vielen Clients nicht völlig korrekt umgesetzt und müssen für diesen Artikel auch nicht im Detail bekannt sein.) Dadurch können die Zeilen später vom Client wieder zusammengefügt und neu umgebrochen werden.

Um die Nutzung von format=flowed in Thunderbird zu aktivieren, muss in about:config die Option mailnews.send_plaintext_flowed auf true gesetzt werden. Eingehende Mails werden automatisch korrekt dargestellt.

Schritt 3: Zeilenumbruch beim Verfassen

Der Reintext-Editor von Thunderbird bricht bereits beim Verfassen der Mail den Text bei 72 (oder 78) Zeichen um. Diese Länge wird über die Option mailnews.wraplength festgelegt (früher befand sie sich noch direkt in den Einstellungen). Es gibt aber zwei Gründe, warum diese Einstellung nicht verändert werden sollte:

  • Clients ohne format=flowed-Unterstützung würden sehr lange Zeilen anzeigen und der Benutzer müsste horizontal scrollen.
  • Die Länge von Zeilen ist durch das SMTP-Protokoll auf 998 Zeichen (ohne Zeilenumbruch) begrenzt (RFC 5322).

Bis Version 52 konnte man in Thunderbird die Option mail.compose.wrap_to_window_width setzen, wodurch der Text beim Verfassen erst am Bildschirmrand, beim Versand aber auf mailnews.wraplength umgebrochen wurde. Aufgrund einiger Umstrukturierungen und Fehlerbehebungen (zu viele Bug-Reports um sie hier aufzulisten) wurde die Option mit Thunderbird 52 entfernt. Mit einem Trick lässt sich das vorherige Verhalten aber wiederherstellen: Technisch betrachtet ist das Textfeld im Editor ein HTML-Dokument, dessen Body-Text über die CSS-Eigenschaft white-space (und ein entsprechendes width) umgebrochen wird. Glücklicherweise gibt es noch XUL und das chrome-Verzeichnis im Thunderbird-Profil. Um das width zu entfernen, muss eine Datei ~/.thunderbird/<profil>/chrome/userContent.css mit folgendem Inhalt angelegt werden.

body[style*="-moz-fixed"] {
    width: auto !important;
}

Der Selektor greift sicher auch für ein paar andere Fälle, in denen es aber nicht so kritisch sein dürfte. Leider hat das Editor-Dokument keine eindeutige ID, die man nutzen könnte.

Alles perfekt?

Leider gibt es dennoch ein paar Probleme mit Thunderbird 52. Beispielsweise reicht es bei Zitaten nicht mehr, ein > voran zu stellen, denn dies wird beim Versand automatisch um ein führendes Leerzeichen ergänzt. Deshalb lassen sich Zitate nur noch über "Als Zitat einfügen" im Menü erstellen. Das funktioniert aber nicht in jeder Situation, wie ich in einem entsprechenden Bugreport gezeigt habe (dort sind auch einige andere relevante Bugreports verlinkt).

Kommentare

Powered by BetaBlog
Login | RSS Beiträge RSS Kommentare Impressum