AA_123rf-12541195_MaximFilipchuk-123RF.jpg

© Maxim Filipchuk, 123RF

Mit Trojitá IMAP-Konten verwalten

Zarte Pflanze

Heute liest man Mails per IMAP. Mit Trojitá gelingt das flott, selbst bei Konten mit umfangreichen Ordnern.

Die großen Desktop-Umgebungen KDE SC und Gnome enthalten mit KMail und Evolution umfangreiche Mailclients mit Groupware-Funktionen. Ein Mailprogramm, das – wie Claws Mail und Sylpheed für GTK – nur Mails verwaltet, gab es im Qt-Umfeld bislang nicht. Jan Kundrát entwickelte ab 2006, basierend auf einem früheren Versuch in Python, im Rahmen einer Master-Arbeit schließlich Trojitá [1] als Qt/C++-Anwendung [2]. Er beschrieb die Hintergründe in einer Serie von Blog-Artikeln [3] – darunter, was ihn an anderen IMAP-Clients nicht gefiel und ihn bei der Arbeit an dem Projekt motivierte [4].

Dabei ging er darauf ein, warum er nicht einfach geholfen hat, KMail zu verbessern, das damals noch nicht auf Akonadi basierte [5]. Grund dafür war vor allem die Struktur der damaligen IMAP-Implementation, die zwar an zahlreichen Stellen genutzt wurde und immer noch im Einsatz ist, aber einige Mängel mit sich bringt. So unterstützt KMail bis heute nicht das von anderen IMAP-Clients bekannte Löschen von Mails via entsprechendem Flag [6].

Anders als Claws Mail und Sylpheed beschränkt sich Trojitá zudem auf IMAP, den Zugriff auf POP3-Konten unterstützt es nicht. Außerdem gibt es bislang keine Plugins, außer einem einzigen für das sichere Speichern von Passwörtern. Gerade diese Beschränkung macht es jedoch auch leichter, einen effizienten und schnellen Client zu entwickeln. Die Software enthielt ursprünglich Anpassungen für Ubuntu Touch, die Jan Kundrát im Oktober 2014 jedoch wieder entfernte [7], da die Touch-Entwickler mit Dekko ihren eigenen Fork verfolgen [8].

Das zentrale Versprechen der Entwickler liegt darin, dass Trojitá große Postfächer schnell öffnet und sowohl Hauptspeicher als auch CPU effizient nutzt. In Bezug auf die Bandbreite des Netzwerks soll es ebenfalls sparsam sein. Dazu implementiert das Programm eine ganze Reihe von fortgeschrittenen IMAP-Funktionen wie QRESYNC und CONDSTORE für schnelle Postfach-Synchronisation sowie CONTEXT=SEARCH für die Live-Suche [9].

Im Gegensatz zu Programmen, die als POP3-Clients anfingen, wurde Trojitá von Anfang an speziell als IMAP-Client konzipiert. Die letzte Release-Version 0.4 verspricht zudem weitere Optimierungen: Laut den Entwicklern synchronisiert sie große Postfächer bis zu zehnmal schneller und spart dabei maximal rund 40 Prozent Arbeitsspeicher ein [10]. Zu den besonderen Merkmalen des Programms gehört es, immer nur so viele Daten zu laden, wie die Benutzeransicht es erfordert. So öffnen Sie selbst Mailboxen mit 100 000 oder mehr Mails, ohne abzuwarten, bis die Software einen kompletten Index erstellt hat [11].

Installation

Die Entwickler stellen das Programm via OpenSuse Build Service [12] als Paket für Fedora, RHEL/CentOS, OpenSuse, Debian und Ubuntu sowie als Quelltext bereit [13]. Es gibt außerdem einen nächtlich aktualisierten Build [14], der gegenüber der Release-Version 0.4.1 eine ganze Reihe von Verbesserungen aufweist. Dank der Plattform-Unabhängigkeit von Qt läuft Trojitá auch unter Windows und Mac OS X; allerdings verweist die Webseite derzeit nur für Windows auf einen Installer.

Möchten Sie einen Blick auf den vollen Funktionsumfang werfen, greifen Sie am besten zum Nightly Build, da dieser anders als die Release-Version das verschlüsselte Speichern von Passwörtern via Qt Keychain ermöglicht [15]. Letzteres verwendet Gnome Keyring oder KWallet Manager für KDE und unterstützt darüber hinaus Windows und Mac OS X.

Allerdings liegt der Nightly Build nur in Englisch vor; lediglich die Release-Version verfügt über eine deutsche Übersetzung der Oberfläche. Die übersetzten Texte stammen aus einem anderen Repository, und der OpenSuse Build Service führt das Python-Skript, das diese lädt, derzeit nicht aus. Der Artikel bezieht sich daher im Folgenden auf die Bezeichnungen in der Oberfläche der englischen Version.

