Re: [exim] Retry rule of NDR based on error

Top Page
Delete this message
Reply to this message
Author: Dean Brooks
Date:  
To: exim-users
Subject: Re: [exim] Retry rule of NDR based on error
Hi,

We actually implement similar behavior in our fallback queues, which
is for remote servers that respond slowly or intermittently. The
method we used is in the Exim system filter, and is simple as this:

  if error_message and not first_delivery and $message_age is above 7200
  then
      seen finish
  endif


This will cause any error message (an NDR) that has had at least one
delivery attempt and is older than 2 hours to be discarded. You
can modify the 7200 if you like, this just makes sure we had two hours
of retries first. You can eliminate the check for message age if
you like.

You can find the location of your system filter by looking for the
"system_filter=PATH_NAME" entry in your Exim config file.

Keep in mind that code in the system filter is executed for _every_
message prior to _every_ delivery attempt, so be careful in this file.

Hope it helps some.

--
Dean Brooks
dean@???

On Sun, May 11, 2014 at 12:10:06PM +0000, Thomas Hommers wrote:
> Hi Todd,
>
> thanks for your comment.
>
> Actually that was not what i meant, my question should be: How do i make exim droping an email ?$B!J?(BNDR?$B!K?(B on 5xx error instead of freezing and retry?$B!)?(B
>
> regards
> Thomas
>
> On Todd Lyons <tlyons@???>, May 11, 2014 1:51 AM wrote:
> If the NDR gets a 5xx response (i.e. user doesn't exist, rejected as
> spam, etc) exim should then freeze the NDR. Your question is actually
> "If I get a temporary error (a 4xx response), how do I force exim to
> blackhole or redirect the message to some box I can later inspect?"
>
> I've not done this nor really thought much about it, so I don't have a
> solution off the top of my head. I just wanted to let you know that
> your issue is slightly differently than you think it is.
>
> ...Todd
>
>
> On Fri, May 9, 2014 at 8:14 PM, Thomas Hommers <thomas.hommers@???> wrote:
> > Hi,
> >
> > my exim server acts as gateway, some email is rejected as spam by the destination server and exim therefore creates a NDS (bounce) message.
> > Because a lot of the spam senders won't send with a legit sender address, exim continues trying to send the NDR even tough the destination rejects the email or the recipient does not exist.
> >
> > I would like to let exim try only ONCE to deliver the NDR if it's because of previous spam rejection.
> >
> > In my mind i thought of adding a special header to the NDR (like X-SPAM-ERROR:5.7.1) and if this header is set exim will drop the message after delivery error instead of freeze and retry delivery.
> >
> > How could i achieve this or maybe there is another much easier way?
> >
> > Thanks for all help,
> > Thomas
> > --
> > ## 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/
>
>
>
> --
> The total budget at all receivers for solving senders' problems is $0.
> If you want them to accept your mail and manage it the way you want,
> send it the way the spec says to. --John Levine
> --
> ## 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/