Hello All,

I am working to resolve the following issue for a while and I am really stuck.

The Case:

We use on several hosting servers DirectAdmin, and this has Exim default 
installed, all works great until I try to integrate our SpamExperts gateway's
I would like to deliver outgoing mail to a smart host based upon the senders 
domain and I would like to do a dynamic lookup in a text file for domains that 
are valid.
So if the domain name in a text file would match then it would use the 
appropriate smart host and if not it will go to a next or use the lookup host.

The problem i am facing is that I cannot get it to work with a file lookup 
(lsearch) but I can get it to work with a direct entry

Example1:  (working)
This is working with a direct config on the senders line: "senders = 
^.*@domain1<mailto:%5e.*@domain1>.com : 
^.*@domain2.com<mailto:%5e.*@domain2.com>"
Only the listed domains on the line are now send to the smart host, and other 
domains not.

----
spamexperts_smarthost_router:
  driver = manualroute
  domains = ! +local_domains

#search in file
senders = ^.*@domain1<mailto:%5e.*@domain1>.com : 
^.*@domain2.com<mailto:%5e.*@domain2.com>

  ignore_target_hosts = 127.0.0.0/8
  condition = "${perl{check_limits}}"
  transport = spamexperts_smarthost_transport
  route_list = * my.smarthost.com::587

  lookuphost:
  driver = dnslookup
  domains = ! +local_domains
  ignore_target_hosts = 127.0.0.0/8
  condition = "${perl{check_limits}}"
  transport = remote_smtp
no_more

----

Example2: (not working)
Here I try to search a domain name  in a file with "senders = 
^.@lsearch;/etc/virtual/spamexperts_domainsout<mailto:%5e.@lsearch;/etc/virtual/spamexperts_domainsout>"
It does not complain with errors, but it also does not match. I tried debugging 
options like : -d+all but I am not seeing the debugging on how it is selecting 
in the senders=


spamexperts_smarthost_router:
  driver = manualroute
  domains = ! +local_domains

#search in file
senders = ^.@lsearch;/etc/virtual/spamexperts_domainsout
 ignore_target_hosts = 127.0.0.0/8
  condition = "${perl{check_limits}}"
  transport = spamexperts_smarthost_transport
  route_list = * my.smarthost.com::587

  lookuphost:
  driver = dnslookup
  domains = ! +local_domains
  ignore_target_hosts = 127.0.0.0/8
  condition = "${perl{check_limits}}"
  transport = remote_smtp
no_more

---

other thoughts:
I tried to use sender_domains as senders but it then says it does not exist 
(sender_domains )

Can anyone please assist? Is there perhaps a bug or why it is not searching the 
file correctly..
As I understand it should match the email address like 
[email protected]<mailto:[email protected]> but I want to list only domain.com in 
the textfile and then accept everything before the domainname so why is 
^.@lsearch;/etc/virtual/spamexperts_domainsout<mailto:%5e.@lsearch;/etc/virtual/spamexperts_domainsout>
 then not working?
And or do I need a total other approach to filter the senders domain to direct 
it to a custom smarthost

Thanks in advance

Jan Dijk




-- 
## List details at https://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/

Reply via email to