thank you very much

I need to get such a scenario
1. bogosity:spam, domain on bogo_lists exists, address on the list exists -> transport bogo_transport will not execute, mail reaches the recipient 2. bogosity:spam, domain on bogo_lists does not exist, address on the list exists -> transport bogo_transport will not execute, mail reaches the recipient 3. bogosity:spam, domain on bogo_lists exists, address on the list does not exist -> transport bogo_transport will not execute, mail reaches the recipient 4. bogosity:ham, it does not matter whether the domain or address is on the bogo_lists -> transport bogo_transport will not execute, mail reaches the recipient 5. 1. bogosity:spam, domain on bogo_lists does not exist, address on the list does not exist -> transport bogo_transport will be executed, the mail will reach spam

regards
----- Original Message ----- From: "Viktor Ustiuhov via Exim-users" <exim-users@lists.exim.org>
To: "Sławomir Dworaczek via Exim-users" <exim-users@lists.exim.org>
Sent: Sunday, February 23, 2025 11:30 AM
Subject: [exim] Re: please check the condition


Sławomir Dworaczek wrote on 23.02.2025 10:48:
heloo
great, it works

condition = ${if and{{match{$h_X-Bogosity:}{\N(?i)^\s*Spam\N}}\
{bool{${lookup{$sender_address_domain}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}}\

{true}{false}}

ok

But there was a mistake in the last condition.
Replace \$4 with \$1

and what if I wanted to add a third condition?

so that it checks if there is a domain OR address on the list?
after adding the line

condition = ${if and{{match{$h_X-Bogosity:}{\N(?i)^\s*Spam\N}}\
{bool{${lookup{$sender_address_domain}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}}\

{bool{${lookup{$sender_address}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}}\

{true}{false}}

Unfortunately, it is so that you have the desired messages from the
email address, but not necessarily the rest from that domain :)
e.g. all kinds of portals with food suppliers, you have notifications
about a purchase made from one address, but 10,000 ads are coming from
the entire domain :)


1. to exclude by only sender address

deny condition = ${if
match{$h_X-Bogosity:}{\N(?i)^\s*Spam\b\N}{true}{false}}
    condition =
${lookup{$sender_address}wildlsearch{/etc/exim/listy_acl/bogo_list}{${if
eq{$value}{skip}{true}{false}}}{true}}

1.1. to exclude sender domain domain.tld except sender address
mailb...@domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld : skip
*@domain.tld

1.2. to exclude sender addresses mailb...@domain.tld and
mailb...@domain.tld but not whole domain domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld
mailb...@domain.tld


2. to exclude by sender address AND address from From: header

deny condition = ${if
match{$h_X-Bogosity:}{\N(?i)^\s*Spam\b\N}{true}{false}}
    condition = ${if and{\

{eq{${lookup{$sender_address}wildlsearch{/etc/exim/listy_acl/bogo_list}{${if
eq{$value}{skip}{skip}{ok}}}{}}}{ok}}\

{eq{${lookup{${address:${sg{${sg{$rh_From:}{:}{\\\\:}}}{\N^\s*\S+@\S+\s*(<\S+@\S+>)\N}{\$1}}}}wildlsearch{/etc/exim/listy_acl/bogo_list}{${if
eq{$value}{skip}{skip}{ok}}}{}}}{ok}}\
                }{false}{true}}

2.1. to exclude domain domain.tld except address mailb...@domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld : skip
*@domain.tld

1.2. to exclude mailb...@domain.tld and mailb...@domain.tld but not
whole domain domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld
mailb...@domain.tld


3. to exclude by sender address OR address from From: header

deny condition = ${if
match{$h_X-Bogosity:}{\N(?i)^\s*Spam\b\N}{true}{false}}
    condition =
${lookup{$sender_address}wildlsearch{/etc/exim/listy_acl/bogo_list}{${if
eq{$value}{skip}{true}{false}}}{true}}
    condition =
${lookup{${address:${sg{${sg{$rh_From:}{:}{\\\\:}}}{\N^\s*\S+@\S+\s*(<\S+@\S+>)\N}{\$1}}}}wildlsearch{/etc/exim/listy_acl/bogo_list}{${if
eq{$value}{skip}{true}{false}}}{true}}

3.1. to exclude domain domain.tld except address mailb...@domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld : skip
*@domain.tld

3.2. to exclude mailb...@domain.tld and mailb...@domain.tld but not
whole domain domain.tld

/etc/exim/listy_acl/bogo_list:
mailb...@domain.tld
mailb...@domain.tld


If you specify a value in the lines of the file
/etc/exim/listy_acl/bogo_list with excluded addresses, for example, "ok"
or "exclude" or another convenient value, then you can simplify the
conditions.


regards

----- Original Message ----- From: "Viktor Ustiuhov via Exim-users"
<exim-users@lists.exim.org>
To: "Sławomir Dworaczek via Exim-users" <exim-users@lists.exim.org>
Sent: Sunday, February 23, 2025 3:02 AM
Subject: [exim] Re: please check the condition


Sławomir Dworaczek via Exim-users wrote on 23.02.2025 2:06:
You're right, only 256 bytes can be in a file
Unfortunately, condition behaves as if it didn't work at all, all
emails, even those tagged spam, fall into inboxes
Regardless of whether they come from external or local domains

This is a fragment of the SPAM header:
X-Bogofilterd: true
X-Bogosity: Spam, tests=bogofilter, spamicity=1.000000, version=1.2.5
and this is a fragment of the HAM header:
X-Bogofilterd: true
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.5

to exclude by sender address domain:

${if and{\
{match{$h_X-Bogosity:}{\N(?i)^\s*Spam\N}}\

{bool{${lookup{$sender_address_domain}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}\

}{true}{false}}


to exclude by sender address domain and domain from From: header (does
not work for multiple addresses in From: header):

${if and{\
{match{$h_X-Bogosity:}{\N(?i)^\s*Spam\N}}\

{bool{${lookup{$sender_address_domain}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}\


{bool{${lookup{${domain:${sg{${sg{$rh_From:}{:}{\\\\:}}}{\N^\s*\S+@\S+\s*(<\S+@\S+>)\N}{\$4}}}}wildlsearch{/etc/exim/listy_acl/bogo_list}{false}{true}}}}\

}{true}{false}}



If I change "if and" to "if or" it seems that searching in the domain
file works, but only searching, recognizing the header does not

${if or{\
{eqi{$h_X-Bogosity:}{Spam}}\
{bool{${lookup{$sender_address_domain}lsearch{/tmp/x.bogook}\{false}{true}}}}\

}\ {yes it it spam}{no it is not spam}\}Greetings from Silesia-----
Original Message -----From: "Heiko Schlittermann via Exim-users"
<exim-users@lists.exim.org>To: "Sławomir Dworaczek"
<sla...@dworaczek.info>Sent: Saturday, February 22, 2025 11:09
PMSubject: [exim] Re: please check the condition>> --> ## subscription
configuration (requires account):>
##https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/>

## unsubscribe (doesn't require an account):> ##
exim-users-unsubscr...@lists.exim.org> ## Exim details at
http://www.exim.org/> ## Please use the Wiki with this list -
http://wiki.exim.org/>



--
Best wishes Viktor Ustiuhov
mailto:vic...@corvax.kiev.ua
public GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc

--
## subscription configuration (requires account):
##
https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/

## unsubscribe (doesn't require an account):
## exim-users-unsubscr...@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/





--
Best wishes Viktor Ustiuhov
mailto:vic...@corvax.kiev.ua
public GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc

--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
##   exim-users-unsubscr...@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/



--
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
##   exim-users-unsubscr...@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to