====== Konfiguration von Fetchmail ====== **Fetchmail** ist ein Dienst der in regelmäßigen Abständen neue Nachrichten von externen Mailkonten abholt und die abgeholten Nachrichten in lokale Postfächer zustellt. Fetchmail ist für fast alle Linux-Distributionen verfügbar und kann sehr gut an die eigenen Bedürfnisse angepasst werden. ===== Konfigurationsdatei ===== Wenn Fetchmail als Systemdienst ausgeführt wird, erfolgt die Konfiguration in der Datei **/etc/fetchmailrc** darin wird der/die Mailserver, die Konten auf dem externen Server und die lokalen Konten angegeben. Dadurch kann für jedes Konto auf einem externen Server definiert werden auf welches lokales Konto die Mails zugestellt werden. Darüber hinaus können auch noch weitere Einstellungen durchgeführt werden. Dies kann z. B. eine ssl-Authentifizierung sein oder ob Mails am Server belassen werden sollen oder nicht. ===== Emailkonten abrufen ===== Um die Einstellungen von **Fetchmail** ändern zu können muss man als Benutzer **root** am System angemeldet sein. Das kann z. B. mittels [[netzwerk:secure_shell| ssh]] über das Netzwerk erfolgen $ ssh root@ Danach kann die Konfigurationsdatei mit dem Lieblingseditor geöffnet werden (in meinem Fall ist das **joe**): $ joe /etc/fetchmailrc In dieser Datei müssen die folgenden Informationen angegeben werden: * Name und Protokoll des externen Mailservers (pop3/imap) * Benutzername und Passwort am externem Mailserver * lokals Emailkonto an das die Mails zugestellt werden sollen * ev. weitere Parameter Die Zeile für den Mailserver hat dabei folgendes Format: poll protocol Danach werden die Konten aufgelistet die abgefragt werden sollen user "" with pass "" is "" here [optionen] In der Konfigurationsdatei müssen die Daten des Mailservers nur einmal angegeben werden, falls mehrere Konten vom gleichen Server abgefragt werden sollen. Siehe dazu das untenstehende Beispiel. Die Konfigurationsdatei könnte so ähnlich aussehen wie das folgende Beispiel: poll mail.provider1.com protocol pop3 user "user1" with pass "secret1" is "user1@example.com" here keep user "user2" with pass "secret2" is "user2@example.com" here poll mail.provider2.com protocol imap user "user3" with pass "secret3" is "user3@example.com" here ssl In diesem Beispiel werden drei Emailadressen von zwei verschiedenen Servern abgefragt. Die Nachrichten des Benutzers **user1** werden am Server belassen und nur jene Mails die neu angekommen sind werden von Fetchmail heruntergeladen. Die Nachrichten der beiden anderen Benutzer werden jedoch aus dem Postfach beim Provider gelöscht. Für das Konto beim zweiten Provider soll zusätzlich eine ssl-Verschlüsselung verwendet werden. Wenn die Konfigurationsdatei angepasst wurde, kann die Datei gespeichert werden (**joe** speichert die Datei mit dem Tastenkürzel **STRG-K + X**). Abschließend muss der Dienst neu gestartet werden damit die Änderungen der Konfigurationsdatei übernommen werden. $ /etc/init.d/fetchmail restart Der **lokale Mailserver muss gestartet** sein und das **lokale Postfach** an das Fetchmail die Mails zustellt **muss unbedingt existieren!** Falls die Mails lokal nicht zugestellt werden können, werden alle abgerufenen Mails mit einer Fehlermeldung zurückgeschickt. Wenn das Postfach beim Provider bereits längere Zeit benutzt wurde, können dabei sehr viele Fehlermeldungen zusammenkommen. ===== Fehlersuche ===== Falls etwas nicht funktioniert kann in der Logdatei nach den Fehlern bzw. deren Ursachen gesucht werden. Standardmäßig werden alle Log-Informationen in die Datei **/var/log/mail.log** geschrieben. ===== Siehe auch ===== * Konfiguration des [[netzwerk:cyrus_imap-server| Cyrus IMAP-Servers]] * Fernzugriff und Portweiterleitung mit [[netzwerk:secure_shell| ssh]] * [[http://fetchmail.berlios.de/fetchmail-man.html | Offizielle Onlindokumentation von Fetchmail]] {{tag>netzwerk linux}}