Another procmail configuration

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Pet Farrari

    Another procmail configuration

    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.$CYRUS USER

    # 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@mymaildom ian.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=${ERR ORCODE}
    ${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@mymaildom ain.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@mymaildoma in.com.au>
    1244

    Thanks
    S
  • Jürgen Exner

    #2
    Re: Another procmail configuration

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

    jue


    Comment

    • Joe Smith

      #3
      Re: Another procmail configuration

      Pet Farrari wrote:
      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.

      Comment

      • Randal L. Schwartz

        #4
        Re: Another procmail configuration

        >>>>"Joe" == Joe Smith <joe@inwap.comw rites:

        JoePet Farrari wrote:
        >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@stonehe nge.com<URL:htt p://www.stonehenge. com/merlyn/>
        Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
        See PerlTraining.St onehenge.com for onsite and open-enrollment Perl training!

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

        Comment

        Working...