Für die Installation via Paketmanager klicken Sie auf der Website von OpenSuse Build auf das Logo der von Ihnen eingesetzten Distribution und folgen den Anweisungen. Für OpenSuse gelingt die Installation via One Click Install per Mausklick. Der Build Service liefert aber zusätzlich die Befehle für eine manuelle Installation.

Für Ubuntu 14.04 fügt die Zeile 1 aus Listing 1 den Release-GPG-Schlüssel zum APT-Schlüsselring hinzu. Zeile 2 konfiguriert das passende Repository. Dann installieren Sie via Paketmanager entweder das Paket trojita für die aktuelle Release oder trojita-nightly für den Nightly Build. Zum sicheren Speichern von Passwörtern installieren Sie zusätzlich das Paket trojita-plugin-qtkeychain.

Listing 1

$ wget -q -O- http://download.opensuse.org/repositories/home:jkt-gentoo:trojita/xUbuntu_14.04/Release.key | apt-key add -
$ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/jkt-gentoo:/trojita/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/trojita-nightly.list"

Falls Sie später vom Nightly Build zur Release-Version wechseln wollen, deinstallieren Sie das Paket trojita-nightly vorab und richten erst dann die Release-Version ein. Hier fehlt den Paketen eine Konflikt-Angabe, die die gleichzeitige Installation beider Pakete verhindert. Gleiches gilt umgekehrt für den Wechsel von der Release zum Nightly Build.

Eine weitere Möglichkeit besteht darin, die Software direkt aus den Quellen zu bauen (siehe Kasten "Selbst kompilieren"), etwa, falls der Nightly Build einmal nicht auf dem aktuellen Stand ist.

Selbst kompilieren

Zunächst einmal laden Sie mit dem Kommando aus der ersten Zeile von Listing 2 den Trojitá-Quellcode herunter. Möchten Sie diesen später aktualisieren, gelingt das mit dem Kommando git pull. Debian- und Ubuntu-Anwender ziehen mit apt-get build-dep trojita die grundlegenden Abhängigkeiten zum Bauen nach. Die aktuellen deutschen Übersetzungen holen Sie mit python l10n-fetch-po-files.py aus dem Subversion-Repository mit den Übersetzungen.

Trojitá benötigt Cmake, Qt, Zlib und für das sichere Speichern von Passwörtern Qt Keychain. Bei Debian und Ubuntu installieren Sie hierfür die Pakete cmake, libqt4-dev, qt4-dev-tools für Qt Linguist, libqtwebkit-dev, zlib1g-dev und libqtkeychain-dev und ragel. Wechseln Sie nun in das Quelltext-Verzeichnis und konfigurieren Sie den Quelltext mit den Kommandos der Zeilen 2 bis 5 aus Listing 2.

Läuft Cmake fehlerfrei durch, so baut make -j4 die Quellen. Passen Sie dabei die Zahl hinter der Option -j nach Bedarf an die Zahl der Prozessorkerne im System an. Mit sudo make install landet das Programm dann in /usr/local. Im Test war erforderlich, anschließend sudo ldconfig aufzurufen, um dem System die neu installierten Bibliotheken bekannt zu machen.

Für Qt5 braucht es die Debian-Pakete qtbase5-dev, libqt5webkit5-dev, qt5keychain-dev, qttools5-dev sowie qttools5-dev-tools für die Qt5 Linguist Tools. Übersetzen Sie in diesem Fall mit cmake -DWITH_QT5=ON und löschen Sie gegebenenfalls vorher die Datei CmakeCache.

Wer indes in ein anderes Verzeichnis installieren oder andere Einstellungen verändern möchte, der ruft vor Cmake noch ccmake .. auf und passt die Einstellungen an.

Aufgrund eines Bugs in Qt 5.3.1 startete Qt mit dieser Qt-Version nicht. Mit Qt 5.3.2 startete Trojitá zwar, stürzte aber beim Klick auf eine Mail ab. Das von Qt5 verwendete Qt Webkit lud das Browser-Plugin für die Remote-Desktop-Lösung X2go in den Speicher, obwohl das ein Qt4-Plugin ist. Dieser Fehler wurde mittlerweile im Quelltext von Qt Webkit behoben [16]. Nach dem Entfernen des Pakets x2goplugin lief die Qt5-Version von Trojitá (Abbildung 1).

