Hello everyone,
I have this ACL:
begin acl
acl_svwl:
accept sender_domains = +nosv_domains_whitelist
accept recipients = lsearch;/etc/exim4/nosv_recipients
require verify = sender/callout=120s,defer_ok
accept
...
require verify = sender
acl = acl_svwl
Now this problem is a bit complicated: when the incoming sender has a
non-existent local part [1], the mail is accepted if a recipient is
listed in /etc/exim4/nosv_recipients file.
But, if domain is non-existent [2] as well, it is rejected, because in
that case require says that condition test failed immediately.
The question is: how do I make Exim accept the mail in this ACL when
sender domain doesn't exist?
Traces:
[1]
exim -d -bhc 192.168.1.219
mail from: [email protected]
SMTP<< mail from: [email protected]
SMTP>> 250 OK
250 OK
rcpt to: [email protected]
SMTP<< rcpt to: [email protected]
using ACL "acl_check_rcpt"
...
processing "require"
check verify = sender
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Verifying [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
--------> dnslookup router <--------
local_part=fasdfsdfasdklfasdfasjfajklfljk domain=gmail.com
checking domains
....
host gsmtp183.google.com [64.233.183.27] MX=50
host gsmtp147.google.com [209.85.147.27] MX=50
----------- end verify ------------
sender [email protected] verified ok
check acl = acl_svwl
using ACL "acl_svwl"
processing "accept"
check sender_domains = +nosv_domains_whitelist
gmail.com in "lsearch:/etc/exim4/nosv_domains_whitelist"? no (end of list)
gmail.com in "+nosv_domains_whitelist"? no (end of list)
accept: condition test failed
processing "accept"
check recipients = lsearch;/etc/exim4/nosv_recipients
address match: [email protected]
pattern=lsearch;/etc/exim4/nosv_recipients
search_open: lsearch "/etc/exim4/nosv_recipients"
search_find: file="/etc/exim4/nosv_recipients"
key="[email protected]" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/exim4/nosv_recipients
:/etc/exim4/spamtraps
End
internal_search_find: file="/etc/exim4/nosv_recipients"
type=lsearch key="[email protected]"
file lookup required for [email protected]
in /etc/exim4/nosv_recipients
lookup yielded:
[email protected] in "lsearch;/etc/exim4/nosv_recipients"? yes (matched
"lsearch;/etc/exim4/nosv_recipients")
accept: condition test succeeded
[2]
exim -d -bhc 192.168.1.219
mail from: [email protected]
SMTP<< mail from: [email protected]
SMTP>> 250 OK
250 OK
rcpt to: [email protected]
SMTP<< rcpt to: [email protected]
using ACL "acl_check_rcpt"
check verify = sender
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Verifying [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
--------> dnslookup router <--------
local_part=fasfdsfsdfasd domain=dfasasfdfasdfasdfasfsd.com
checking domains
dfasasfdfasdfasdfasfsd.com in "btw2.pl : btw2.eu : localhost :
localhost.localdomain"? no (end of list)
dfasasfdfasdfasdfasfsd.com in "! +local_domains"? yes (end of list)
calling dnslookup router
dnslookup router called for [email protected]
domain = dfasasfdfasdfasdfasfsd.com
DNS lookup of dfasasfdfasdfasdfasfsd.com (MX) gave HOST_NOT_FOUND
returning DNS_NOMATCH
dnslookup router declined for [email protected]
"more" is false: skipping remaining routers
no more routers
----------- end verify ------------
require: condition test failed
LOG: MAIN REJECT
H=krokus.btw2.eu (o) [192.168.1.219] sender verify fail for
<[email protected]>: Unrouteable address
SMTP>> 550-Verification failed for
<[email protected]>
--
## List details at http://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/