Я новичок в exim4. У меня такая конфигурация:
.ifdef SA_ENABLE
warn
!authenticated = *
hosts = !127.0.0.1/24
condition = ${if < {$message_size}{1K}}
spam = SA_SPAMD_USER:true
add_header = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report
warn
!authenticated = *
hosts = !+relay_from_hosts
spam = SA_SPAMD_USER:true/defer_ok
add_header = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report
set acl_m4 = $spam_score_int
condition = ${if and{{<{$message_size}{100K}}{<{$acl_m4}{SA_SCORE_REJECT}}} {yes}{no}}
logwrite = From $sender_address to $recipients X-Spam_score: $acl_m4.
deny
condition = ${if and{{>{$message_size}{10K}}{!eq{$acl_m4}{}}{>{$acl_m4}{SA_SCORE_REJECT}}} {yes}{no}}
message = Content analisis tool detect spam (from $sender_address to $recipients). Contact SA_ABUSE_ADDR.
.endif
Как я могу настроить добавление X-Spam-Flag (да или нет), если оценка выше / ниже значения, и отклонить, если выше другого значения. (В настоящее время SA_SCORE_REJECT = 50)
Если я хочу принудительно применить И для двух отдельных условий, я считаю более понятным записать их как два отдельных условия пунктов. Думаю, это сработает:
# Define constants
SA_MESSAGE_SIZE=100K
SA_SCORE_FLAG=50
SA_SCORE_REJECT=100
и
.ifdef SA_ENABLE
warn
!authenticated = *
hosts = !127.0.0.0/8 : !+relay_from_hosts
condition = ${if <{$message_size}{SA_MESSAGE_SIZE}}
spam = SA_SPAMD_USER:true
set acl_m4 = $spam_score_int
add_header = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report
warn
!authenticated = *
hosts = !127.0.0.0/8 : !+relay_from_hosts
condition = ${if <{$message_size}{SA_MESSAGE_SIZE}}
condition = ${if >{$acl_m4}{SA_SCORE_FLAG}}
add_header = X-Spam-Flag: YES
logwrite = From $sender_address to $recipients X-Spam_score: $acl_m4.
# Reject spam messages with score*10 over SA_SCORE_REJECT=100
deny
!authenticated = *
hosts = !127.0.0.0/8 : !+relay_from_hosts
message = Content analysis tool detect spam (from $sender_address to $recipients). Contact SA_ABUSE_ADDR.
condition = ${if <{$message_size}{SA_MESSAGE_SIZE}}
condition = ${if >{$acl_m4}{SA_SCORE_REJECT}}
logwrite = From $sender_address to $recipients spam message was rejected X-Spam_score: $acl_m4.
.endif
$ spam_score_int = 100 равно $ spam_score = 10.0