1FORMAIL=/usr/bin/formail
2LOGFILE=/tmp/procmail.log
3VERBOSE=yes
4PATH=/usr/bin:/bin
5SHELL=/bin/sh
6SENDMAIL="/usr/sbin/sendmail -oi -t -f $RECIP -F $CYUSER "
7DELIVERTO="/usr/cyrus/bin/deliver -a $CYUSER -m"
8DELIVER="/usr/cyrus/bin/deliver"
9USERINBOX="user.$CYUSER"
10INCLUDE0=/var/imap/procmail/procmailrc.$CYUSER
11VACATIONDB=/var/imap/procmail/vacationdb
12SECRETKEY=18778392
13
14#process user rule creation
15
16:0
17* < 5000
18* ^To: cyrus@youmaildomain
19* ^From: filteradm@yourmaildomain
20* ^X-Customfilter: [a-zA-Z0-9]+ ??$SECRETKEY
21| /etc/postfix/filter.pl
22
23
24:0
25* ? test -e $INCLUDE0
26{ INCLUDERC=$INCLUDE0 }
27
28
29
30#############################
31# All the mail that falls
32# through the above recipes
33# will be put into the user's
34# inbox.  This is always the LAST
35# recipe to appear in the file.
36
37
38:0w
39| $DELIVERTO $USERINBOX
40
41
42# If that fails - maybe because the user is out of quota, or the mailbox
43# hasn't been created - then force a bounce (otherwise the message would
44# get silently appended to /var/spool/mail/$CYUSER).
45
46# over quota sends this
47#  queues messages back in sendmail queue
48#EXITCODE=75
49
50
51# Use exit code from deliver
52EXITCODE=$?
53
54# use this to change the returned exit code from deliver to a different one
55# for example to change 75 - which respools to 73 which bounces instead
56
57#:0
58#* $EXITCODE ?? 75
59#{ EXITCODE=73}
60
61# End of procmailrc file
62##############################
63