Re: [exim] system wide filter against spam marked traffic on…

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Jonathan Gonzalez
Fecha:  
A: Herb Martin
Cc: 'Mailinglist EXIM'
Asunto: Re: [exim] system wide filter against spam marked traffic on inbox
This bring me some ideas but as you stated it don't solve my needs,
because in your case you ask for "if defined" and in my case and trying
your syntax i should need ask for "if contains" and i don't know to
achive this :(

Anyway many thanks, it served me ;)

jonathan



Herb Martin wrote:
>>i need to take all the emails with header containing [SPAM?]
>>and move them to a folder in the maildir of each user named
>>Maildir/.SPAM
>
> <snip>
>
>>Reading the doc and spec of exim seems that there's another
>>way using either a router or a directive named
>>transport_filter in the transport that writes to disk.
>>
>>Nevertheless i was unable along the evening to make it run. I
>>would like to get some thought from the list.
>
>
> My example following does not do precisely what you request;
> but it covers the basic idea using two different Headers (rather
> than subject line marker) to place the files into either of
> three locations beneath MAIL_DIR_PATH:
>
>   zhighspam   (high scoring spam "catch" user directory)
>   zspammail   (lower scoring spam "catch" user directory)
>   username    (directory for each user

>
> In each case the file name is constructed as
> 'qBASE62ENC_TIME_OF_DAY-XXXXXX.msg' (there's an
> overcomplicated test in directory_file for the
> extension because in an ealier version I changed
> that based on Spam score too.
>
> So my mail is delivered based on Username, or to one of
> two spam 'usernames' to pre-sort the mail for review:
>
> # from my transports section:
>
> local_delivery:
>   driver = appendfile
>   directory = /MAIL_DIR_PATH/${if def:h_X-HighSpam:\ 
>     {zhighspam}{${if def:h_X-Spam-Mail: \
>       {zspammail}{$local_part}}}}
>   directory_file = q${base62:$tod_epoch}-$inode.\
>        ${if def:h_X-SuperSpam:{msg}\
>       {${if def:h_X-Spam-Mail:{msg}{msg}}}}
>   delivery_date_add
>   envelope_to_add
>   return_path_add
> # group = mail
>   initgroups = no
>   mode = 0666
>   mode_fail_narrower = no
>   check_group = no
>   check_owner = no

>     
>
> # 'group' is commented out because I am running on Cygwin
> and don't seem to need such complications.
>
>
> #I have ACL DATA warnings to add the needed Headers:
>
> warn  message = X-Spam-Mail: yes
>     condition = ${if <{$message_size}{250k}{1}{0}}
>          spam = herbm/defer_ok

>
> # 12.0+ point spam                 
> warn  message = X-HighSpam: Message exceeded spam score threshhold.
>     condition = ${if <{$message_size}{250k}{1}{0}}
>          spam = herbm:true/defer_ok
>       condition = ${if >{$spam_score_int}{120}{1}{0}}

>
> ...etc....
>
> I hope it gives you some help and some ideas.
>
> --
> Herb Martin
>
>
>
>
> # FYI: I also add the "score" with the spam marker (***)
> to the subject line of each mail (in the ACL DATA checks):
>
> warn  message = Subject: ***** SPAM *****__$spam_score $h_subject
>     condition = ${if <{$message_size}{250k}{1}{0}}
>     condition = ${if <{$spam_score_int}{100}{1}{0}}
>          spam = herbm/defer_ok

>                 
> warn  message = Subject: ***** SPAM *****_$spam_score $h_subject
>     condition = ${if <{$message_size}{250k}{1}{0}}
>     condition = ${if >{$spam_score_int}{99}{1}{0}}
>     condition = ${if <{$spam_score_int}{1000}{1}{0}}
>          spam = herbm/defer_ok

>                 
> warn  message = Subject: ***** SPAM *****$spam_score $h_subject
>     condition = ${if <{$message_size}{250k}{1}{0}}
>     condition = ${if >{$spam_score_int}{999}{1}{0}}
>          spam = herbm/defer_ok

>
>