Dovecot: zlib-Files entpacken

Im Dezember musste ich Mails einer Domäne in ein Mailarchiv importieren. Dieses mochte jedoch die komprimierten Files nicht so ganz (mit zlib-Kompression lässt sich bis zu 40% Speicherplatz mit Dovecot einsparen…so steht’s im Dovecot-Buch). Also musste ich erst mal entpacken.

Da das vmail-Directory nur noch alte Nachrichten enthielt und das aktuelle System nicht dort speichert, konnte ich mich austoben und die Nachrichten einfach verschieben (das Directory wurde danach sowieso gelöscht – hier werden ja bestehende Files verschoben, würde ich jetzt nicht direkt so auf einem produktiven System laufen lassen… 😉 ).

Jabber im Terminal

Ich habe jetzt über die Zeit einige cli-chat Programme angeschaut. Voraussetzung in erster Linie war für mich XMPP, jedoch IRC fand ich auch nicht ganz uninteressant…

Mein Fazit: WeeChat ist meine erste Option, wenn es um XMPP und IRC geht. Falls nur XMPP verwendet wird, würde ich auf Profanity setzen. Zu erwähnen bleibt hier: Profanity setze ich schon seit mehreren Wochen ein, WeeChat eigentlich erst seit jetzt. Also kann ich zu WeeChat/XMPP nicht wirklich etwas glaubwürdiges sagen. Alle anderen Tools habe ich mehr oder weniger in ein paar Minuten “evaluiert”, also sind meine Aussagen komplett unbrauchbar….das sind lediglich meine ersten Eindrücke bzw. wie “wohl” ich mich damit “gefühlt” hab… Ich werde definitiv WeeChat über die nächsten Wochen genauer anschauen. Will ja sowieso auch einen eigenen IRC-Server hinstellen demnächst…

mcabber

Mcabber ist ein weiterer Jabber-Client für die Konsole.

Vorteil: in Stable enthalten

Config Beispiele findet man auf Github. Richtig warm werde ich damit aber auch nicht, es passt mir einfach nicht recht, weiss auch nicht warum…

finch

Finch ist eigentlich Pidgin für die Konsole. Ich fühle mich irgendwie aber einfach nicht wohl, obwohl die Bedienung sehr simpel ist und wohl auch die Features nicht schlecht sind. Pidgin ist ja bekanntlich ganz gut. Aber auf der Konsole passt es mir einfach nicht…nur schon die “kleinen Fenster” im Terminal nerven mich irgendwie. Warum nicht den kompletten Platz des Terminals nutzen und so ein “Fenster” öffnen” ? Aber für hartgestottene Pidgin-User aber bestimmt eine gute Wahl. Ich weiss jetzt auch nicht, ob alle Plugins von Pidgin hier auch funktionieren. Falls ja, ganz klar ein Pluspunkt (z.B. Group-IM etc).

profanity

Profanity finde ich recht sympathisch. Die ganze Command Reference findet man auf der Website. Auch die Dokumentation ist sehr gut. Zwischen Chats wechselt man mit “Alt”+Nummer. Aliase etc. lassen sich einfach im config-File definieren. Zum Chatten sehr angenehm, meiner Meinung nach…

Vorteil: simples handling

Nachteil: nur in sid (oder Jessie) derzeit, Package lässt sich aber problemlos auch in Stable/testing montieren

poezio

Den hab ich grad eben per Zufall gefunden, selbst nicht angeschaut / getestet. Der Vollständigkeit halber erwähn ich aber auch Poezio hier noch…

weechat

Generell ist WeeChat ja ein IRC-Client (oder ?). Aber auch XMPP (via Plugin) ist verfügbar. Von der Bedienung und den Features würde ich aber klar profanity bevorzugen. Aber um einfach ein bisschen zu chatten, reicht WeeChat via Plugin allemal aus. Wechsel zwischen den Chats ist auch hier “Alt”+Nummer des Chats.

Vorteil: im Repo vorhanden, IRC + XMPP in einem Client, erweiterbar (sehr viele Scripts verfügbar). Auch für Matrix gibt es ein Script, was ich selber aber erst installiert hab und bisher noch nicht gross getestet hab (Falls das ganze nach dem Integrieren unglaublich lahm wird: /lua reload matrix scheint das zu beheben und WeeChat wieder brauchbar zu machen).

Nachteil: nur grundlegende XMPP-Funktionen verfügbar, mehr aber auch nicht (soviel ich weiss). Zum Beispiel können mittels /jchat nur User angeschrieben werden, welche auch online sind. Ich sende aber immer wieder mal Messages an User, die derzeit grad nicht online sind. Das ist schade.

Basics

Einige Basics zu WeeChat

Server hinzufügen

Server hinzufügen ist straight-forward. Der Name kann natürlich frei gewählt werden…

Automatische Verbindung zu Server beim Start (natürlich immer mit entsprechendem Server-Alias, das man vergeben hat)

Jabber

Um Jabber in WeeChat benutzen zu können, muss erstmal das Plugin montiert sein.

Matrix

Matrix richtet man ähnlich ein, auch hier muss natürlich erst das Plugin montiert sein

Als ich das ganze beim ersten mal verbunden hab, wurde Weechat extrem lahm, nicht mehr bedienbar. Grund ist (seweit mir bekannt), wenn die User in Matrix HQ gelistet werden, dauert das so lange, weil dieser Raum komplett überfüllt sei. Abhilfe hat bei mir das Ausblenden der Nickliste gebracht

Nicklist

Bei langen Usernamen verschwendet die Nicklist viel zu viel Bildschirmplatz. Ich begrenze meine auf 18 Zeichen

Away Messages

Oft sieht man etliche Join/Quit Messages, die nicht wirklich interessant sind und das ganze recht übersichtlich machen. Hierzu gibt es aber eine Einstellung

Somit sieht man nur die Leave-Messages von Usern, die innert der letzten 10 Minuten aktiv waren. Der Wert lässt sich via /set irc.look.smart_filter_delay <min> definieren, falls man mehr/weniger als 10 Minuten möchte.

Channels

Um Channels zu suchen, finde ich /msg alis list wesentlich angenehmer als nur /list. Mit /list werden alle Channels aufgelistet, das kann also verdammt viel sein.. Mit alis (advanced listing service) kann man granularer suchen

Channels automatisch verbinden

Einstellungen

Generell kann man mit /set eigentlich alle Einstellungen anpassen. Ob man das jetzt via /set oder direkt im Config-File macht, ist wohl “Ansichts-Sache”. Ich bin eher der Config-File Typ..

Wichtig ist jedoch, falls man mit /set Einstellungen anpasst, dass man diese speichert und reloadet, sonst ist es beim nächsten Start weg !

Scripts

Scripts können entweder manuell heruntergeladen werden oder via “/script install scriptname”

Autoload beim Start

Generell reicht hier einfach ein Symlink im (entsprechenden) autoload Directory.

 

Card- und CalDAV im terminal

Um’s grad vorweg zu nennen: Vieles hier hab ich von Florian Heinle’s Blog abgeschaut, welchen ich beim initialen Testen als erste Anlaufstelle verwendet hab. Im Gegensatz zu ihm hab ich aber die Debian-Packages verwendet.

Wie’s halt so ist, hätte ich das gern bei mir selbst dokumentiert.

Als erstes monitiert man mal die Packages khard, khal und vdirsyncer.

Sync einrichten

~/.config/vdirsyncer/config (siehe auch vdirsyncer Tutorial)

initiale Konfiguration

Dies ist nur einmalig nötig, oder falls neue Kalender- bzw. Kontakte-Folder hinzugefügt werden.

Nun kann der Sync durchgeführt werden

mit vdirsyncer -vdebug sync kann man sich mehr Details beim Sync anzeigen lassen.

Cron für automatischen Sync

Da man in der Regel nicht gern ständig manuell erst einen Sync macht, damit man up-to-date ist, richtet man am schlausten einen simplen cron ein. Ich mach’s alle 5 Minuten.

Kontakte mit khard

Beim ersten Start wird gleich reklamiert, wenn das Config nicht vorhanden ist

Also kopieren wir am einfachsten mal die Beispielconfig her und passen dort die Pfade entsprechend an

Usage

Mit ‘khard ls <suchbegriff>’ kann man recht bequem Kontakte suchen. verwendet man ‘details’, werden alle Informationen zum Kontakt angezeigt.

Der Parameter ‘–help’ zeigt alle weiteren benötigten Parameter an. Recht selbsterklärend.

Integration in mutt

Mit dieser Ergänzung in .muttrc kann man Adressen mit dem Tabulator vervollständigen und khard sehr bequem mit Mutt verwenden.

Zudem kann man mit ‘A’ Adressen als neue Kontakte hinzufügen (in der Auflistung der Mails oder wenn das entsprechende Mail geöffnet wurde).

Kalender mit khal

Die Konfiguration von khal ist recht simpel, einfach die gewünschen Kalender, die wir in vdirsyncer definiert haben, angeben in .config/khal/config und schon läuft das Teil (inital etwas länger, was ja verständlich ist). Der muss wohl einfach wissen, wo er die ics-Files zu suchen hat.

Um nur schnell die aktuellen Termine anzuzeigen, reicht es aus, einfach ‘khal’ einzugeben.

Möchte man Termine anlegen / bearbeiten, startet man ‘ikhal’. Mit ‘?’ kann man die wichtigsten Tasten anzeigen. Der Rest ist recht selbsterklärend, finde ich.

commands

Anstatt via ikhal kann man aber auch direkt via commanline einen Termin setzen, z.B.:

ganztägige Termine gibt man einfach ohne Zeitangabe an

mit der “-a”-Option kann der entsprechende Kalender gewählt werden. Das ganze wird nach diesem Schema abgesetzt:

Die wichtigsten Optionen hier sind:

  • -l, –location=LOCATION Ort festlegen
  • -g, –categories=CATEGORIES kommagetrennte Liste von Kategoriern. Einige Server unterstützen nicht mehrere Kategorien…
  • -r, –repeat=RRULE Ereignis-Wiederholung. Erlaubte Werte sind daily, weekly, monthly und yearly
  • -u, –until=UNTIL spezifizieren, wie lange das Ereignis dauern soll
  • –alarm DURATION Erinnerung vor dem Start des Ereignisses, sollte etwa so aussehen 1day 10minutes oder 1d3H10m, negative Werte starten nach dem Start des Ereignis.

weitere Beispiele

Ereignis heute um 18 Uhr mit Standardzeit von 1 Stunde im Standardkalender

Ereignis morgen um 16:30

adds a new event on 25th of October lasting from 18:00 to 24:00 with an additional description

Ein ganztägiges Ereignis am 26. Juli im Kalender “work”, welches wöchentlich wiederholt wird.

Detailliertere Informationen findet man beispielsweise hier.

Android / EAS

Wenn ich Kontakte in khal anlege, werden die wunderbar zum Server synchronisiert, auch Thunderbird und Webmail zeigen alles an. Jedoch motzt mein Android, welches via EAS verbunden ist, dass es nicht synchronisieren konnte.

Ob das nun ein EAS, SOGo oder khal-Problem ist, ist mir nicht ganz klar. Ich tendiere, dass es mit EAS etwas zu tun hat, sonst würde TB und das Webmail ja auch nix anzeigen/motzen. Muss mal CalDAV am Handy einrichten und damit testen.

EDIT: Hab heute grad mal DAVdroid montiert – mittels Card- / CalDAV bestehen absolut keine Probleme mit dem Sync auf Android….

 

Notifications für (Neo)Mutt

Mit “new_mail_command” kann man sich ganz einfach eine Notification für neue Mails einrichten (https://www.neomutt.org/feature/new-mail)

Das ganze schaut dann etwa so aus (warum der Icon fehlt weiss ich jetzt auch grad nicht – eventuell was mit i3 zu tun ?)

Sieve Filter Attachments

Sieve ist witzig. Habe jetzt eben mal einen Filter zum doc rejecten gemacht. Klappt ganz gut…und ist (neben der Grundsatz-Diskussion über freie Software) eigentlich auch gar nicht abwegig, wenn man die Crypto-Trojaner etc betrachtet, die derzeit rumschwirren…

Hier die gekürzte Fassung:

Huawai Mail

Naja, wieso jeder Hersteller ein eigenes Mail, Kalender usw. machen muss, ist mir generell ein Rätsel. Meist können die nicht mehr als die Standard-Android Applikation oder sind sonst buggy… Jedenfalls ist das beim Huawei auch so. Mail ging eigentlich immer ganz gut, aber die Kontakte und Kalender hab ich meist nach ca. einem Tag nicht mehr auf dem Phone, keine Ahnung weshalb. Ein erzwungenes Update mit Z-Push hat das Problem meist kurzfristig behoben – ist aber erstens nicht wirklich bequem und zweitens trat das Problem ziemlich schnell erneut auf…

Jetzt hab ich mir die Stock-Android Mail-App aus 4.4 und Exchange-Services montiert. Endlich wieder das “Standard-Programm” (leider immer noch ohne S/MIME Support, aber das ist ein anderers Thema). Der Sync funktioniert auf Anhieb wieder tadellos und jetzt schau ich mal, ob dasselbe Probleme auch hier auftritt. Ich bezweifle es…

weitere Standard-Google-Apps findet man locker mit einer Google-Suche, z.B. hier

TinyTiny in Thunderbird/Iceweasel integrieren

Tiny Tiny RSS lässt sich auch in Thunderbird einbauen. Man muss dazu unter “Tools” die “ErrorConsole” starten und folgenden Code – selbstverständlich mit dem eigenen RSS-URL – angeben:

Nun erhält man eigentlich nur einen weiteren Tab, der das Login für TTRSS anzeigt. Eigentlich nichts weltbewegendes, aber ich finde das ganze noch recht angenehm. Vielleicht bin ich – was das anbelangt – aber auch einfach ein bisschen anders…

Icon für TTRSS in Thunderbird

Anstatt das ganze nun über die “Error Console” zu machen, kann man sich auch selbst einen Icon hierzu “basteln”:

Um das ganze dann noch ein bisschen bequemer zu gestalten kann man sich das Addon “Custom buttons” installieren und sich einen Button für den Reader einrichten. Dazu klickt man in der Toolbar irgendwo rein und wählt “add new button”:

Im nachfolgenden Dialog muss lediglich der Name des Buttons und der entsprechende Code eingefügt werden. Das Icon ist optional. Wenn man sich selbst eins reinschmeisst wie ich hier, dann empfehle ich die Grösse von 16×16, maximal 24×24 pixeln, alles andere ist meines Erachtens zu gross…

clamav

Letzthin hab ich, eher per Zufall, entdeckt, dass Clamav noch recht viel Speicher für eigentlich nichts tun braucht. Da ist es, soweit ich gesehen habe, ganz normal, dass das Teil mal so um die 200-300MB versaut. Ein weiterer Grund, Mailserver mit genügend Speicher auszurüsten. Ich sage mal so 2GB sollten da schon mindestens drinliegen, wenn Spamassassin, Clamav und aMaViS mitlaufen…kommt natürlich auch noch auf die Anzahl User drauf an und ob IMAP etc auf derselben Kiste mitlaufen. Unter 2GB ist aber wohl nicht sehr realistisch in den meisten Fällen, ausser es läuft nur Postfix und sonst nix.

Übrigens hat auch clamav ein eigenes top…. clamdtop…

Wenn aMaViS Selbstmord macht…

Das kommt davon, wenn man den Server nicht sauber runterfährt….

Letzthin hat aMaViS gestreikt und in den Mail-Logs waren dann solche Messages zu finden:

und

Die Lösung auch hier mal wieder ziemlich banal:
aMaViS stoppen, den Inhalt des DB-Verzeichnisses unter /var/lib/amavis/db löschen und schliesslich aMaViS neu starten. Beim Start legt dieser die Dateien wieder automatisch an und das Problem sollte nicht mehr auftreten

Danach vielleicht noch das Zeug in der Mailqueue requeuen und es sollte wieder alles passen.