Re: [maillist] procmailrc syntax

Micha Holzmann (holzmann@mhnet.de)
Mon, 13 Sep 1999 10:33:17 +0200

Hi Magnus,

> Ich hatte mir mal eine .procmailrc erstellt um meine eingehenden Mails i=
n
> verschiedene Ordner zu sortieren. Leider ist sie mir abhanden gekommen u=
nd
> ich weiss jetzt den Syntax nicht mehr wie sie aussehen musste um die Mai=
ls
> an Hand der Absender- oder Empf=E4ngeradresse in verschiedene Ordner zu
> verschieben. K=F6nnte jemand so nett sein und mir mal die drei (?) Zeile=
n
> Posten?

anbei mal meine .procmailrc:

--- cut here ---
PATH=3D/bin:/usr/bin:/usr/bin
MAILDIR=3D/var/spool/mail
DEFAULT=3D$MAILDIR/myname
LOGFILE=3D$HOME/from

# Send a PopUp Message to Workstation if NewMail
:0 c
* .
| cat /home/myname/newmail|smbclient -M myws

# copy mails from mailing list postfix-users
# to the folder postfix-users
:0 c
* ^From owner-postfix-users@postfix.org
/home/myname/Mail/postfix-users

# copy mails from mailing list delix
# to the folder delix
:0 c
* ^From owner-maillist@delix.de
/home/myname/Mail/delix

# copy all mails from daemons to different
# folders concerning the daemon

:0 c
* ^To: news@rappgmbh.de
/home/myname/Mail/daemon-news

# copy mails from faxadmin to daemon-fax
:0 c
* ^From: faxadmin@mydomain.de
/home/myname/Mail/daemon-fax

:0 c
* ^Subject: Cron <root@kaliba> /root/cmd/poll.news.mail
/home/myname/Mail/daemon-cron

:0 c
* ^Subject: /var/log/maillog
/home/myname/Mail/cron-maillog

:0 c
* ^Subject: /var/log/messages
/home/myname/Mail/cron-messages

:0 c
* ^Subject: /var/log/secure
/home/myname/Mail/cron-secure

:0 c
* ^Subject: /var/log/cron
/home/myname/Mail/cron-cron

:0 c
* ^Subject: Output from your job
/home/myname/Mail/daemon-at

# copy/backup all incoming mails to inbox
:0 c
* .
/home/myname/Mail/inbox
--- cut here ---

> P.S.: Ist es m=F6glich mit procmail die Mails die breits in einem Mailfo=
lder
> sind noch mal an Hand der .procmailrc sortieren zu lassen ?

Ja, siehe man procmail:

--- cut here ---
Procmail can also be invoked to postprocess an already
filled system mailbox. This can be useful if you don't
want to or can't use a $HOME/.forward file (in which case
the following script could periodically be called from
within cron(1), or whenever you start reading mail):

#!/bin/sh

ORGMAIL=3D/var/spool/mail/$LOGNAME

if cd $HOME &&
test -s $ORGMAIL &&
lockfile -r0 -l1024 .newmail.lock 2>/dev/null
then
trap "rm -f .newmail.lock" 1 2 3 13 15
umask 077
lockfile -l1024 -ml
cat $ORGMAIL >>.newmail &&
cat /dev/null >$ORGMAIL
lockfile -mu
formail -s procmail <.newmail &&
rm -f .newmail
rm -f .newmail.lock
fi
exit 0
--- cut here ---

Gruss,
Micha Holzmann