Connecting Tech Pros Worldwide Help | Site Map

Another procmail configuration

  #1  
Old January 24th, 2007, 07:05 AM
Pet Farrari
Guest
 
Posts: n/a
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@mymaildomian.com.au 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@mymaildomain.com.au 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@mymaildomain.com.au>
1244

Thanks
S
  #2  
Old January 24th, 2007, 01:45 PM
Jürgen Exner
Guest
 
Posts: n/a

re: Another procmail configuration


Pet Farrari wrote:
Quote:
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.
You are missing
use strict;
use warnings;
They help you find a lot of errors.
Quote:
SHELL=/bin/sh
Standard convention is to use upper case variable names for file handles
only.
The correct syntax would be

my $shell = '/bin/sh';
Quote:
DROPPRIVS=yes
LINEBUF=32768
SENDMAILFLAGS="-oi"
LOGFILE="/var/log/spamkill/spamkill.log"
SPAMC="/usr/local/bin/spamc"
Same for those declarations above
Quote:
FROM="<$1>"
TO=$2
SHIFT=1
Ouch! What is that supposed to do?
Quote:
Quote:
>0f
>$SPAMC -f -U /var/run/spamd.sock
>
Quote:
>0
* ^X-Spam-Level: \*\*\*\*\*
I'm giving up. Too many errors.

jue


  #3  
Old January 27th, 2007, 11:05 PM
Joe Smith
Guest
 
Posts: n/a

re: Another procmail configuration


Pet Farrari wrote:
Quote:
I am having problem with setting up procmail to work ...
>
Here is the promailrc script:
I hope you realize that you posted this to a Perl newsgroup.
The script you posted was not written in Perl.

If you are having problems with procmail, you should post to a procmail newsgroup.
  #4  
Old January 29th, 2007, 04:15 AM
Randal L. Schwartz
Guest
 
Posts: n/a

re: Another procmail configuration


>>>>"Joe" == Joe Smith <joe@inwap.comwrites:

JoePet Farrari wrote:
Quote:
Quote:
>I am having problem with setting up procmail to work ...
>Here is the promailrc script:
JoeI hope you realize that you posted this to a Perl newsgroup.

And not even a valid Perl newsgroup. This group has been officially
dead since 1995 or so.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com<URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

--
Posted via a free Usenet account from http://www.teranews.com

Closed Thread