[exim] A few configuration glitches I can't figure out

Top Page
Delete this message
Reply to this message
Author: Casey Allen Shobe
Date:  
To: exim-users
New-Topics: Re: [exim] A few configuration glitches I can't figure out (solved)
Subject: [exim] A few configuration glitches I can't figure out
I have the following hostlist:

hostlist known_mailhosts        = pgsql;select coalesce ((select true 
from "mail_servers" where "ip_address" = '${quote_pgsql:$sender_host_addres
s}'), ${if def:sender_host_name {(select true from "exempt_domains" 
where '${quote_pgsql:$sender_host_name}' like '%' || "domain"), }}false);


The SQL works as expected as demonstrated below, returning a true or false
result. I don't think the SQL has anything to do with the actual problem...

In my connect acl I have the line:
accept  hosts           = +known_mailhosts


This works as expected.

I then in my helo acl had:
accept  hosts           = : +relay_from_hosts


...which worked as expected.

I tried changing this to:
accept  hosts           = : +relay_from_hosts : +known_mailhosts


This does NOT work as expected - instead of only allowing local host or items
in either of those two hostlists through, it accepts ANYTHING. Why is that?


Question 2:

I have the following in my rcpt acl:
                log_message     = RCPT (deny): Rejected due to prior setting 
($acl_m8).


When $acl_m8 is set to a string containing "Please see
http://help.seattleserver.com/?page=email_reverse_dns - Reverse DNS records
are required for sending mail servers, but your mail server,
$sender_host_address, does not have one!"

...what actually gets logged is not the expected:

RCPT (deny): Rejected due to prior setting (Please see
http://help.seattleserver.com/?page=email_reverse_dns - Reverse DNS records
are required for sending mail servers, but your mail server,
$sender_host_address, does not have one!).

...but instead:

RCPT (deny): Rejected due to prior setting (Please see
http://help.seattleserver.com/?page=email_reverse_dns - Reverse DNS records
are required for sending mail servers, but your mail server,
$sender_host_address, does not have one!

(note the missing ').' at the end). Why is this?


My full configuration file may be viewed at
http://test.seattleserver.com/conf/exim/exim.conf.primary_mx

Hostlist query results using actual logged queries:

seattleserver=# select coalesce ((select true from "mail_servers"
where "ip_address" = '199.72.170.147'), false);
coalesce
----------
f
(1 row)
seattleserver=# select coalesce ((select true from "mail_servers"
where "ip_address" = '88.9.148.246'), (select true from "exempt_domains"
where '%246.red-88-9-148.dynamicip.rima-tde.net' like '%' || "domain"),
false);
coalesce
----------
f
(1 row)

...and here's a couple just to show that it returns true when it should:

seattleserver=# select coalesce ((select true from "mail_servers"
where "ip_address" = '88.9.148.246'), (select true from "exempt_domains"
where '%foobar.efax.com' like '%' || "domain"), false);
coalesce
----------
t
(1 row)
seattleserver=# select coalesce ((select true from "mail_servers"
where "ip_address" = '205.234.78.130'), false);
coalesce
----------
t
(1 row)

Cheers,
--
Casey Allen Shobe | cshobe@??? | 206-381-2800
SeattleServer.com, Inc. | http://www.seattleserver.com