Einleitung
    Exchange 2003 bringt von Hause aus keinen eigenen POP3-Connector mit, es sei denn man verwendet den SBS Server. Doch mit diesem Connector gibt’s es oft Probleme. Daher werden zur Abholung von Mails oft Programme von Drittherstellern verwendet, die dann wiederum kostenpflichtig sind.
    Doch es gibt auch eine kostenlose Lösung. Und zwar die Mails mittels fetchmail vom Provider abzuholen und dann durch postfix an den Exchange verteilen zu lassen. Das setzt wiederum ein Linux-System voraus. Jetzt denken einige bestimmt – wofür einen extra PC mit Linux aufstellen, wenn ich doch im Prinzip nur Mails abholen möchte.
    Es gibt zwei Möglichkeiten die Mailabholung mittels fetchmail zu realisieren.

    1. Installation von cygwin inklusive fetchmail auf einem bestehenden Windows Betriebssystem
    2. Installation eines Linux-Systems (Debian) auf einem separaten PC

    Auf beide Varianten möchte ich im weiteren Verlauf eingehen. Doch es sprechen viele Dinge für die Verwendung eines Linux-Systems:

    1. Installation eine Virenscanners der die Mails schon bei der Abholung scannt
    2. Installation eines Spam-Filters
    3. Spätere Installation eines Proxys zur Beschleunigung des Seitenaufbaus und zur Reduzierung des Traffics
    4. Installation eines SSH-Servers für Remoteverbindungen

    Auf die Erweiterungen gehe ich in späteren Dokumentationen ein.

    fetchmail unter cygwin
    Diese Konfiguration unterscheidet sich von der weiter unten beschrieben unter debian verwendeten Konfiguration, weil hier die Mails abgeholt und direkt an den Exchange Server weitergeleitet werden. Es findet hierbei keine Zuordnung mittels postfix statt.

    Als erstes muss cygwin (www.cygwin.com) installiert werden. Die Grundinstallation habe ich schon im Dokument „cygwin als ssh-server“ beschrieben. Während der Installation muss als zusätzliches Paket noch fetchmail & cron ausgewählt werden. Anschließend legen wir einen Domänen-Benutzer an, der später die Mails abholen wird. Der Einfachheitshalber nenne ich diesen „root“.

    fetchmail
    Nach Abschluss der Installation legen wir als erstes die Datei fetchmailrc an und öffnen diese zum editieren

    touch /etc/.fetchmailrc
    vi /etc/.fetchmailrc

    Die .fetchmailrc enthält die Konfiguration wie die Mails abzuholen sind und wohin sie weitergeleitet werden soll.

    set postmaster
    set logfile /var/log/fetchmail/fetchmail.log
    defaults
    envelope "Delivered-To:"
    smtphost 192.168.xx.xx
    fetchallpoll pop3.provider.de with protocol POP3
    localdomains 2nibbles4u.de
    user 'usere' password 'pwd' no rewrite to *;

    Da die Datei /etc/.fetchmailrc den Usernamen und das Password für die Abholung im Klartext enthält setzten wir die Berechtigungen noch so, dass nur der admin diese Datei lesen & verändern darf.

    chmod 600 /etc/.fetchmailrc
    chown root /etc/.fetchmailrc

    Nun können schon Mails abgeholten werden

    fetchmail --verbose –d0 –f /etc/.fetchmailrc

    Ich habe an dieser Stelle den Parameter –verbose hinzugefügt, damit bei evtl. Fehlern diese hier sofort auffallen.
    Die Mails jetzt aber manuell abzuholen ist etwas unpraktisch. Daher erstellen wir jetzt ein skript, das dann per cron automatisch gestartet wird. Cron ist unter Linux das, was bei Microsoft die „Geplanten Tasks“ sind.

    Aber zuerst das Skript

    touch /etc/get.mail
    vi /etc/get.mail
    $ less /etc/get.mail
    #!/bin/bash
    cd /etc
    date >> /var/log/fetchmail/fetchmail.log
    /usr/bin/fetchmail -d0 -f /etc/.fetchmailrc -L /var/log/fetchmail/fetchmail.log 2>&1

     
    Nun ändern wir bei dieser Datei ebenfalls die Rechten.

    chmod 600 /etc/get.mail
    chmod +x /etc/get.mail
    chown root /etc/get.mail

    Die Mailabholung kann jetzt durch den Befehl “/etc/get.mail“ initiiert werden.

    cron
    Als letzten Schritt wäre noch cron zu konfigurieren.
    Die Assistenten gestützte Konfiguration starten wir durch den Befehl „cron-config“. Bestätigen Sie die Fragen nach Ihren wünschen.
    Nach Abschluss der Konfiguration muss cron noch eine Datei mitgegeben werden, die die auszuführenden Tasks enthält. Dazu erstellen wir die Datei /etc/crontab. Eine mögliche Konfiguration wäre

    */25 0-3 * * * /etc/get.mail >> /var/log/fetchmail/fetchmail.log 2>&1
    */2 4-18 * * * /etc/get.mail >> /var/log/fetchmail/fetchmail.log 2>&1
    */5 19-23 * * * /etc/get.mail >> /var/log/fetchmail/fetchmail.log 2>&1

    Die Erklärung der Parameter finden Sie unter
    http://www.littletechshoppe.com/servers/extensions/cron/crontab_5.html

    Zum Schluss lassen wir cron die Datei einlesen

    crontab /etc/crontab

    Überwachung
    Um nun zu überprüfen ob die Mails auch korrekt abgeholt werden, ist es am Anfang ratsam die Log-Datei von fetchmail in realtime zu überwachen. Verwenden Sie dazu den Befehl

    tail –f /var/log/fetchmail/fetchmail.log

    [download des gesamten Artikels]

    Leave A Reply