Da Cmake kein Make-Target zum Entfernen erstellt (uninstall), aber die Liste der installierten Dateien aufzeichnet, gelingt ein Entfernen mit cat install_manifest.txt | xargs sudo rm. Möchten Sie ein Debian-Paket bauen, greifen Sie auf die Anleitung in README.Debian zurück. Die erklärt, wie Sie anhand der Dateien für den OpenSuse Build Service, der Trojitá-Pakete baut, selbst eins erstellen. Im Test kam aber der Befehl dpkg-buildpackage -b mit der zusätzlichen Option -rfakeroot zum Einsatz.

Die Bau-Abhängigkeiten für das Paket stehen in der Datei debian/control unter Build-Depends. Der Befehl dpkg-buildpackage zeigt jedoch an, was noch fehlt. Die Option -b ist erforderlich, denn sonst sucht der Befehl nach einem Quelltext-Tarball, der bei einem Git-Checkout so nicht existiert. Obwohl das Paket die Version 0.3.90 im Dateinamen hat, baut dpkg-buildpackage eine (auch nicht ganz aktuelle) Version 0.4.1 vom 7. Juli 2014. Wer nicht tiefer in die Debian-Paketierung einsteigen möchte, ist mit der Version aus dem OpenSuse Build Service besser beraten. Denn die war zum Redaktionsschluss tagesaktuell.

Listing 2

$ git clone git://anongit.kde.org/trojita
$ cd trojita
$ mkdir build
$ cd build
$ cmake ..
Abbildung 1: Trojitá läuft zwar mit Qt5, für einen stabilen Betrieb sind jedoch einige Dinge zu beachten.

Konfiguration

Die Konfiguration des Mailclients fällt leicht: Sie finden alle Einstellungen unter IMAP | Settings. Im Reiter General geben Sie mit Add Ihren Namen und Ihre Mailadresse an. Sie haben die Möglichkeit, in Trojitá mehrere Identitäten zu verwenden. Setzen Sie hier Passwords auf Secure storage via QtKeychain, um die Passwörter verschlüsselt zu speichern. Wer HTML-Mails nicht mag, aktiviert noch Show plaintext e-mails instead of the HTML version.

Das Konto konfigurieren Sie unter IMAP (Abbildung 2). Das Programm erwartet die üblichen Angaben wie Server, Port, Benutzername, Passwort und Art der Verschlüsselung. Verwenden Sie bei Encryption den Eintrag Use encryption (STARTTLS) oder Force Encryption (TLS). Letzteres nutzt den IMAPS-Port 993, während Ersteres über den Standard-Port 143 via STARTTLS das Verschlüsseln anfordert.

Abbildung 2: Trojitá unterstützt ein IMAP-Konto mitsamt der üblichen Optionen zum Verschlüsseln der Kommunikation zwischen Client und Server.

Trojitá unterstützt im Gegensatz zu KMail oder Thunderbird derzeit nur ein Konto. Allerdings lässt es sich seit Trojitá 0.4 mit unterschiedlichen Profilen mehrfach starten. Dazu dient die Option --profilename, der Sie einen Namen für das Profil übergeben [8]. Das ist allerdings nicht der endgültige Ansatz für den Betrieb mehrerer Konten.

Trojitá kann einen IMAP-Server als lokalen Prozess starten, beispielsweise über SSH-Schlüssel und SSH-Agent via ssh mail.example.org dovecot --exec-mail imap den Server Dovecot. Möglich wäre auch ein lokaler Dovecot auf einem Laptop in Verbindung mit einem Programm zum Synchronisieren wie Imapsync.

Für das Versenden von Mails geben Sie unter SMTP Servername, Port und Art der Verschlüsselung an. Wer für STARTTLS den Port 25 nutzt, muss diesen extra anpassen, da das Programm von Port 587 als Standard ausgeht. Für authentifiziertes SMTP, wie es mittlerweile üblich ist, geben Sie hier noch den Benutzernamen und das Passwort an.

Unter Offline konfigurieren Sie, ob die Software Nachrichten und die Indizes für die Postfächer puffert, entweder dauerhaft oder für eine bestimmte Anzahl von Tagen. Der Puffer liegt in einer Sqlite-Datenbank in ~/.cache/flaska.net/trojita/imap.cache.sqlite und belegte auf einem Testsystem, auf dem das Programm Nachrichten für 30 Tage speicherte, im Betrieb 76 MByte.

Das Programm legt sowohl die Indizes für Ordner als auch komplette Mails im Cache ab. Der hilft vor allem den IMAP-Server und die Netzwerkverbindung zu entlasten oder unabhängig vom Netz Mails zu lesen. Dazu bietet Trojitá jedoch zusätzlich im Hauptmenü unter IMAP | Network Access die drei Optionen Offline, Expensive Connection (teure Verbindung) und Free Access (freier Zugriff).

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...