[exim] accepting mail from nonexistent domain

Top Page
Delete this message
Reply to this message
Author: Marcin Krol
Date:  
To: exim-users
Subject: [exim] accepting mail from nonexistent domain
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: fasdfsdfasdklfasdfasjfajklfljk@???
SMTP<< mail from: fasdfsdfasdklfasdfasjfajklfljk@???
SMTP>> 250 OK

250 OK
rcpt to: mark@???
SMTP<< rcpt to: mark@???
using ACL "acl_check_rcpt"
...

processing "require"
check verify = sender
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Verifying fasdfsdfasdklfasdfasjfajklfljk@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering fasdfsdfasdklfasdfasjfajklfljk@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing fasdfsdfasdklfasdfasjfajklfljk@???
--------> 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 fasdfsdfasdklfasdfasjfajklfljk@??? 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: subject=mark@???
pattern=lsearch;/etc/exim4/nosv_recipients
search_open: lsearch "/etc/exim4/nosv_recipients"
search_find: file="/etc/exim4/nosv_recipients"
key="mark@???" 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="mark@???"
file lookup required for mark@???
in /etc/exim4/nosv_recipients
lookup yielded:
mark@??? 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: fasfdsfsdfasd@???
SMTP<< mail from: fasfdsfsdfasd@???
SMTP>> 250 OK

250 OK
rcpt to: mark@???
SMTP<< rcpt to: mark@???
using ACL "acl_check_rcpt"

check verify = sender
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Verifying fasfdsfsdfasd@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering fasfdsfsdfasd@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing fasfdsfsdfasd@???
--------> 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 fasfdsfsdfasd@???
domain = dfasasfdfasdfasdfasfsd.com
DNS lookup of dfasasfdfasdfasdfasfsd.com (MX) gave HOST_NOT_FOUND
returning DNS_NOMATCH
dnslookup router declined for fasfdsfsdfasd@???
"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
<fasfdsfsdfasd@???>: Unrouteable address
SMTP>> 550-Verification failed for

<fasfdsfsdfasd@???>