Vor einiger Zeit habe ich in einem Artikel erklärt, wie ich meine E-Mails automatisch vorsortiere.
Nach einer Betriebssystem Aktualisierung funktionierte das Mail sortieren mit imapfilter
nicht mehr.
Durch ein Paket Update des Betriebssystems wurden anscheinend einige Bibliotheken aktualisiert, welche vom Programm imapfilter
verwendet wurden.
Das Ausgeben der Programmschritte förderte folgende Fehlermeldung zutage.
imapfilter: timeout period expired while waiting to read data
Nach einer kurzen Google Rechere fand ich einen Launchpad Bugreport mit Link zur Ursache des Problems.
Folgender Diff-Auszug zeigt die kleine Änderung, welche das Benützen des Programms verunmöglichte.
} else
return -1;
– return response_authenticate(ssn, t, NULL);
+ return response_generic(ssn, t);
}
#endif /* NO_CRAMMD5 */
Da für Ubuntu 10.04 kein aktualisiertes Paket angeboten wird und von imapfilter bereits eine neuere Version vorliegt, habe ich mich entschieden das Programm selbst zu kompilieren.
Die aktuellste Version von imapfilter ist auf github zu finden und kann direkt aus dem Repository gecloned und kompiliert werden.
Mit dem Befehl
git clone https://github.com/lefcha/imapfilter.git
wird das ganze Repository auf den Rechner geladen.
Hat man git nicht installiert oder möchte es nicht verwenden ist es möglich die aktuellen Dateien als .zip von der github Seite zu laden und zu entpacken.
Um imapfilter unter Ubuntu Server 10.04 zu kompilieren müssen folgende Bibliotheken zuerst installiert werden, da ein Kompilieren sonst unmöglich ist.
liblua5.1-0-dev
libssl-dev
libpcre3-dev
Laut README wechselt man nun ins zuvor heruntergeladene Verzeichnis imapfilter und führt den Befehl make
aus.
Dies funktioniert unter der gegebenen Ubuntu Version aber nicht richtig, da die lua Bibliotheken an einer andern Stelle zu finden sind als gewöhnlich.
Mit einer kleinen Modifikation gelingt das Kompilieren dann trotzdem, man muss lediglich folgenden Befehl ausführen:
make INCDIRS=-I/usr/include/lua5.1 LIBLUA=-llua5.1
Das Programm sollte nun kompilieren und kann anschliessend mit sudo make install
ins Verzeichnis /usr/local/bin/
installiert werden.
Nun funktioniert das E-Mail sortieren wieder fehlerfrei. Allerdings muss beachtet werden das zukünftige Sicherheitsaktualisierungen von imapfilter nicht wie üblich über den Paketmanager eingespielt werden können, sondern durch das Kompilieren des neuen Source Codes installiert werden müssen.
1. November 2012 um 07:44 Uhr
Hi,
Du kannst ein DEB Package aus dem SourceCode erstellen.
Man braucht dazu nur das Paket „Checkinstall“
1. checkinstall installierne
2. das Binary nach Deinen Vorgaben erstellen
3. im entpackten „imapfilter“ Ordner den Befehl „checkinstall –install=no“ ausführen
4. bei bedarf imapfilter mit dpkg -i installieren
5. checken ob imapfilter installiert ist dpkg -l „Paketname“