Ted Cooper wrote:
> Marc Perkel wrote:
>   
>> Another feature - something I've asked for before - is the ability to 
>> treat a 5xx error as a 4xx error. I know people have complained it is 
>> dangerous but you can put all kinds of warnings in the docs about it. 
>> Here's why.
>>     
>
> I can remember :P
>
>   
>> I'm doing front end spam filtering. People point their MX to me and I 
>> clean it and forward the good email on to them. Normally this is simple. 
>> But sometimes what happens is that when the recipient's server is no 
>> longer the lowest MX it forgets it is hosting the domain and starts 
>> rejecting 550 all the email I'm forwarding with a "relay denied" message 
>> and it creates a bounce. I need to intercept that so that I can do 
>> something else on 550 errors other than bouncing.
>>     
>
> Adding to code to break the fundamentals email, no matter how innocent
> the reason, isn't going to make it into the main source code. There's
> nothing stopping you from horribly breaking your servers although there
> are probably much better solutions.
>
> To cope with destination servers having a cow and rejecting emails for
> no good reason, and prevent end users from having servers that bounce
> anything at all, I change the envelope sender either with "errors_to" in
> a router or use SRS. As soon as an email is bounced, all email destined
> for that server gets tagged with "control = freeze" and they get an SMS
> to their contact number telling them their setup is broken. Generally,
> only 1-2 emails end up in the bounced mailbox which I can then send back
> to them when they fix their server.
>
> That was the most elegant way I could think to do it and it doesn't
> break email, and it also means that when some twat installs an anti-spam
> system on their m$ exchange box that goes insane from never seeing spam
> and starts bouncing random messages, I don't get the blame.
>
> As another alternative, you could probably use a recipient callout every
> once in a while to check it too.
>
>
>   

I do use recipient callout and that is my work around. However there are 
legitimate reasons not to always honor 5xy codes when you KNOW the 
reason it is being rejected is a mistake. I might want to redirect 
rejected messages to a file so I can look at it - or resend it later if 
the customer request it. Maybe an ignore_5xy_error command in a router 
so that instead of failing it can pass on to the next router.

Also - is there any way to actually capture the 5xy string in a variable 
that can be tested?

-- 
## List details at http://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