Re: [ietf-smtp] DSNs

John C Klensin <> Sat, 25 April 2020 22:15 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B26473A0B50 for <>; Sat, 25 Apr 2020 15:15:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Xx--25quYV4Y for <>; Sat, 25 Apr 2020 15:15:21 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 84A6D3A0B4F for <>; Sat, 25 Apr 2020 15:15:21 -0700 (PDT)
Received: from [] (helo=PSB) by with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <>) id 1jST4n-000Fnp-4s; Sat, 25 Apr 2020 18:15:09 -0400
Date: Sat, 25 Apr 2020 18:15:04 -0400
From: John C Klensin <>
To: Ned Freed <>, Dave Crocker <>
cc:, Viktor Dukhovni <>
Message-ID: <183366B964EB38083BA0AE1B@PSB>
In-Reply-To: <>
References: <20200409230011.F039B17637D0@ary.qy> <alpine.OSX.2.22.407.2004091945050.80689@ary.qy> <> <> <r7fq4k$1nm5$> <C1A5FAAA942E0F363CA177C0@PSB> <> <> <> <>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Scanned: No (on; SAEximRunCond expanded to false
Archived-At: <>
Subject: Re: [ietf-smtp] DSNs
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of issues related to Simple Mail Transfer Protocol \(SMTP\) \[RFC 821, RFC 2821, RFC 5321\]" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 25 Apr 2020 22:15:26 -0000

--On Saturday, April 25, 2020 14:15 -0700 Ned Freed
<> wrote:


>> Perhaps this goes to the challenge of a specification's
>> distinguishing its essential core, versus
>> desired-but-not-required enhancements.
> Completely inapplicable in this case, I'm afraid. One of the
> primary goals of
> the NOTARY effort, if not the primary goal, was feature parity
> with X.400.
> And the operational model for X.400 was success receipts as
> the default.
> So the feature had to be part of the core. 
> But thinkgs change. X.400 collapsed - a casualty of even more
> serious
> design errors than success DSNs. Spam became email's biggest
> problem,
> which made NOTIFY=SUCCESS less desirable. Privacy concerns
> also arose that
> weren't even on the radar at the time this work was done.
>> Fail to support all of the core and it's not valid to claim
>> to support the specification.
> It's not a question of support, it's a question of operational
> policy. Every
> implementation of the DSN extension I've seen has no problem
> supporting
> NOTIFY=SUCCESS. THe debate has been over whether or not it's
> legitimate to have
> an operational policy of bouncing messages that ask for it.
> Of course there's also the issue of whether or not the
> extension, eith
> or without NOTIFY=SUCESS, is of sufficient value to enable.
> Some people
> see little value here, and the NOTIFY=SUCCESS situation is
> sufficiently
> bothersome to tip the scale to dropping the extension.
>> The danger of a pick-and-choose free-for-all is that a claim
>> to support a specification provides little useful information.
> Dave, we're talking about having an operational policy of
> restricing the use of
> exactly one feature which made sense when the standard was
> defined but has
> issues today. This is hardly a pick-and-choose free-for-all.

Agreed.   And FWIW, it seems to me that much, if not most, of
this discussion is not about whether a feature can be
implemented, has been implemented, or interoperates but about a
potentially useful (but so far non-existent, at least in the
IETF) document that says "it would be a good idea to enable
feature A if circumstances and considerations X apply and to not
do so if circumstances and conditions Y apply".  Even if either
X or Y exist all the time or are null, that sort of statement
would likely be useful.  And that is a suggestion for an
Applicability Statement, one that I hope someone who cares will
start writing, not a fundamental flaw or error in the Technical

Just my opinion, of course.