Was ist getmail ?
Nun, getmail ist ein Programm, das Mails via POP3 von einem Server holt, und
diese lokal zur Verfügung stellt. Sei dies nun für einen Console-MUA
wie mutt, pine o.ä., oder einfach nur dazu, das man nur ein einziges Konto
mit seinem Client abfragen muss. getmail bietet die selbe Funktionalität
wie fetchmail (wenn nicht mehr), ist dafür einiges zuverlässiger, und
unterstützt die Auslieferung in Maildir's.
Installation
Hier werde ich eine Installation ab Source erklären. Sollte deine
Distribution über ein Paketmanagment verfügen, so bitte ich dich,
zuerst nach einem Paket für getmail zu suchen, und erst bei
nicht-vorhandensein eines solchen Paketes diese Anleitung befolgen.
getmail benötigt einen Python Interpreter, Version 1.5.2 oder
höher, ein solcher sollte vorher installiert werden. Ein Aufruf von
python sollte die Versionsnummer ausgeben.
Als erstes benötigen wir den Source selbst. Diesen kriegt man auf http://www.qcc.sk.ca/~charlesc/software/getmail-2.0/download.html#download.
Nachdem wir den Tarball heruntergeladen haben, entpacken wir diesen in /usr/src.
Jetzt wechseln wir ins das Verzeichnis, in dem der getmail Source liegt.
Nun legen wir mit mkdir -p /usr/lib/getmail ein Verzeichnis zur
Installation von getmail an. Danach kopieren wir mittels cp *py
/usr/lib/getmail alle von getmail benötigten Dateien ins richtige
Verzeichnis. Nun kopieren wir mittels cp getmail /usr/bin das
Hauptscript in den $PATH, damit wir getmail mit einem einfachen
getmail aufrufen können.
Konfiguration
Nach der Installation folgt nun der aufwendigste Teil: Die Konfiguration
selbst. Wir legen mittels mkdir ~/.getmail/ ein Verzeichnis an, in dem
getmail seine Konfiguration aufbewahren kann. Nun erstellen wir eine Datei
~/.getmail/getmailrc mit folgendem Inhalt:
[default]
verbose = 1 # ein bisschen infos schaden nie
readall = 0 # wir wollen nur neue Mails
delete = 0 # abgeholte Mails werden auf dem Server nicht gelöscht. Praktisch,
# wenn ein wir bei der Konfiguration einen Fehler machen
[mein trash.net account]
server = mail.trash.net
port = 110
username = username # Hier gibst du deinen trash.net Usernamen æn
password = "PASSWORT" # Hier gibst du dein trash.net Passwort an
use_apop = 0 # Aus technischen Gründen ist bei trash.net kein APOP
# möglich
postmaster = /var/mail/$USER # Hier solltest du $USER durch deinen lokalen
# Benutzernamen ersetzen
message_log = ~$USER/.getmail/log # auch hier wieder $USER ersetzen
recipient_header = received # Hier geben wir an, auf welche Header
# getmail achten soll
recipient_header = x-envelope-to
no_delivered_to = 1 # Wir geben an, das wir keine
# zusätzliche Header wollen
no_received = 1
Nachdem wir diese Datei erstellt haben, sind wir auch schon fast fertig, und
können mit dem Testlauf beginnen
Testlauf
Wir starten nun mit einem simplen Aufruf von getmail getmail, und
schon sollten die ersten Mails nach /var/mail/$USER ausgeliefert
werden. Ein erfolgreicher Aufruf von getmail sieht ungefähr so aus:
mail.trash.net: POP3 session initiated on port 110 for "lb"
mail.trash.net: POP3 greeting: +OK POP3 stinky.trash.net v2001.76 server ready
mail.trash.net: POP3 user response: +OK User name accepted, password please
mail.trash.net: POP3 PASS response: +OK Mailbox open, 1 messages
mail.trash.net: POP3 stat response: 1 messages, 379 octets
mail.trash.net: POP3 list response: +OK Mailbox scan listing follows
msg #1/1 : len 379 ... retrieved ... delivered to postmaster
mail.trash.net: finished retrieving messages
mail.trash.net: POP3 session completed for "lb"
mail.trash.net: retrieved 1 messages for 1 local recipients
Nun wollen wir natürlich auch, das unsere Mails regelmässig
abgeholt werden. Dazu erstellen wir einen Eintrag in der crontab. Mittels
crontab -e rufen wir den zugehörigen Editor auf, und erstellen
folgenden Eintrag:
*/5 * * * * /usr/bin/getmail > /dev/null 2>&1
Damit wird getmail alle 5 Minuten ausgeführt, und der Output des
Programmes nach /dev/null umgeleitet. Jetzt kann man noch die Variable
delete in der getmailrc auf 1 setzen, damit sollte die Konfiguration
komplett sein.
|