Home   Artikel   Archiv   Forum   Impressum  
Artikel vom 1.10.03
Autor: Ronny Ziegler
Languages: en
Artikel bewerten:

Printer Druckversion
Helfen Sie mit!
 

ZoE - Mail-Aggregator

E-mail ist das meistgenutzte Kommunikationsmittel im Netz.
Aber gerade die große Fülle an Mails (versteckt zwischen noch mehr Spam) macht ein Archivieren der Nachrichten nicht besonders einfach.

Ein Mail-Client macht noch keine Datenbank

Wer täglich Mails im dreistelligen Bereich erhält, merkt schnell, daß der Mail-Client immer langsamer bei deren Verarbeitung wird.
Möchte man eine ältere Mail suchen, muß man sich schon gedulden, oder erhält wegen schlechter Suchfunktion eine Fülle an Ergebnissen.
Außerdem werden Mails schneller mal gelöscht, um die Übersicht in seiner Inbox behalten zu können.

Was man bräuchte wäre eine Datenbank mit Suchfunktion, die komfortabel zu konfigurieren und zu bedienen ist. Möglichst noch über den Web-Browser. Eine Art Google für Mails.
Und genau zu diesem Zeitpunkt kommt ZoE ins Spiel...

ZoE? - Was bringt mir das?

Zoe ist so eine Datenbank mit Suchfunktion. Geschrieben ist das Programm in Java und unter http://zoe.nu/ frei erhältlich.
ZoE wird unter der Creative Commons Attribution-NonCommercial License vertrieben, die jedem einen nichtkommerziellen Einsatz der Software erlaubt.

ZoE klemmt sich nun zwischen den Mail-Server und den E-Mail Client, und protokolliert alle ein- und ausgehenden Mails mit, um sie in einer Datenbank zu sammeln. Zusätzlich bietet das Programm eine komfortable Suchfunktion um später in der Fülle an Mails zu suchen.

Installation

Die Installation läuft sehr unkompliziert. Man muß nur im Besitz einer aktuellen Java Laufzeitumgebung sein (J2RE), die bei den meisten Distributionen enthalten ist, oder sich unter www.java.com beziehen läßt.
Das ZoE-Paket muß dann nur entpackt werden

  >> tar zxvf Zoe20030920.tgz -C /usr/local/
  
und kann daraufhin in dem erzeugten Verzeichnis gestartet werden:
  >> cd /usr/local/Zoe
  >> java -jar Zoe.jar 
  
Damit Zoe bei jedem Booten des Rechners mitgestartet wird, sollte man ein Init-Skript benutzen (Quelle: http://www.invisible.ch/files/zoe.txt)

Init-Skript
   #!/bin/bash
   #
   #	/etc/rc.d/init.d/zoe
   #
   # Starts zoe
   #
   # chkconfig: 2345 80 20
   # description: Zoe is google for email
   # processname: zoe
   
   # Source function library.
   . /etc/init.d/functions
   
   RETVAL=0
   
   #
   #	See how we were called.
   #
   
   prog="zoe"
   
   start() {
   	# Check if atd is already running
   	if [ ! -f /var/lock/subsys/zoe ]; then
   	    echo -n $"Starting $prog: "
   	    cd /usr/local/Zoe
   	    /path/to/j2jre1.4.2/bin/java -jar Zoe.jar daemon > /dev/null 2>&1 &
   	    RETVAL=$?
   	    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zoe
   	    echo
   	fi
   	return $RETVAL
   }
   
   stop() {
   	echo -n $"Stopping $prog: "
   	cd /usr/local/Zoe
   	/path/to/j2re1.4.2/bin/java -jar Zoe.jar shutdown > /dev/null 2>&1 &
   	RETVAL=$?
   	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zoe
   	echo
           return $RETVAL
   }
   
   
   restart() {
   	stop
   	start
   }	
   
   reload() {
   	restart
   }	
   
   case "$1" in
   start)
   	start
   	;;
   stop)
   	stop
   	;;
   reload|restart)
   	restart
   	;;
   condrestart)
   	if [ -f /var/lock/subsys/zoe ]; then
   	    restart
   	fi
   	;;
   *)
   	echo $"Usage: $0 {start|stop|restart|condrestart}"
   	exit 1
   esac
   
   exit $?
   exit $RETVAL:
  


