ietf-mta-filters
[Top] [All Lists]

Re: draft-elvey-refuse-sieve-02.txt (multi-reply)

2004-08-12 12:26:19

Hi Matthew,

--On Wednesday, August 11, 2004 4:30 PM -0700 Matthew Elvey <matthew(_at_)elvey(_dot_)com> wrote:

Allowing the user to specify the response code is a bad idea -
featuritits.  It provides very little to no benefit, violates KISS, and
introduces complications.
What if the user specifies 200 as the response code?  :)
I want refuse to have all the features it must have, and no more.

Actually we are talking about enhanced error codes here, so the user cannot touch the response code (i.e. it will always be a 5xx response).

If you want to really apply KISS then I would argue that the sieve script shouldn't even have a way to set the SMTP error text, let alone the response or enhanced codes. Why not leave the SMTP error message to the SMTP server implementation? That eliminates the need to have two text parameters for ascii and non-ascii - you just need the one for 'non-ascii' which only gets used for DSN/MDN.

I also strongly dislike the idea of changing the behaviour of the command based on whether non-ascii text is present in the reason string or not.

Here is my suggestion in a little bit more detail:

Relax the behaviour of the reject command to allow it to also be used for SMTP errors and to allow generation of DSNs in addition to MDNs as needed. New syntax would be:

        reject [":auto" / ":dsn" / ":mdn"] <reason: string>
        
        optional arguments:
        
        ":auto" - the sieve implementation decides which of SMTP error, DSN
        or MDN is appropriate to use when the action is executed. This is
        also the default behaviour if none of the optional tags is
        specified. The 'reason' string is used in a DSN or MDN if one of
        those is generated. The 'reason' string is not used in any SMTP error.
        
        ":dsn" - a DSN is always generated when the reject action is
        executed. The 'reason' string is used in the DSN.
        
        ":mdn" - a MDN is always generated when the reject action is
        executed. The 'reason' string is used in the MDN.

This deals with the KISS issue and having the command do different things based on ascii/non-ascii in reason. A user has the option to explicitly require a DSN or MDN if they know they always want the reason string to get back to the sender, bypassing the possibility of a meaningless SMTP error.

--
Cyrus Daboo


<Prev in Thread] Current Thread [Next in Thread>