[Exim] acl_check_content freezes more than spam!

Top Page
Delete this message
Reply to this message
Author: Thomas Baumann
Date:  
To: Tom Kistner
CC: exim-users@exim.org
Old-Topics: Re: [Exim] how to save mails from acl_check_content
Subject: [Exim] acl_check_content freezes more than spam!
Hi Tom,

I now use this acl like this.
I just want to freeze mails that are identified as spam,
i.e. that have a $spam_score_int > 55 but with my current
configuration I have messages frozen, which do not have
a [probably spam: ++++] Subject line

Thanks for any help in advance.

- tom

Here is my config snippet

acl_check_content:

  # scan localhost, but do not scan relay_hosts
  accept hosts          = +relay_from_hosts
  accept authenticated  = *


  # First unpack MIME containers and reject serious errors.
  deny  message = This message contains a MIME error ($demime_reason)
        demime = *
        condition = ${if >{$demime_errorlevel}{2}{1}{0}}


  # Reject typically wormish file extensions. There is almost no
  # sense in sending such files by email.
  deny  message = This message contains an unwanted file extension
($found_extension)
        demime = scr:vbs:bat:lnk:pif
        control = freeze


  # Reject virus infected messages.
  deny  message = This message contains malware ($malware_name)
        malware = *


  # Always add X-Spam-Score and X-Spam-Report headers, using SA system-wide settings
  # (user "nobody"), no matter if over threshold or not.
  warn  message = X-Spam-Score: $spam_score ($spam_bar) [$spam_score_int]
        spam = nobody:true
  warn  message = X-Spam-Report: $spam_report
        spam = nobody:true


  # Add X-Spam-Flag if spam is over system-wide threshold
  warn  message = X-Spam-Flag: YES
        spam = nobody


  # Mark spam Message // and add system.filter
  warn  message = X-New-Subject: [Probably Spam $spam_bar] $h_Subject
        spam = nobody
        control = fakereject
        control = freeze


  # Reject spam messages with score over 30, using an extra condition.
  deny  message = This message scored $spam_score points. Congratulations!
        spam = nobody:true
        condition = ${if >{$spam_score_int}{300}{1}{0}}



# finally accept all the rest
accept


Zitat von Tom Kistner <tom@???>:

> warn  message = This message scored $spam_score points. Congratulations!
>        spam = nobody:true
>        condition = ${if >{$spam_score_int}{150}{1}{0}}
>        control = fakereject
>        control = freeze

>
> Alternatively, instead of 'control = freeze', set an ACL variable and
> query it in a special router that in turn hands over to a transport that
> writes files in the form of
> "/spammails/$localpart@$domain_${timestamp}". This will then exactly be
> what you want :)



--
Thomas Baumann // tirili+list.exim@???