On Thu, 20 Apr 2023, Lance Lovette via Exim-users wrote:
There's a rational basis for an exception for 5xx before MAIL FROM,
when the target only has the connection parameters and HELO
name to use as a basis for rejection
Unfortunately, Google, in the case of an outright IP-based block, doesn't
reject the message until after DATA has been submitted.
After wrestling with this for a few days, my solution to mitigate some
fallout from host-based rejections is a router condition that allows me to
easily avoid routing to problematic domains while the issue is resolved.
(The router after this sends everything through the ESP.)
FIRST_MX_HOST = ${extract{2}{ \n}{${lookup
dnsdb{mx=$domain}{$value}}}{$value}fail}
r_direct:
driver = dnslookup
transport = t_smtp
domains = ! +local_domains
condition = first_delivery
condition = ${if !eq{$return_path}{}}
condition = ${lookup
{FIRST_MX_HOST}nwildlsearch{/etc/exim/force-esp-mxhosts}{false}{true}}
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
Two questions for the experts:
- Is there a more efficient way to achieve this?
- Does Exim have a mechanism to invoke a script with rejected messages, so
${run ...} will run the command.
I am not sure how you test for a rejected message.
--
Andrew C. Aitchison Kendal, UK
and...@aitchison.me.uk
--
## 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/