Mailbox leeren via fetchmail
flink, flexibel, fetchmail
Während der Netscape-Messenger eine magere Funktion bereitstellt, um Ihr Mail-Postfach auf einem Server zu leeren, bietet das Programm fetchmail ungleich mehr Möglichkeiten: Optionen für eine sichere Übertragung mit ssl sind ebenso gegeben wie das Einbinden von Filterprogrammen, das Bearbeiten von unterschiedlichen Postfächern, oder das Abholen von Mails für mehrere Benutzer. Natürlich kann fetchmail
auch im Hintergrund als Daemon über Ihren Mail-Eingang wachen und bei jeder Einwahl ins Netz seine Arbeit automatisch verrichten.
Die Datei ~/.fetchmailrc
ist die Konfigurationsdatei des Programmes fetchmail
. Durch diese Datei sagen Sie fetchmail
beispielsweise, von welchen Mailservern die Post zu holen, und welche weiteren Programme wie ssh
, procmail
oder mailfilter
dabei auszuführen sind. Mit dem grafischen Frontend fetchmailconf
, das in Ihrer Distribution enthalten sein sollte, ist das Erstellen der Konfigurationsdatei denkbar einfach.
fetchmailconf
Nachdem Sie ein xterm
oder eine andere Konsole geöffnet haben, starten Sie das Programm fetchmailconf
mit seinen Namen und können gleich loslegen. Wenn Sie noch recht unbeleckt im Umgang mit fetchmail
sind, dann drücken Sie den Button Configure fetchmail
und wählen die Option Novice Configuration
.
In der Eingabemaske New Server:
vermerken Sie den Mailserver, von dem fetchmail
in Zukunft Ihre E-Mails beziehen soll, und quittieren Ihren Eintrag mit der [Return]-Taste.
Vor dem Fenster mit dem Titel Fetchmail host
, das sich nun öffnet, brauchen Sie nicht zu erschrecken. Die Voreinstellung des Übertragungsprotokolls steht auf auto
und braucht nur bedingt von Ihnen geändert zu werden. In dem Bereich New user
tragen Sie bitte Ihre Benutzerkennung am Mailserver ein und beenden Ihre Eingabe erneut mit [Return].
Das nächste Fenster, das nun auf Ihrem Desktop erscheint, fordert Sie auf, Ihr Passwort im Feld Password
: anzugeben und zum Abschluss im Bereich New name
den Namen des Benutzers einzutragen, für den fetchmail
die Post abholen soll. In der Regel ist das der Name, unter dem Sie sich im System einloggen, und der Ihr Home-Verzeichnis benennt. Sollte sich hier bereits der Eintrag finden, den Sie im vorherigen Fenster als Benutzerkennung angegeben haben, löschen Sie ihn mit dem Button Delete
. Auch hier bedarf es der [Return]-Taste, bevor Sie alle Fenster mit OK
schließen und durch Save
die neue Konfigurationsdatei ~/.fetchmailrc
erstellen. An dieser Stelle bietet Ihnen fetchmailconf
einen Test an, um die Konfiguration zu prüfen. Freilich müssen Sie zuerst eine Verbindung zu Ihrem Provider aufbauen, bevor Sie diese Option wählen.
Vermutlich fragen Sie sich jetzt, warum viele Einstellungen und Buttons, die Sie entdeckt haben, in dieser Anleitung bisher ignoriert wurden. Der Grund liegt in der größtmöglichen Einfachheit, mit dem die Datei ~/.fetchmailrc
gestaltet sein sollte. Alle Einträge in der Konfigurationsdatei können beim Aufruf von fetchmail
in der Kommandozeile als Optionen angefügt werden. Ein Beispiel: Wenn Sie fetchmail
durch die Angabe options fetchall
in der Datei ~/.fetchmailrc
anweisen, ausnahmslos alle Mails zu holen und auf dem Server zu löschen, dann entspricht das der Befehlsoption fetchmail -a
in der Kommandozeile. Auf den ersten Blick erscheint es sinnvoller, alle benötigten Optionen direkt in die Konfigurationsdatei zu schreiben, die Sache hat jedoch einen Haken: Im Einzelfall sind Sie mit den Befehlsoptionen der Kommandozeile schneller, als wenn Sie zuerst die Datei ~/.fetchmailrc
editieren müssen, um die gewünschten Ergebnisse zu bekommen.
Feinheiten
Öffnen Sie nach dem Beenden des Programmes fetchmailconf
die Datei ~/.fetchmailrc
in Ihrem Lieblings-Editor oder betrachten Sie sie in einem xterm
mit dem Befehl less .fetchmailrc
. Es bietet sich Ihnen folgendes Bild:
# Configuration created [ DATUM ] by fetchmailconf set postmaster "[ USER ]" set bouncemail set no spambounce set properties "" poll [ POP.SERVER.DE ] user '[ BENUTZERNAME ]' there with password '[ GEHEIM ]' is [ USER ] here
Die Einträge zwischen poll
und here
, die Ihnen fetchmailconf
in zwei Zeilen erstellt hat, können Sie nach Belieben auch untereinander oder in eine Zeile schreiben, fetchmail
sieht darin keinen Unterschied:
# Der Server, von dem abgeholt wird poll [ POP.SERVER.DE ] # Ihre Benutzerkennung am Server user '[ BENUTZERNAME ]' # Ihr Passwort password '[ GEHEIM ]' # Für wen wird abgeholt? is [ USER ]
Nach einem gelungenen Verbindungsaufbau und dem Start von fetchmail
mit der Option -a
, holt das Programm nun alle Mails vom angegebenen Server und liefert sie über Port 25 an Ihren lokalen Mailserver, der für das interne Verteilen der Nachrichten zuständig ist. Unter anderem sind das Programme wie sendmail
, exim
oder postfix
, die Ihre E-Mails ebenfalls in die weite Welt hinaus zustellen.
Zwischen der Ablieferung Ihrer Post durch fetchmail
und deren Empfang durch Ihren Mailserver, ist das Einschalten eines Filterprogrammes als Alternative denkbar. Hier bietet sich der mächtige Mail Delivery Agent (MDA) procmail
an, der die eingehenden Mails nach einem (nicht ganz einfachen) Regelwerk in Dateien einsortiert, löscht oder sogar, wenn die entsprechenden Tools installiert wurden, via SMS an Ihr Handy schickt. Zumeist arbeitet procmail
mit Ihrem Mailserver Hand in Hand und bedarf keiner Erwähnung, in Einzelfällen jedoch müssen Sie procmail
am Ende der Datei ~/.fetchmailrc
mit folgender Zeile einbinden:
# Sortieren mit Procmail mda "/usr/bin/procmail -d [ USER ]"
Selbstverständlich funktioniert auch dieser Eintrag auf der Kommandozeile mit der Option -m
oder --mda
.
Weiter oben haben Sie schon von die Einstellung des Übertragungsprotokolls auf auto
für automatische Erkennung gelesen. Sie können die Art des Protokolls auch explizit festlegen, um den Ablauf von fetchmail
reibungsloser zu gestalten und Fehlermeldungen vorzubeugen. Die Festlegung des Protokolls fügen Sie nach der Nennung des Servers ein. In unserem Beispiel wählen wir das geläufige POP3-Verfahren:
# Welches Protokoll: # auto, pop2, pop3, sdps, imap, apop, kpop? protocol pop3