Fetchmail

E-Mails von mehreren POP3- oder IMAP-Postfächern für die lokale Zustellung oder Weiterverteilung abholen kann mit Fetchmail sehr einfach realisiert werden. Hier finden Sie weitere Informationen und eine grundlegende Anleitung dazu:

Fetchmail holt E-Mails aus Postfächern z.B. von einem POP3- oder IMAP-Server ab und leitet sie an einen (E)SMTP- oder LMTP-fähigen Mailserver (Sendmail, qmail oder Postfix), bzw. an einen Mail Delivery Agent (MDA), z.B. Procmail, weiter. Die Voraussetzung zur Einrichtung von Fetchmail ist, dass E-Mails bereits korrekt an Ihre lokale Mailbox zugestellt werden. Wenn Sie sich nicht sicher sind, können Sie dies z.B. wie folgt überprüfen:

robert@tux:~ > echo "Test" | mail robert
robert@tux:~ >

Anschließend sollten Sie eine E-Mail mit dem Wort "Test" in Ihrem lokalen Postfach vorfinden. Dieses befindet sich auf den gängigen Linux-Distributionen unter /var/spool/mail/; in meinem Fall wäre es /var/spool/mail/robert. Hat dieser Schritt funktioniert, können Sie fortfahren. Haben Sie keine E-Mail erhalten, prüfen Sie bitte die Konfiguration Ihres (E)SMTP- oder LMTP-fähigen Mailservers bzw. des Mail Delivery Agents.

Legen Sie nun in Ihrem Home-Verzeichnis (z.B. /home/robert/) die Datei .fetchmailrc an und öffnen Sie diese mit einem Texteditor Ihrer Wahl. Übernehmen Sie nun die nachfolgenden Zeilen in die Datei, wobei Sie diese Zeilen natürlich an Ihre Bedürfnisse anpassen und erweitern sollten. Im einfachsten Fall ersetzen Sie lediglich die kursiv geschriebenen Wörter durch die Zugangsdaten Ihres Providers:

set postmaster "robert"
set bouncemail
set properties ""

# Mail-Server und Protokoll
poll pop.ein-provider.tld with proto POP3

# Benutzername und Passwort des Accounts sowie der lokale Benutzername
user 'kdnr-23897413' there with password 'Geheim' is robert here

# Weiterer Mail-Server und Protokoll
poll imap.anderer-provider.tld with proto IMAP

# Benutzername und Passwort des Accounts sowie der lokale Benutzername
user 'benutzer49234' there with password 'Secure' is robert here

# Weitere Benutzer und Server nach dem gleichen Schema

Speichern Sie abschließend die Datei und geben Sie dieser die korrekten Berechtigungen, das könnte dann aussehen wie folgt:

robert@tux:~ > chmod 600 .fetchmailrc
robert@tux:~ >

Fetchmail wird mit dem Befehl fetchmail aufgerufen und gestartet. Sofern Ihr Provider Ihnen die Möglichkeit anbietet, die E-Mails z.B. auch über einen webbasierten Mail-Client wie Roundcube Webmail zu lesen, sollten Sie sicherheitshalber fetchmail -a verwenden. So werden auch die bereits gelesenen E-Mails vom Mailserver abgeholt. Alle vorhandenen E-Mails werden dann entsprechend der Konfigurationsdatei abgerufen, vom Mailserver gelöscht und an das lokale Postfach zugestellt.

robert@tux:~ > fetchmail -a
2 Nachrichten für kdnr-23897413 bei pop.ein-provider.tld (2754 Bytes).
Nachricht kdnr-23897413@pop.ein-provider.tld:1 von 2 wird gelesen (1380 Bytes). gelöscht
Nachricht kdnr-23897413@pop.ein-provider.tld:2 von 2 wird gelesen (1374 Bytes). gelöscht
fetchmail: Keine Post für benutzer49234 bei imap.anderer-provider.tld

robert@tux:~ >

Wenn Sie nun mit einem Mail-Client (z.B. Thunderbird, Evolution, Kontact, mutt) Zugriff auf ihre lokale Mailbox nehmen, müssten Sie E-Mails vorfinden, sofern beim Aufruf von Fetchmail solche abgerufen worden sind. Möchten Sie Fetchmail beispielsweise für ein lokales Netzwerk auf einem Server einrichten, dann ändert sich an der Konfiguration nichts, es sollte lediglich ein Cronjob eingerichtet werden, damit die E-Mails regelmäßig abgerufen werden. Genauso sollte dann noch ein POP3- oder IMAP-Dienst installiert und konfiguriert werden...