Re: We need an architecture, not finger pointing.
ned+ietf@mauve.mrochek.com Wed, 28 October 2015 21:15 UTC
Return-Path: <ned+ietf@mauve.mrochek.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 39D541AD0A7 for <ietf@ietfa.amsl.com>; Wed, 28 Oct 2015 14:15:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.912
X-Spam-Level:
X-Spam-Status: No, score=-1.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RSFQl-bx-1c8 for <ietf@ietfa.amsl.com>; Wed, 28 Oct 2015 14:15:26 -0700 (PDT)
Received: from mauve.mrochek.com (mauve.mrochek.com [66.159.242.17]) by ietfa.amsl.com (Postfix) with ESMTP id B3D291AD0AF for <ietf@ietf.org>; Wed, 28 Oct 2015 14:15:18 -0700 (PDT)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01PSG4P4RHN400YFVA@mauve.mrochek.com> for ietf@ietf.org; Wed, 28 Oct 2015 14:10:22 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 8bit
Content-type: TEXT/PLAIN; charset="utf-8"
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01PSG2KND8XS013KGW@mauve.mrochek.com> (original mail from NED@mauve.mrochek.com) for ietf@ietf.org; Wed, 28 Oct 2015 14:10:12 -0700 (PDT)
From: ned+ietf@mauve.mrochek.com
Message-id: <01PSG4P2TNSY013KGW@mauve.mrochek.com>
Date: Wed, 28 Oct 2015 13:28:24 -0700
Subject: Re: We need an architecture, not finger pointing.
In-reply-to: "Your message dated Wed, 28 Oct 2015 14:40:57 -0400" <65E7B559-6B1B-46EA-9BB3-823C47E6A142@nominum.com>
References: <CAMm+LwiO02P5r=+QthsDSosTYxP2pajMcJYrv+47omJOsgMeZQ@mail.gmail.com> <562F0125.20400@gmail.com> <DM2PR0301MB06559397EF4341AFC279503BA8220@DM2PR0301MB0655.namprd03.prod.outlook.com> <alpine.OSX.2.11.1510271801250.34501@ary.lan> <20151027232802.1DF913B3F286@rock.dv.isc.org> <alpine.OSX.2.11.1510271955270.35161@ary.lan> <C3F96C5B-EF01-440B-B396-41BBD8E8D525@nominum.com> <alpine.OSX.2.11.1510281400520.39465@ary.local> <CFFE5C2F-0921-4B8F-9290-6BA0B5740D4E@nominum.com> <20151028183440.GR5570@mournblade.imrryr.org> <65E7B559-6B1B-46EA-9BB3-823C47E6A142@nominum.com>
To: Ted Lemon <ted.lemon@nominum.com>
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/4M82Xns0HsGphHPyXIQUXs8dmGM>
Cc: ietf@ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Oct 2015 21:15:28 -0000
> On Oct 28, 2015, at 2:34 PM, Viktor Dukhovni <ietf-dane@dukhovni.org> wrote: > > On Wed, Oct 28, 2015 at 02:14:23PM -0400, Ted Lemon wrote: > > > >> And this is because the SMTP store-and-forward model requires that error > >> messages be delivered asynchronously, which is another architectural > >> problem with SMTP. > > > > 1. There is no requirement to always send asynchronous bounces, > > most properly operated mail systems strive to reject > > synchronously rather than accept and then bounce. Avoidable > > backscatter is frowned upon. > > > > 2. It is not possible to *guarantee* delivery of all mail accepted > > for onward relaying. *Some* asynchronous errors are unavoidable. > > > >> If error messages could be delivered at the moment of transmission rather > >> than later, at least most of the time, this wouldn't be an issue. > > > > Most of the time, on properly configured receiving systems, errors > > are already synchronous. > This is almost never the case. Actually, in the SMTP world, it's almost always the case. The majority of email systems go to *tremendous* lengths to perform all SMTP rejections at the point of ingress to the administrative domain, because doing anything else unavoidably creates large amounts of blowback spam. And that's not acceptable for a bunch of different reasons. In the very rare cases where a check ended up having to be done somewhere past the ingress MTA at a site that uses our software, a bug filing was always the immediate result. And I can assure you we accord such bugs the highest possible priority, because we're well aware of how serious their effect can be on a site's reputation. > Sure, if you send mail to a RCPT TO: that fails, then you can get immediate > notification, but rejection of attachments generally happens after the mail has > been accepted and queued. Interestingly, you're wrong on both counts. SUBMIT-time recipient address validation is generally only achievable for addresses within an administative domain. The minute you send to someone outside your ADMD, such validation gets to be much more difficult for a variety of reasons. And the same rules apply regardless of your rejection criteria. Intra-ADMD Messages are rejected based on content analysis at submission time all the time. Messages destined for other ADMDs are not, because the rejection criteria are implemented by the other ADMD's servers and are not available to the SUBMIT server. But in such cases the rejection does happen at the ADMD ingress point. To put this another way, is it's not the nature of the check, it's who is performing the check, that determines whether or not it can be done immediately from the MUA's perspective. > In order to _bounce_ a message based on content, > you need to evaluate it before sending the "250 Message Accepted response." Yep, and that's exactly what is done. Routinely and at enormous scale. > There is a valid code for that, which I don’t remember off the top of my > head, but I don’t know of any MTAs that use it. For better or worse, the code for the MTAs handling the majority of the world's email is no longer something you can inspect. But even looking at the open source world, there are a number of milters with this capability, and there's a selection of MTAs that support milter. > The point is that it is possible following the current specs to deliver an > immediate response in the majority of cases, but that isn’t being done, and > furthermore MUAs aren’t expecting it, and so probably won’t give the user a > message that explains to them why the message was rejected. This is an > entirely solvable problem, but it is not a solved problem. Your problem is you're confusing and conflating message submission (SUBMIT) and relay (SMTP). We now talk about these as separate protocols for a reason. And as far as MUA handling of various sorts of errors, it really depends on the mail client. Some clients handle immediate errors well, others do it poorly, and some are abysmal. By the same token some clients handle nondelivery report messages well and some do not. MUAs aren't really my thing, so I can't really talk about what's common and what isn't in that space. In any case, the bottom line is you're jumping to conclusions about a vast infrastructure that's currently handling in excess of a trillion messages a day based on what appears to be little more than your personal experience. And I must say if your experience is what you say it is, it's more than a little atypical. Ned
- Re: We need an architecture, not finger pointing. Brian E Carpenter
- Re: We need an architecture, not finger pointing. l.wood
- We need an architecture, not finger pointing. Phillip Hallam-Baker
- RE: We need an architecture, not finger pointing. Christian Huitema
- RE: We need an architecture, not finger pointing. John R Levine
- Re: We need an architecture, not finger pointing. Mark Andrews
- Re: We need an architecture, not finger pointing. John R Levine
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. John R Levine
- Re: We need an architecture, not finger pointing. t.p.
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. Viktor Dukhovni
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. Viktor Dukhovni
- Re: We need an architecture, not finger pointing. John C Klensin
- Re: We need an architecture, not finger pointing. Phillip Hallam-Baker
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. ned+ietf
- Re: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. Phillip Hallam-Baker
- Re: We need an architecture, not finger pointing. Viktor Dukhovni
- Re: We need an architecture, not finger pointing. John Levine
- Re: We need an architecture, not finger pointing. ned+ietf
- RE: We need an architecture, not finger pointing. Ted Lemon
- RE: We need an architecture, not finger pointing. John C Klensin
- Re: We need an architecture, not finger pointing. Joe Touch
- Re: We need an architecture, not finger pointing. Dave Crocker
- RE: We need an architecture, not finger pointing. Ted Lemon
- RE: We need an architecture, not finger pointing. Ted Lemon
- Re: We need an architecture, not finger pointing. Doug Royer
- Re: We need an architecture, not finger pointing. Doug Royer
- Re: We need an architecture, not finger pointing. Phillip Hallam-Baker