Webmailer unter Linux

Aufruf von fetchmail

Jetzt gibt es zwei Möglichkeiten, die Mails abzurufen:

Entweder Fetchmail wird als Daemon gestartet oder über einen Cronjob aufgerufen. Als Daemon kann Fetchmail mit der Option -d aufgerufen werden. Ein

/usr/bin/fetchmail -d 600 -L /var/log/fetchmail.log

bewirkt, dass die Mails alle 10 Minuten (600 Sekunden) abgeholt werden und eine Logdatei nach /var/log/fetchmail.log geschrieben wird. Logdateien sind grundsätzlich sinnvoll, denn sie erleichtern die Fehlersuche ungemein.

Nach einem Rechnerneustart läuft der Daemon allerdings nicht mehr. Man könnte ein Fetchmail-Script in die Runlevels mit eintragen.

Die zweite Möglichkeit besteht darin, Fetchmail über einen Cronjob zu steuern. Mit

crontab -e

öffnet sich die crontab des gerade eingeloggten Benutzers. Das Ändern der crontab erfolgt wie vom vi gewohnt. Der Eintrag

0,10,20,30,40,50 * * * * /usr/bin/fetchmail -v -L /var/log/fetchmaillog -f '/root/.fetchmailrc'

oder andere Schreibweise

*/10 * * * * /usr/bin/fetchmail -v -L /var/log/fetchmaillog -f '/root/.fetchmailrc'

bewirkt, dass Fetchmail alle zehn Minuten startet, ein Logfile nach /var/log/fetchmaillog schreibt und die Konfigurationsdatei /root/.fetchmailrc benutzt. Der Schalter -f ist eigentlich obsolet, da .fetchmailrc Standardeinstellung ist, aber es dient der Übersichtlichkeit. Sollte nicht root die Mails abholen, ist darauf zu achten, die Datei fetchmaillog für den Ausführenden beschreibbar zu machen oder an eine andere Stelle zu legen.

Fetchmail über einen Daemon zu starten und zu stoppen, bietet sich bei einer Einwählverbindung an. Bei einer Standverbindung ist ein Eintrag in der crontab praktikabler. Bei obigen Einträgen würde der cron daemon nach jedem Lauf eine E-Mail versenden. Das kann zur Fehlersuche dienlich sein, nervt aber auf Dauer. Eine Umlenkung nach /dev/null unterdrückt dies.

*/10 * * * * /usr/bin/fetchmail -v -L /var/log/fetchmaillog -f '/root/.fetchmailrc' >/dev/null 2>&1