[[Vorlage(Getestet, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(1)]] [http://www.fetchmail.info/ Fetchmail] {en} ist ein Programm, das E-Mails von einem Mailserver abholen kann und diese dann an einen weiteren Mailserver oder ein lokales Zustellprogramm weiterleitet. Fetchmail wird z.B. benötigt, um einen lokalen Mailserver zu erstellen, wo Fetchmail automatisch E-Mails von verschiedenen Accounts bei E-Mail-Anbietern einsammelt und diese dann im Mailserver bereit gestellt werden. Dieser Einsatzzweck wird hier beschrieben. = Pakete installieren = Fetchmail besteht aus nur einem Paket, das aus den Quellen installiert werden kann [1] {{{#!vorlage Paketinstallation fetchmail }}} Optional besteht noch die Möglichkeit eine simple GUI zu nutzen, die Konfigurationen für Fetchmail erstellen kann {{{#!vorlage Paketinstallation fetchmailconf, universe }}} = Konfigurieren = Fetchmail wird über die Konfigurationsdatei '''/etc/fetchmailrc''' eingerichtet. Diese wird nicht automatisch erstellt, so dass man sie mit Root-Rechten selber anlegen muss [3]. Im folgenden Beispiel gibt es zwei lokale Benutzer `otto` und `paul`, wobei `otto` der Betreuer des Mailservers sein soll. D.h. E-Mails, die z.B. nicht zugeordnet werden konnten, landen dann bei ihm. {{{## Allgemeine Einstellungen set postmaster "otto" set bouncemail set no spambounce set properties "" set syslog set daemon 300 ## Die Mails von diesem Account werden otto zugestellt poll imap.emailanbieter1.de with proto IMAP user 'USERNAME_AUF_EMAILSERVER' there with password 'GEHEIM1' is 'otto' here ssl ## Die Mails von diesem Account werden paul zugestellt und auf dem Server gelassen poll pop3.emailanbieter2.de with proto POP3 user 'USERNAME_AUF_EMAILSERVER' there with password 'GEHEIM2' is 'paul' here options keep ssl ## Die Mails nur alle 15 min abholen und auf dem Server lassen poll pop3.web.de with proto POP3 interval 3 user "user@web.de" there with password "xxxxxxxxxx" is "user@web.de" here keep ssl }}} Es gibt zahlreiche Optionen, die gesetzt werden können. Die üblichsten sind: || '''Option''' || '''Funktion''' || || ``ssl`` || Benutzt SSL-Verschlüsselung, um die Mail abzuholen. || || ``keep`` ||Belässt abgerufene E-Mails auf dem Server. Setzt man diese Option nicht, werden sie gelöscht. || || ``fetchall`` || Ruft alle E-Mails ab, auch alle die schon geholt worden sind. || || ``limit `` || E-Mails, die größer sind, als die Angabe, werden nicht heruntergeladen || || ``interval `` || Wenn das Skript abgearbeitet wird, wird nach dem n-ten mal dieser Eintrag gültig || Folgende sollten immer benutzt werden: || '''Option''' || '''Funktion''' || || ``poll `` || Der Mailserver, von dem die Post abgeholt wird. || || ``proto imap|pop3`` || Mailprotokoll || || ``user `` || Benutzerkennung beim Server. Bei Bedarf (Sonderzeichen) in Anführungsstriche setzen. || || ``password `` || Passwort. Bei Bedarf (Sonderzeichen) in Anführungsstriche setzen. || || ``is `` || Lokales Postfach, wo die Post einsortiert wird. || Die übrigen Wörter im obigen Beispiel sind Füllstoff zum besseren Verständnis und werden von Fetchmail ignoriert. Das oben erwähnte Beispiel mit anderer Syntax (IMAP-Account): {{{ ## Allgemeine Einstellungen set postmaster "otto@meine_domain.de" ## ansonsten wie Beispiel oben ## Die Mails von diesem Account werden otto/ paul@meine_domain.de und anderen zugestellt, Mails werden auf dem Server belassen poll imap.emailserver.de localdomains meine_domain.de protocol IMAP envelope "X-Envelope-To:" user 'USERNAME_auf_EMAILSERVER' pass 'PASSWORT_auf_EMAILSERVER' to * here keep }}} == GUI == Es gibt eine sehr einfache GUI, um Fetchmail-Konfigurationen zu erstellen, diese kann wie oben beschrieben installiert und dann mit {{{#!vorlage Befehl fetchmailconf }}} gestartet werden. Das Programm erstellt bei der Konfiguration eine Datei '''.fetchmailrc''' im Homeverzeichnis, die man nach der ersten Konfiguration direkt als Konfigurationsdatei für Fetchmail nutzen kann [2]: {{{#!vorlage Befehl sudo cp ~/.fetchmailrc /etc/fetchmailrc }}} Hat man Fetchmail jedoch schon konfiguriert, so sollte man die erzeugte '''.fetchmailrc''' nicht blind kopieren, sondern die Änderungen in der '''/etc/fetchmailrc''' ergänzen. __Fehlermeldung:__ {{{ $ fetchmailconf /usr/bin/python: can't open file '/usr/lib/python2.6/site-packages/fetchmailconf.py': [Errno 2] No such file or directory}}} Lösung: '''/usr/bin/fetchmailconf''' bearbeiten und die Zeile {{{ exec /usr/bin/python /usr/lib/`pyversions -d`/site-packages/fetchmailconf.py "$@" }}} in {{{ exec /usr/bin/python /usr/lib/`pyversions -d`/dist-packages/fetchmailconf.py "$@" }}} ändern. = Server starten = Möchte man, dass Fetchmail im Hintergrund als Dienst arbeitet, so muss man dieses noch in der Datei '''/etc/default/fetchmail''' {{{ # Declare here if we want to start fetchmail. 'yes' or 'no' START_DAEMON=yes }}} aktivieren [3]. Nachdem der Dienst korrekt konfiguriert wurde, kann man ihn aus einem Terminal heraus [2] über den Befehl {{{#!vorlage Befehl sudo /etc/init.d/fetchmail start }}} starten. Mehr zu dem Thema Dienste findet man unter [:Dienste:]. = Links = * [http://www.fetchmail.info/fetchmail-man.html Dokumentation zu Fetchmail] {en} * [http://www.linux-user.de/ausgabe/2001/09/087-fetchmail/fetchmail.html flink, flexibel, fetchmail – Mailbox leeren via fetchmail] {de} - LinuxUser, 09/2001 # tag: Internet, Kommunikation, Netzwerk, Server, Email, POP, IMAP