Re: [Exim-users-de] [hs@schlittermann.de: Re: Trouble mit Ne…

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Nicola Tiling
Datum:  
To: vol
CC: exim-users-de
Betreff: Re: [Exim-users-de] [hs@schlittermann.de: Re: Trouble mit Negativem Spam Score]

Moin


Am 05.06.2008 um 12:47 schrieb vol@???:

>
>> Ich habe jetzt einfach mal den spamcheck an der Stelle
>> rausgenommen. Außerdem habe ich die "$acl_m4 > 0" zugefügt,
>> sodass, wenn acl_m4 leer ist, die Bedingungen insgesamt auch nicht
>> erfüllt sein soll
>
> Ich glaube, dass "$acl_m4 > 0" noch nicht ganz ausreichend ist.
> Entweder sollte man im "warn"-Block, der gegebenenfalls die Header
> modifizieren soll, die kompletten "condition"-Elemente aus dem
> Scoring-"warn" wiederholen, oder eine andere Kennzeichnung benutzen,
> die sicherstellt, dass die Mail wirklich mit einem Scoring versehen
> worden ist.
> Meiner Meinung reicht "{>{$spam_score_int}{0}}" nicht aus, weil
> dieser Wert gegebenenfalls undefiniert ist. Konkret zum Beispiel für
> den zweiten Block:



Es gibt einen langen Thread zur behandlung von integer Variablen die
leer sind.

http://www.exim.org/lurker/message/20070102.200612.cc300686.en.html

Philip Hazel schreibt da:

1. In the context of ${if with a numerical comparison, treat an empty
string as "0". When expansion debugging is enabled, output a warning
when this happens.

>
> Die Duplizierung der lookups ist durch das Caching der Ergebnisse
> praktisch ohne nennenswerten Auswand. Innerhalb der ACLs sind
> mehrere "condition"-Elemente erlaubt, sie werden "und" verknüpft
> (leider gilt dies nicht für Router :-((
>
> Alternativ setzt man im Scoring-Block eine weitere Variable mit
> einem Merker (Bedeutung: "für diese Mail ist ein Scoring gelaufen")
> und fragt sie dann im folgenden "warn" ab.
>


dann habe ich doch aber auch eine gefüllte spam_score Variable?

Mein Stand der Dinge zur Zeit:


warn  condition      = ${if < {$message_size}{500k}{1}{0}}
  condition      = ${if and { {eq{$header_X-SA-Run:}{Yes}} \
                              {!eq {${lookup pgsql{WHITE_FROM}}}{1}} \
                              {!eq {${lookup pgsql{WHITE_SUBJ}}}{1}} \
                            } {yes}{no}}
  spam           = pop3:true/defer_ok
  message        = X-Spam_score: $spam_score\n
#spam_score_int darf nicht NULL sein!
warn  condition      = ${if def:spam_score}
  condition      = ${if and{ {>{$spam_score_int}{0}} \
                             {>{$acl_m4}{0}} \
                           } {1}{0}}
  condition      = ${if > {$spam_score_int}{$acl_m4} {1}{0}}
  message        = X-Spam-Flag: YES\n\
                   X-Spam_score_int: $spam_score_int\n\
                   X-Spam_value: $acl_m4\n\
                   X-Spam_bar: $spam_bar\n\
                   X-Spam_subject: *****SPAM*****($spam_score)  
$h_subject:\n\
                   X-Spam_report: $spam_report\n