Re: [exim] Fake Reject vs. Discard

Top Page
Delete this message
Reply to this message
Author: Ted Cooper
Date:  
To: 'Exim-users@exim.org'
Subject: Re: [exim] Fake Reject vs. Discard
Marc Perkel wrote:
>
> Ian Eiloart wrote:
>> --On 20 August 2007 20:38:10 +1000 Ted Cooper <eximX1211@???>
>> wrote:
>>
>>
>>> Ian Eiloart wrote:
>>>
>>>> --On 19 August 2007 15:35:39 +1000 Ted Cooper <eximX1211@???>
>>>> wrote:
>>>>
>>>>
>>>>> "If you discard all the recipients either individually at RCPT TO:, or
>>>>> all together at MAIL FROM: or DATA, then the delivery will not happen
>>>>> and all you'll get it a log line. The sender does get the "550-Your
>>>>> message .." and not a 220."
>>>>>
>>>>> ie. They both win. Yes, you get a fake reject message, but no you don't
>>>>> get a delivery if all recipients are discarded.
>>>>>
>>>> Is that different from a real rejection? You say "I'm not going to
>>>> deliver this message", then you don't deliver it. Sounds to me like
>>>> "Fake reject" + "Discard" = "Real reject", even if you've discarded at
>>>> a time when you could no longer do a real rejection.
>>>>
>>>>
>>> It's a 550 reject, anything after that is just text to help assist
>>> humans. It could say "Purple money dishwasher" for all the sending MTA
>>> cares. So there's no difference between a complete reject vs fakereject
>>> in regards to SMTP. What you do it once it's fakerejected by your system
>>> is entirely up to you. If you discard all the recipients first, you will
>>> not get a message to play with.
>>>
>>>
>> Yes, I understand that. I guess I'm saying that, if you discard a message
>> after issuing a "fake reject", then the reject isn't fake any more.



In name only on your Exim server only .. yep! It was never really fake
in the first place, we were just cheating and stealing a copy of the mail.


> I was a little confused about the process. I thought that perhaps
> switching from ACCEPT to DISCARD would somehow cancel the fake reject.
>
> It would be nice to have a feature that does cancel a fake reject.


Drop all the recipients and change the message returned in the data stage:

discard control = fakereject/Message rejected because of weird smell.

Equivalent to canceled - I don't actually know the real message that's
meant to be returned.

To the outside world, the only difference when you enable fakereject is
the error string returned at 550 which is completely customizable anyway.

In my setup I keep track of messages that are going to be fakerejected
with an ACL variable which changes which router/transport is used. If I
were to drop all the recipients, then the message never reaches the
router/transport and it is blackholed. I don't return a message saying
"your message has been kept to review", I just tell them they're message
has been eaten and to contact the postmaster.


--
The Exim Manual
http://www.exim.org/docs.html
http://www.exim.org/exim-html-current/doc/html/spec_html/index.html