fetchmail

Aus Mikiwiki
Version vom 24. Januar 2009, 19:33 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Shell-Befehl <b>fetchmail</b> ist ein Mail Retrieval Agent und gilt als Standardprogramm zum Abholen von E-Mail auf der Befehlszeile. Das Programm holt ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Shell-Befehl fetchmail ist ein Mail Retrieval Agent und gilt als Standardprogramm zum Abholen von E-Mail auf der Befehlszeile. Das Programm holt E-Mails von POP3-, IMAP-, ETRN-, oder ODMR-fähigen Mailservern und leitet sie an (E)SMTP- oder LMTP-fähige Mailserver oder ein lokales Zustellprogramm weiter - sie landen dann meist im Verzeichnis "/var/spool/mail", wo sie von einm Mail User Agent gefunden werden können.

Eine Alternative zu Fetchmail ist beispielsweise getmail.

Konfiguration

Fetchmail liest beim Start die Konfigurationsdatei "~/.fetchmailrc" (Rechte 700). Die Schlüsselwörter für diese Datei heissen allerdings anders als die Optionen auf der Befehlszeile.

Standardmässig verwendet Fetchmail den lokalen Mailserver bzw. Mail Transfer Agent (meist Sendmail - das nicht unbedingt richtig konfiguriert sein muss) - also denjenigen auf dem Rechner wo es gestartet wird. Deshalb empfiehlt es sich, Fetchmail die Mails direkt einsortieren zu lassen; dabei hilft der Mail Delivery Agent (meist ist es das Programm procmail).

Optionen

Option Beschreibung
-c Es wird nur nach neuer Mail gesehen, ohne diese gleich herunterzuladen.
-k Alle Mails werden auf dem Mailserver belassen, sofern über POP3 auf sie zugegriffen wird. Andernfalls werden alle abgeholten Mails gelöscht.
-L file Anstatt in die systemweite Logdatei werden alle Ausgaben in die Datei "file" geschrieben.
-p Angabe des Mail-Protokolls, z. B. IMAP oder POP3.
-r Angabe des Mailordners, das überprpft werden soll, falls IMAP verwendet wird. Mehrere Mailordner werden mit Kommas getrennt.
--syslog Alle Ausgaben gelangen in die systemweite Logdatei.
-u Benutzername unter dem die Anmeldung am Mailserver erfolgen soll.
-v Alle Aktionen werden im Detail protokolliert.

Verwendung

Abholen von E-Mail vom Rechner "pop.gmail.com", wobei der Benutzername auf diesem Rechner identisch mit dem aktuellen Login ist. Das Passwort wird interaktiv abgefragt.

$ fetchmail pop.gmail.com

Abholen von E-Mail des Benutzers "mik" vom Server "pop.gmail.com", wobei das Mail-Protokoll POP3 verwendet wird und die Übertragung verschlüsselt stattfindet. Alle Mails werden auf dem Mailserver belassen. Die Einsortierung erfolgt mittels Procmail. Das Passwort wird interaktiv abgefragt.

$ fetchmail -k -m procmail -p POP3 --ssl -u mik pop.gmail.com

Die entsprechende Konfigurationsdatei "~/.fetchmailrc" würde so aussehen:

mda procmail
poll pop.gmail.com
username mik
with proto POP3
with ssl
with keep

Verwendung auf Notebook "emu"

Abfrage eines IMAP-Kontos und Abholen aller Mails ins lokale Postfach des aktuellen Benutzers.

1. Erstellen der Datei "~/.fetchmailrc".

set daemon 60
set logfile /tmp/fetchmail.log
defaults
   timeout 15
   limit 102400
   no keep
   fetchall
 poll mail.pica.nl protocol IMAP
   username <Benutzername>
   password <Passwort>

2. Dann wird der Fetchmail-Daemon wie folgt gestartet (z. B. über die Datei "~/.profile" beim Login in den Desktop).

$ fetchmail  -f  ~/.fetchmailrc

3. Damit die Mails auch in Kmail erscheinen, muss darin das lokale Postfach abgefragt werden.