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/

Reply via email to