Moin

Am 05.06.2008 um 12:47 schrieb [EMAIL PROTECTED]:

>
>> 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
_______________________________________________
Exim-users-de mailing list
[email protected]
http://lists.exim.org/mailman/listinfo/exim-users-de

Antwort per Email an