Re: [exim] Routing failed deliveries through an ESP

Top Page
Delete this message
Reply to this message
Author: Andrew C Aitchison
Date:  
To: Lance Lovette
CC: exim-users
Subject: Re: [exim] Routing failed deliveries through an ESP
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
                    andrew@???