Re: [ietf-smtp] parsing SMTP replies

Ned Freed <> Fri, 19 March 2021 14:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3BD433A16F9 for <>; Fri, 19 Mar 2021 07:46:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ihofMvI3vrNP for <>; Fri, 19 Mar 2021 07:46:25 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 911E03A16F8 for <>; Fri, 19 Mar 2021 07:46:25 -0700 (PDT)
Received: from by (PMDF V6.1-1 #35243) id <> for; Fri, 19 Mar 2021 07:41:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=201712; t=1616164881; bh=pCUC/lagDxEOsPG/b1WzO8sQDbknKulc5mnzJes/nJk=; h=Cc:Date:From:Subject:In-reply-to:References:To:From; b=Bx/0gHHLNnQQLq6brESL1KdYvwazVxocsS511KhgOgjWEooiJEYsiXebjvCp0Xr1O 8bZ/M9Bu8eeUUptghEZp7RXpUR/unhL/fbOklHTkswTdeH5Y0QH+ValW4zDOyAdauS 7XPfWMvgr3kZljHB9z3TYELm89GiVoumfzIFS3bo=
MIME-version: 1.0
Content-transfer-encoding: 7BIT
Content-type: TEXT/PLAIN; CHARSET=us-ascii; Format=flowed
Received: from by (PMDF V6.1-1 #35243) id <>; Fri, 19 Mar 2021 07:41:19 -0700 (PDT)
Message-id: <>
Date: Fri, 19 Mar 2021 07:28:14 -0700 (PDT)
From: Ned Freed <>
In-reply-to: "Your message dated Thu, 18 Mar 2021 16:15:07 -0700" <>
References: <CF0247A810AF9482CBB155E8@PSB> <> <> <> <> <4EC92B6CFDD4220E0F692CF0@PSB> <> <> <> <> <YFPbCG/> <>
To: Michael Peddemors <>
Archived-At: <>
Subject: Re: [ietf-smtp] parsing SMTP replies
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: Fri, 19 Mar 2021 14:46:28 -0000

> On 2021-03-18 3:58 p.m., Viktor Dukhovni wrote:
> > On Thu, Mar 18, 2021 at 10:57:12AM -0700, Michael Peddemors wrote:
> >
> >> Personally, think the IETF should just stay out of recommending any
> >> limits, or advertisement of limits, we already have mechanisms via the
> >> 4xx and 5xx to tell the remote MTA what to do, and even a reason why we
> >> did it, but there is no real 'standard' that is evident out there, so
> >> why are we (IETF) attempting to set standards..
> >
> > IETF standards are there to define interoperable behaviour.  Barring a
> > change in the SMTP protocol that deprecates multi-recipient envelopes,
> > an MTA relaying a message needs to know how many recipients it can
> > reasonably expect to bundle up into a single delivery.
> >
> > The standard specifies that servers are expected to handle at least 100,
> > and that way be likely to avoid interoperability issues, since senders
> > need to be able to handle servers that support only 100 and no more.
> >
> > A server that supports fewer than 100 recipients per envelope may fail
> > to interoperate reliably with conformant sending MTAs.  If the sender
> > is in fact a source of unwanted junk, lossy email service is feature.
> > But otherwise, if low limits are applied too broadly, the receiving
> > MTA may face issues receiving multi-recipient messages in a timely
> > manner or at all.
> >
> > So I strongly take issue with "the IETF should just stay out...".
> >
> >> This should come from the industry, and right now, every MTA admin has
> >> different ideas on this, depending on their usage scenario.
> >
> > Industry gets to participate in the IETF process to help define
> > interoperable specifications.
> >

> Not trying to start a flame war, just my position on THIS particular
> issue.. As pointed out, we have interoperability already through the use
> of 4xx and 5xx, and it isn't a case where systems are currently
> advertising a limit of recipient counts, where we now need to set a
> common standard.

Not really. As has been previously pointed out in the discussions of this
matter, there are quite a few subtleties in implementing proper handling of 4YZ
replies when multiple recipients are involved. Fail to get this right and your
mail doesn't get through, and even if it does it may experience sigfniciant

> If you show me MTA's currently advertising limits on how much they
> accept, then it may be something that needs to be addressed.

But that's precisely the point: They can't currently do this in an
interoperable way because there's no standard for it.

You seem to be arguing that that a standard in this area necessarily has to
evolve from some sort of widely used nonstandard practice. If so, I strongly
disagreee: While this happens fairly often, it's actually a lousy way to do
standardization work.

> This seems to be a case of building a cart before the horse.

Of course it is. That's how standardization is done. We try to anticipate
need whenever possible. And sometimes we get it right, other times
we get it wrong.

When I first did the pipelining SMTP extension - based on work done earlier by
Marshall Rose -  I faced a high degree of pushback in the IETF from people who
didn't think there was or would ever be any interest in optimizing email
transfer to this extent.

In hindsight, do you think that effort was a waste of everyone's time?

Of course in this case we're coming to the party much later, and this makes the
problem that much harder to solve. And we may end up with something nobody
is willing to implement. You pay your money and you take your chances.

> I think this is a case of sender's who 'hope' that MTA's advertise this
> maybe?

I absolutely plan to implement the server side of this and hope that
clients pay attention so they can optimize their behavior accordingly.