E-Mails mit fetchmail abrufen (2024)

()

E-Mails mit fetchmail von Server abrufen und weiterleiten

fetchmail ist ein Dienstprogramm zum Abrufen und Weiterleiten von E-Mails; das Unix Urgestein holt E-Mails von Mailservern und leitet diese an das Zustellsystem weiter. Es können die Mails dann unter Verwendung normaler E-Mail-Benutzeragenten wie etwa mutt, elm oder Mail abgerufenen werden.

Was ist fetchmail ?

Das fetchmail-Dienstprogramm kann im Daemon-Modus laufen, um ein oder mehrere Systeme in einem bestimmten Intervall wiederholt abzufragen, es werdenE-Mails von Servern gesammelt die alle gängigen E-Mail-Abrufdienste unterstützen, wie POP3 und IMAP, auch unterstützt werden die ESMTP-ETRN-Erweiterung und die ODMR Protokolle.

In diesem Beitrag wird beschrieben wie fetchmail auf einem Linux Smarthost mit Postfix eingesetzt werden kann. Die E-Mails von externen Mail-Dienstanbieter werden abgerufen und den Empfänger zum Postfach Server weitergeleitet dieser vom Smarthost E-Mails empfängt. Dabei sind bei den Mailkonten keine Weiterleitungen erforderlich, und die E-Mails werden durch den Smarthost ebenfalls auf Viren und SPAM untersucht, bevor diese dem Benutzer Postfach zugestellt werden.

fetchmail Installation

Für die Installation auf CentOS 7 wird das Extras repository benötigt, falls nicht schon vorhanden.

$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmsudo rpm -Uvh epel-release-latest-7*.rpm

Das fetchmail-Dienstprogramm kann aus demCentOS Extras repository installiert werden.

$ yum -y install fetchmail

Wir erstellen die Konfigurationsdatei fetchmail für den daemon unter /etc/sysconfig.

# This file will be used to declare some vars for fetchmail## Uncomment the following if you dont want localized log messages# export LC_ALL=C# Declare here if we want to start fetchmail. 'yes' or 'no'START_DAEMON=yes

Copy Paste/etc/sysconfig/fetchmail

Es wird der Daemon Init-Script erstellt, hier für ein CentOS Host auf diesem der Postfix MTA bereits läuft. Als root mit vi/etc/rc.d/init.d/fetchmaild

#!/bin/sh# chkconfig: 35 99 00# description: Start and stop fetchmail. /etc/init.d/functionsstart() { echo "Starting fetchmaild..." su fetchmail -s /bin/sh -c "fetchmail -vv -d 900 -a -f /etc/fetchmailrc -L /var/log/fetchmail" }stop() { echo "Shutting down fetchmaild..." su fetchmail -s /bin/sh -c "fetchmail --quit" }case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop|restart}" ;;esacexit 0

Copy Paste/etc/rc.d/init.d/fetchmaild
Den Init-Script ausführbar machen.

$ chmod 0755 /etc/rc.d/init.d/fetchmaild

Die globale fetchmailrc Recource Konfiguration für den Betrieb als Daemon erstellen in /etc/fetchmailrc.

set daemon 900set no syslogset logfile /var/log/fetchmailset postmaster "postmaster"set no bouncemailset no spambounceset properties ""poll mail.foo.org with proto POP3user 'joe@foo.org' there with password 'secret' is joe.office@foo.com here options fetchall nokeep ssl smtphost localhost

Copy Paste /etc/fetchmailrc

Für jeden Mailserver von diesem E-Mails abgerufen werden, wird eine poll Zeile erstellt. Es soll das externe Postfach von joe@foo.org beim POP3 Server mail.foo.org abgerufen werden und mit smtphost über den localhost über Postfix zum Postfach Server dem Benutzer joe.office@foo.com zugestellt werden. Damit die Protokollierung nicht in maillog statt findet, werden anstelle diese in fetchmail geloggt.

Möglichkeiten mit fetchmail

fetchmail bietet eine Reihe von syntaktischen Feinheiten, um fetchmailrc das Lesen von Dateien zu erleichtern.Zum Beispiel werden die Worteand,with,has,wants, undoptionsvon fetchmail ignoriert, wie auch Satzzeichen.Während es möglich ist, Anmeldeinformationen für einen Server in einer Zeile anzugeben, werden häufige Konfigurationen über eine Reihe von verschiedenen Zeilen angegeben. fetchmail ist unempfindlich gegenüber Whitespace, außer wenn das Argument in Anführungs- undSchlusszeichen erfolgt.

fetchmail optionen

Für die Poll-Anweisung gibt es mehrere Optionen (z.B. nofetchall(default),fetchall,keep,nokeep).Die Bedeutungen ist wie folgt:

nofetchall: Nur neue Nachrichtenabrufen(Standard).Wenn nichts anderes angegeben ist (z.B. fetchall,keep), bedeutet diesnofetchall.
fetchall: Holt alle Nachrichten, ob gesehen oder nicht.
keep: Löscht keine Nachrichten auf dem Server.
nokeep: Löscht diegelesenen Nachrichten vom Server.

Die fetchmail Benutzer und Gruppe erstellen und die rechte setzen.

$ groupadd -r fetchmail$ useradd -r -m -g fetchmail -s /sbin/nologin fetchmail$ chown fetchmail /etc/fetchmailrc$ chmod 0600 /etc/fetchmailrc$ touch /var/log/fetchmail$ chown fetchmail:fetchmail /var/log/fetchmail$ chmod 0600 /var/log/fetchmail

Den fetchmail daemon wird nun gestartet.

$ /etc/rc.d/init.d/fetchmaild start

Nach jeder Änderung der fetchmailrc-Konfiguration wird der systemd daemon neugestartet.

$ systemctl daemon-reload

fetchmail Testen

Überprüfen lässt sich die fetchmail Konversation zum Server mit folgendem Befehl:

$ fetchmail -vv -N --ssl -p pop3 -P 995 -ujoe@foo.org mail.foo.org

Die Konfigurationsdatei fetchmailrc testen.

$ fetchmail -v -a -k -f /etc/fetchmailrc

Den fetchmail Prozess überprüfen.

$ ps -ef | grep -v grep | grep fetchmail

Die Ausgabe kann in etwa wie folgt aussehen:

fetchma+ 4126 1 0 19:19 ? 00:00:00 fetchmail -vv -d 900 -a -f /etc/fetchmailrc -L /var/log/fetchmailroot 6488 3985 0 16:25 pts/0 00:00:00 su fetchmail

Die fetchmail Protokollierung findet nun in der Datei fetchmail statt.

$ tail -f /var/log/fetchmail

Die fetchmail man page gibt zahlreiche Informationen aus.

$ man fetchmail

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Related posts:

  • fetchmail e-mails abrufen unter Debian 11
  • E-Mail in Postfix Queue zu Empfänger umleiten mit postsuper
  • E-Mail Versenden aus Linux Shell
E-Mails mit fetchmail abrufen (2024)
Top Articles
Latest Posts
Article information

Author: Edwin Metz

Last Updated:

Views: 5424

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edwin Metz

Birthday: 1997-04-16

Address: 51593 Leanne Light, Kuphalmouth, DE 50012-5183

Phone: +639107620957

Job: Corporate Banking Technician

Hobby: Reading, scrapbook, role-playing games, Fishing, Fishing, Scuba diving, Beekeeping

Introduction: My name is Edwin Metz, I am a fair, energetic, helpful, brave, outstanding, nice, helpful person who loves writing and wants to share my knowledge and understanding with you.