# yum install fetchmail

# vi /etc/fetchmailrc.conf

set daemon 60                         # Alle 60 Sekunden als Dienst ausführen
set logfile /var/log/fetchmail.log    # Logfile
set postmaster "t...@fritz.box"       # Mail-Adresse für Fehlerbenachrichtigungen
set no bouncemail                     # jede Mail akzeptieren, keine "Bounces" verschicken
set invisible                         # Header-Eintrag in der Mail unterdrücken

poll pop.gmx.net protocol pop3 interval 1 timeout 30 bad-header accept
    user 't...@gmx.de' password '...' is 't...@fritz.box' options ssl fetchall # preconnect "date >> /var/log/fetchmail.log"

# imap nur im web.de-Club?
# poll pop3.web.de protocol pop3 interval 15 timeout 30 bad-header accept
poll imap.web.de protocol imap interval 1 bad-header accept
    user 't...@web.de' password '...' is 't...@fritz.box' options ssl fetchall

poll imap-mail.outlook.com protocol imap interval 1 timeout 30 bad-header accept
    user 't...@live.de' password '...' is 't...@fritz.box' options ssl fetchall
    user 'w...@live.de' password '...' is 't...@fritz.box' options ssl fetchall

skip imap-mail.outlook.com protocol imap interval 1 timeout 30 bad-header accept
    user 'p...@hotmail.com' password '...' is 't...@fritz.box' options ssl fetchall

poll pop.thozie.de protocol pop3 interval 1 timeout 30 bad-header accept
    user 'w...@thozie.de' password '...' is 't...@fritz.box' fetchall # postconnect "date >> /var/log/fetchmail.log"

# keep

Diese Einstellungen haben sich für mich als praktikabel erwiesen; poll bedeutet mail abfragen, skip überspringen, interval bei jedem x. Durchlauf mit timeout 30 Sekunden auch wenn der Mail-Header korrupt ist für den user mit password in die lokale Kolab-Mailbox mit SSL verschieben (das auskommentierte keep am Ende würde die Mail auf dem Server belassen) und fetchall bedeutet alle Mail holen egal ob gelesen oder neu.

Ein Script für den Fetchmail-Dienst könnte so aussehen:

# chmod 710 fetchmailrc.conf

# vi /etc/init.d/fetchmail

#!/bin/sh
#
    # FETCHMAIL Control Script
    # chkconfig: 2345 99 01
    # Description: Here is a little startup/shutdown script for RedHat systems
    #
    # processname: fetchmail
    # pidfile: /var/run/fetchmail.pid
    # config: /etc/fetchmail.conf
    #
    # Author : Riccardo Riva
    #
    # Source LSB function library.
. /etc//init.d/functions

    # Source networking configuration.
. /etc/sysconfig/network

    # Check that networking is up.
    #[ ${NETWORKING} = "no" ] && exit 0
 
    nicename="Fetchmail"
    pidfile="/var/run/fetchmail.pid"

    args="-f /etc/fetchmailrc.conf"
    prog="fetchmail"
    RETVAL=0
 
    # Defining arguments.
    case "$1" in
    start)
    echo -n $"Starting $prog: "
    daemon $prog $args

    echo
    RETVAL=$?
    ;;

    stop)
    echo -n $"Stopping $prog: "
    killproc $prog
    echo
    /bin/rm -f $pidfile
    RETVAL=$?
    ;;

    status)
    if exist $pidfiles >/dev/null 2>&1?
    then
    exit 0
    else
    exit 1
    fi
    ;;

    restart|reload)
    $0 stop
    $0 start
    RETVAL=$?
    ;;

    *)
    echo "Usage: $prog {start|stop|restart|reload|status}"
    exit 1
    esac
 
   
exit $RETVAL 

# chmod 755 fetchmail