Another Procmail configuration.

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

 



Hi,

I am having problem with setting up procmail to work with a C program I wrote. The C program is to determine whether the domain part of the incoming email is a forwarded email, if it is, procmail will not filter its spam into local cyrus mail box. I m not really sure the syntax I use in this conf file is correct or not.

Your suggestion is much appreciated.

Here is the promailrc script:

SHELL=/bin/sh
DROPPRIVS=yes
LINEBUF=32768
SENDMAILFLAGS="-oi"
LOGFILE="/var/log/spamkill/spamkill.log"
SPAMC="/usr/local/bin/spamc"

FROM="<$1>"
TO=$2
SHIFT=1


:0f
|$SPAMC -f -U /var/run/spamd.sock

:0
* ^X-Spam-Level: \*\*\*\*\*
{
USER=`echo $TO | cut -d "@" -f1`
DOMAIN=`echo $TO | cut -d "@" -f2`

# Debug statement. Comment out these Debug log lines later.
#LOG="[$$]$_: Debug: TO=$TO${NL}\n"
#LOG="[$$]$_: Debug: USER=$USER${NL}\n"
#LOG="[$$]$_: Debug: DOMAIN=$DOMAIN${NL}\n"

# Execute CYRUSUSER's personal rules
#INCLUDERC=/var/imap/procmail/user/procmail.$CYRUSUSER

# All the mail that falls through to this point will be delivered into the user's Spam,
# INBOX folder or forwarded to external smtp server.
  :0 wi
  {

       IS_FWD=`/usr/local/sbin/alias2user $DOMAIN`
       LOG="[$$]$_: Debug: IS_FWD=$IS_FWD${NL}\n"
       # theres an error when determng whether thiss a forwarded domain
       * !IS_FWD ?? "-1"
       {
| /usr/local/cyrus/bin/deliver -r admin@xxxxxxxxxxxxxxxxxxx admin/Inbox
               # not a forwarded domain
               :0
               * IS_FWD ?? "0"
               {
| /usr/local/cyrus/bin/deliver -r $USER@$DOMAIN $USER/Spam
               }

# Else Delivery failed. So we need to handle the error condition.
               :0 e
               {
# Get the return code from the last program that ran and report it in the logfile.
               ERRORCODE=$?
LOG="[$$]$_: XX-Failed delivery ERRORCODE=${ERRORCODE} ${NL}"
               }
       }
   }
}

:0
! -f $FROM "$@"

When this rc get triggered by an arriving email, its log shown the following error:

procmail: Extraneous ignore-write-error flag ignored
procmail: Skipped "* !IS_FWD ?? "-1""
procmail: Skipped "{"
procmail: Skipped "| /usr/local/cyrus/bin/deliver -r admin@xxxxxxxxxxxxxxxxxxx admin/Inbox" procmail: Skipped "| /usr/local/cyrus/bin/deliver -r $USER@$DOMAIN $USER/Spam"
procmail: Closing brace unexpected
Subject: testing
 Folder: /usr/sbin/sendmail -oi -f <sam@xxxxxxxxxxxxxxxxxxx>     1244

Thanks
S
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux