Partnerlinks:
Google

www.linux-club.de/ sehr aktives und kompetentes Board m. Fragen u. Antworten rund um Linux  |  www.linux-board.de/ privates Board m. Fragen u. Antworten rund um Linux  |  meybohm bei viando.de gute Tools - u.a. "Phase 5 / HTML Editor" mein Lieblings-HTML-Editor und "Proton" - guter Texteditor www.meybohm.de  |  Wunsch-Domain schon belegt? Hier finden Sie sie trotzdem!   |  Webhosting beim Testsieger 2007. www.greatnet.de  | 
Host Europe - World Class Internet Hosting
 

  Ein Pinguin-Logo    
news About Me linux referenz tips links downloads kontakt
 
News
About
Linux
Referenz
Tips
  Linux
  Sicherheit
  Perl
  Allround Server
  Fileserver Samba
  HTTP-Server
  Zope-Server
  SQL-Server
  Mail-Server
  Proxy_Server
  FAX-Server
  Netzwerk-Tools
  SMS-Tools
  Postscript
  MS Office
Links
Downloads
Kontakt

Besucher
seit 21.10.2002
 
Mein Gästebuch
 

Mail-Server -> Teil 2

Fetchmail - Mails abrufen - Verwendung mit SuSE 7.2

1. Allgemeine Beschreibung

Fetchmail ist ein kleines aber sehr leistungsfähiges Programm um von Mailservern verschiedenster Art (POP, IMAP usw. auch mit SSL und APOP) seine Mails abzuholen. Diese können gleich einem lokalen Benutzer zugeordnet werden.

2. Konfiguration in SuSE 7.2

Man kann Fetchmail mit verschiedenen Optionen aufrufen, so z.Bsp:

  • -f /etc/fetchmailrc Hier Konfiguration der abzuholenden Konten
  • -a alles abholen
  • -k (keep) Mails nicht löschen
  • -v Ausgabe von Fehlermeldungen
Mehr dazu findet ihr mit einem Aufruf von "man fetchmail".

Ich habe alle meine Mail-Konten in fetchmail eingetragen (in /etc/fetchmailrc) und lasse sie an einen lokalen User "ausliefern". Das heißt nur, das die Mail dann im Verzeichnis /var/spool/mail/user-name liegt. Wenn man die verschiedenen Mail-Adressen aus dem Internet getrennt verwalten will (oder muß) legt man am besten für jede Adresse einen extra User im Linux an. Dann teilt man jedem user beim Holen durch Fetchmail "seine" Mail zu.

Bsp. der /etc/fetchmailrc:

    poll post.strato.de proto POP3 user "franz@musterman.de" \
    pass "dein-passwort-beim-provider" is franz
    poll mail.gmx.de proto POP3 user "benutzername-beim-provider" \
    pass "passwort1" is franz1
    poll post.strato.de proto POP3 user "franz.geschaeft@geschaeft.de" \
    pass "passwort2" is franz2
So kann man viele verschiedene Mail-konten abrufen. In seinem lokalen Mail-Programm muß man nun verschiedene Konten einrichten. Dort gibt man dann die verschiedenen User-Namen (hier Franz, Franz1, Franz2 ...) und die zugehörigen Passwörter ein. Nach dem Anlegen der neuen lokalen User muß man natürlich Sendmail nochmal neu starten.

Mit dem Aufruf von Fetchmail durch "fetchmail -a -f /etc/fetchmailrc -L /var/log/fetchmail.log" wird ein Abruf der Mail-Konten im Internet gestartet, die Ausgaben werden in der Datei /var/log/fetchmail.log mit geschrieben. Beim ersten Versuch sollte man die Option "-k" benutzen, dann werden die Mails noch nicht vom Server gelöscht (man weiß ja nie).

Automatisierung

In /etc/ppp/ip-up geht man in den Abschnitt wo die PPP-Verbindung aufgebaut wird. Bei ISDN ist das nach "ippp*) ... ip-up)", bei Modem wäre es nach "ppp*) ... ip-up)". Kurz bevor die Sektion zu Ende ist steht bei mir schon mal drin (noch auskommentiert):

    #/usr/bin/fetchmail -a -v >>/var/log/fetchmail 2>&1 &
    #/usr/sbin/sendmail -q &
Wenn man hier die Kommentare entfernt (und entsprechend anpasst mit "-f /etc/fetchmailrc") sollte bei jedem Verbindungsaufbau Post geholt und fortgeschickt werden. Das -v bewirkt mehr Meldungen, diese werden in /var/log/fetchmail geschrieben.

Als Alternative kann man auch den Aufruf von /etc/ppp/poll.tcpip aktivieren. In diesem Script wird zusätzlich noch die Zeit mit Zeitservern im Internet synchronisiert.

Will man nun aller 20 Minuten Mail im Internet holen lassen schreibt man die zwei Aufrufe in ein kleines Shell-Script und ruft dieses mittels Cron auf.

Bsp. Shell-script:

    #!/bin/sh
    # /usr/local/bin/mailholen.sh
    # hierineinlegen und ausführbar machen
    #
    /usr/bin/fetchmail -a -f /etc/fetchmailrc -v >>/var/log/fetchmail
    sleep 20
    # erst mal 20 Sekunden warten bis Verbindung steht und SMTP frei ist
    # bei Modem-Betrieb dauert das natürlich länger, also mehr Geduld ;-)
    /usr/sbin/sendmail -q

Bsp. Cron-Eintrag:

    0,20,40 * * * *    root    /usr/local/bin/mailholen.sh
Hiermit wird jeden Tag, jede Stunde zu diesen Minuten (0,20,40) das obige Script aufgerufen.

Crontab-Einträge werden normalerweise in /etc/crontab gemacht. Man kann aber für periodisch auszuführende Scripte die Verzeichnisse /etc/cron.hourly ...monthly benutzen, indem man dort einen Link auf sein auszuführendes Script hinterlegt. Dieses wird dann entsprechend ausgeführt (stündlich, täglich oder monatlich).

   
Mailserver (1)
Sendmail
Allgemeines
Installation
Konfiguration
Tip für Flatrates
Erster Test
Mailserver (2)
Mails abholen
Allgemeines
Konfiguration
Mailserver (3)
Fetchmail für Flatrate
Allgemeines
Konfiguration
Mailserver (4)
Spambekämpfung
Allgemeines
Auswege
 
©  09.09.2009  Heiko Teichmeier - Glauchau/Sa.