[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] Systemweites Fetchmail mit Procmail



Hallo Christian.

On Sun, 6 Jan 2002, Christian Obst wrote:
> Jetzt will ich aber so, daß meine Mails bei der Einwahl automatisch
> abgeholt werden, der Daemon scheint mir da die beste Lösung. [...]

Du kannst fetchmail auch einmalig starten, wenn Du Dich eingewaehlt
hast. Wenn Du laengere Zeit online bist und in der Zeit in
bestimmten Intervallen Mails holen willst, dann kannst Du das wie ich
machen:

Ich habe ein Skript /etc/ppp/ip-up.d/3fetchmail_job

    #! /bin/sh
    /root/bin/fetchmail_job start

zum Starten des fetchmails und /etc/ppp/ip-down.d/3fetchmail_job

    #! /bin/sh
    /root/bin/fetchmail_job stop

zum Beenden von fetchmail (im Daemonmode).

Interessant ist nun also /root/bin/fetchmail_job :

----- BEGIN /root/bin/fetchmail_job -----
#!/bin/sh

# fetchmail_job
# Starte bzw. beende einen fetchmail-Daemon.

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/fetchmail
NAME=fetchmail_job
DESC="fetch mail from POP servers"

#
# Syntax: <user-id>:<fetchmail_intervall>
#

FETCHMAILS="user1:900 user2:600 user3:1800"

test -f $DAEMON || exit 0
test $UID == 0  || exit 1

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        for fetchmails in ${FETCHMAILS}; do
                user=`echo ${fetchmails} | cut -f 1 -d :`
                intervall=`echo ${fetchmails} | cut -f 2 -d :`
                su - ${user} -c "fetchmail -d ${intervall}"
        done
        echo "$NAME."
        ;;
  stop)
        for fetchmails in ${FETCHMAILS}; do
                user=`echo ${fetchmails} | cut -f 1 -d :`
                su - ${user} -c "fetchmail -q"
        done
        ;;
  *)
        echo "Usage: $0 {start|stop}" >&2
        exit 1
        ;;
esac

exit 0

# vim: tw=0 ts=4
-----  ENDE /root/bin/fetchmail_job -----

Bei 'fetchmail_job start' ruft das Skript fuer jeden User, der in
$FETCHMAILS angegeben ist, fetchmail mit dem auch dort angegebenen
Intervall auf. Als derjenige User, nicht als root. Dadurch kann jeder
User seine .fetchmailrc selbst verwalten (root muss die Passwoerter
nicht aendern, wenn der User das Pw. aendert...).

Bei 'fetchmail_job stop' wird der Daemonmode von fetchmail beendet.

Eine User-.fetchmailrc sieht bei mir so aus:

     poll "pop3.example.com" proto pop3:
          user "foobar@example.com" is user1 pass "Geheim" ssl
          fetchall mda "/usr/bin/procmail -d $USER";

Viel Spass beim nachvollziehen/-lesen ;-).

-- 
Sebastian Inacker <si@inacker.de>


--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

1128 eingetragene Mitglieder in dieser Liste.


Reply to: