cyrus-imapd/cyrus-procmailrc

130 lines
3.3 KiB
Plaintext
Raw Normal View History

#################################################
# procmailrc
# This is the main procmail file with common SPAM recipes
# Based on the article at
# http://www.ncworldmag.com/ncw-05-1998/ncw-05-imap.html
#
#
# First we define some basics
PATH=/usr/bin:/bin
SHELL=/bin/sh
# We define DELIVERTO just to prevent a lot of extra
# typing later on. We define SPAMIT to prevent even more
# repetitive typing, as it's the same action for every user.
# This assumes we set up a SPAM folder right off the INBOX
# for every user on the system. If we neglect to do that, we'll
# get in a bit of trouble.
DELIVERTO=/usr/cyrus/bin/deliver-wrapper
SPAMIT="$DELIVERTO user.$LOGNAME.SPAM"
# This file includes the appropriate procmail.$LOGNAME
# file so that each user has his or her own recipe techniques
# for subscribed lists, e-mail alerts, etc.
# Before we begin any recipes, let's make a backup
# copy of any incoming mail.
#
# Remember to comment out the next recipe once
# you know everything is working fine, otherwise
# you'll fill up the backup directory very quickly.
# Some procmail tutorials demonstrate how you can
# set a quota on the backup directory so that you can
# leave it in force at all times.
:0 ic
| $DELIVERTO user.$LOGNAME.Backup
###############################
# If there used to be an existing system-wide procmailrc, you can
# include it here
#INCLUDERC=/etc/procmailrc
# We shouldn't be running as a privileged user, but just in case,
# make sure we drop any privileges we have
DROPPRIVS=1
###############################
# If users want to be able to define their own private recipes
# and put them in their home .procmailrc files, comment out
# the next definition.
#
# These recipes will be processed BEFORE the user-specific
# recipes that are kept in the /home/cyrus directory
#
# setup some variables, before we start
ALERTSBOX=user.$LOGNAME.Folders.Alerts
LISTSBOX=user.$LOGNAME.Folders.Lists
#
INCLUDERC=$HOME/.procmailrc
# If you want to define user-specific recipes that
# you manage centrally (perhaps because you don't want
# to allow your users to "roll their own," then
# uncomment the following line. In this case, you have
# to create a file for each user in the form:
# procmail.username -- for example, procmail.Joe
#
# INCLUDERC=/usr/cyrus/etc/procmail.$LOGNAME
#############################
# Now we begin our recipes
#############################
# Email-specific SPAM recipes
# Here's one example
#### NOTE: surely cyrus 'deliver' does its own locking? There should
#### thus be no need for :0:$LOGNAME.lock
:0
* ^To:.*anyplace@juno.com
| $SPAMIT
#############################
# General SPAM Recipes
# Here are a few examples
#
# The "To:" line doesn't exist
#:0
#* !^To:
#| $SPAMIT
# The "To:" line is empty
#:0
#* ^To: $
#| $SPAMIT
# The "From:" line is empty
#:0
#* ^From: $
#| $SPAMIT
#############################
# All the mail that falls
# through the above recipes
# will be put into the user's
# inbox. This is always the LAST
# recipe to appear in the file.
:0W
| $DELIVERTO user.$LOGNAME
# If that fails - maybe because the user is out of quota, or the mailbox
# hasn't been created - then force a bounce (otherwise the message would
# get silently appended to /var/spool/mail/$LOGNAME).
# This is EX_CANTCREAT (Can't create output)
EXITCODE=73
:0
/dev/null
#
# End of procmailrc file
##############################