Zum Thema Init-Skripte und deren Installation siehe auch den Artikel "Init-Skripte".

Konfiguration

Wurde Zoe erfolgreich installiert, geht es an die Konfiguration der Mail-Accounts. In einem Web-Browser läßt sich Zoe unter dem Port 10080 erreichen, also gibt man als URL

  http://localhost:10080
  
ein, um von der Zoe-Startseite begrüßt zu werden.
Mit einem Klick auf den Link ZOE in der oberen linken Ecke kommt man zu einer Übersicht der Konfigurationsmöglichkeiten.
Der Link "Accounts" http://localhost:10080/preferences/accounts/ läßt einen die zu archivierenden Mail-Accounts einstellen:

Zoe kommt dabei mit POP3 als auch IMAP-Postfächern zurecht, und unterstützt die Verbindung sogar im verschlüsselten Modus.

Bei einem Einsatz von ZOE zwischen Mail-Server und Email-Client sollte die Option "Leave messages on server" nicht aktiviert werden, da ansonsten das Speicherlimit des Mail-Servers überlaufen könnte, ohne daß man dies bemerkt. Für erste Testzwecke ist die Option hingegen sehr hilfreich.

Man kann durchaus mehrere Mail-Accounts anlegen, die dann alle von ZOE hintereinander nach neuen Nachrichten abgesucht werden.

Client-Konfiguration

Im Mail-Client muß nun der ZOE-Server als neuer POP3-Server eingestellt werden. Bisher wird das IMAP-Protokoll noch nicht unterstützt, ist aber bereits für spätere Versionen in Planung.
Um auch verschickte Mails in ZoE zu archivieren, muss ZOE im Mail-Programm als SMTP-Server eingestellt werden. Dadurch werden sämtliche Mails vor der Weiterleitung an die eigentliche Zieladresse einmal durch ZOE geschleift, der dabei eine Kopie der Mail fürs Archiv anlegt.

Damit es nicht zu Problemen mit bereits laufenden Diensten kommt (und höhere Ports unter Linux nur mit root-Rechten benutzt werden dürfen), horcht der POP3-Server auf Port 10110 und der SMTP-Server auf 10025. Dies ist bei der Konfiguration des Mail-Clients unbedingt einzustellen.

Weitere Besonderheiten sind, daß der SMTP-Server nur Auth-SMTP unterstützt, d.h. vor dem Verschicken der Mail wird ein Passwort vom Server benötigt, damit nicht irgendwer den SMTP-Server für SPAM mißbrauchen kann.
Der Passwortschutz wird im Preferences-Menü unter Authentication eingestellt.

Zusätzlich muß beachtet werden, daß im Mail-Client für das Abholen der Nachrichten vom POP3-Server die Option "Leave Messages on Server" aktiviert wird, ansonsten verweigert ZOE die Zusammenarbeit.

Arbeitsweise

Sind alle Einstellungen vorgenommen, läuft ZOE vollkommen unbemerkt im Hintergrund und sammelt alle Mails in der Datenbank. Für den Benutzer bleibt dies idealerweise völlig unbemerkt.

Erst wenn man in dieser Datenbank suchen möchte, kommt man wieder in Kontakt mit ZOE.

So erkennt ZOE Mailinglisten automatisch und sortiert diese entsprechend. Benutzernamen, Absender-Orte, E-mails und Links in den einzelnen Nachrichten werden extrahiert und tabellarisch angezeigt, so daß auch eine gezielte Suche nach Personen oder Orten möglich ist.

Sogar als Web-Mail Lösung läßt sich ZOE benutzen, obwohl es dafür eigentlich nicht gedacht ist:

Auf der Hauptseite biete ZOE dem Benutzer eine Übersicht über alle aktuell eingegangenen Mails, und erlaubt neben dem Lesen auch das Verfassen neuer Mails.

Multiuser

ZOE wurde von Anfang an für den Einsatz an Einzelplatzrechnern entwickelt. Trotzdem ist ein Mehrbenutzerbetrieb mit etwas Zusatzaufwand möglich.
Das Programm erkennt automatisch, welcher Benutzer die Java Laufzeitumgebung gestartet hat, und läßt ZOE dann unter diesem Account laufen.
Damit nun nicht auf einem etwaigen Server auf dem ZOE netzwerkweit seine Dienste anbietet für jeden Benutzer ein Account existieren und eine JRE laufen muß, kann man ZOE beim Start mittels Option mitteilen, unter welchem Usernamen es laufen soll:

  >> java -Duser.name=OptionalerUserName -jar Zoe.jar
  
Somit läuft unter einem Benutzeraccount (man sollte einen speziellen ZOE-User auf dem Server anlegen) eine JRE, die ihre Dienste aber für mehrere Benutzer anbietet.

Die Unterscheidung der Benutzer funktioniert dann mittels der Authentifikation (Username, Passwort) bei den einzelnen Diensten (Web, SMTP, POP3).

Mehr Informationen zum Mehrbenutzereinsatz von ZOE findet man unter http://zoe.omara.ca/MultipleUsers

Ausblick & weitere Informationen

  • ZOE als IMAP-Server
    Bisher läßt sich ZOE leider noch nicht als IMAP-Server benutzen, dies ist aber für die Zukunft geplant. Sollte IMAP-Funktionalität irgendwann mal eingebaut werden, ließe sich ZOE wunderbar zusammen mit anderen Web-Mail-Systemen wie z.B. Horde IMP einsetzen.

  • Dokumentation
    Die Dokumentation zu ZOE ist momentan noch sehr dünn.
    Die einzige wirklich ernstzunehmende vorhandene Quelle ist das ZOE-Wiki unter http://zoe.omara.ca/ZoeDocsHome
    Wer Hilfe beim Einsatz von ZOE sucht sollte sich auch in die ZOE-Mailingliste eintragen: http://sourceforge.net/mail/?group_id=54877

  • SPAM
    ZOE selbst erkennt keine SPAM-Mails, kann aber Nachrichten bearbeiten, die im Mail-Kopf bestimmte Zeilen aufweisen, wie sie von SPAM-Software wie POPFile, SpamAssassin, SpamPal und SpamBayes erzeugt werden:
      X-Text-Classification=spam / [POPFile]
      X-Spam-Flag=yes / [SpamAssassin]
      X-SpamPal?=spam / [SpamPal]
      X-Spambayes-Classification=spam / [SpamBayes]
      
  • RSS-Feeds
    RSS-Feeds lassen sich genauso wie E-Mails als Nachrichten-Quelle unter ZOE einstellen. RSS-Feeds werden regelmäßig ausgelesen und neue Segmente werden dem Benutzer per Mail zugestellt und in der ZOE-Datenbank archiviert.

Fazit

ZOE ist eines von den wenigen Programmen, die ihre Arbeit die ganze Zeit im Hintergrund tätigen, und dann erst in Erscheinung treten, wenn sie benötigt werden.
Die meiste Zeit wird der Einsatz von ZOE vor dem Benutzer verborgen bleiben, aber genau dann, wenn man versucht "diese eine spezielle Mail" wiederzufinden, erkennt man den unschätzbaren Wert der Dienste, die ZOE anbietet.

Links

Homepage: http://zoe.nu/
Sourceforge Home: http://sourceforge.net/projects/zoe/
Dokumentation: http://zoe.omara.ca/ZoeDocsHome



Anmerkungen zu diesem Artikel


Bisher keine Kommentare


Eigene Anmerkung eintragen