Re: [ietf-smtp] [Emailcore] Proposed ESMTP keyword RCPTLIMIT

Richard Clayton <> Tue, 20 April 2021 14:20 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5C9113A25B7 for <>; Tue, 20 Apr 2021 07:20:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mM7KUygIm6Zb for <>; Tue, 20 Apr 2021 07:20:47 -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 C6CAF3A25B4 for <>; Tue, 20 Apr 2021 07:20:47 -0700 (PDT)
Received: from localhost ([]:43707 by with esmtp (Exim 4.94) (envelope-from <>) id 1lYrF3-0008b0-1Y for; Tue, 20 Apr 2021 14:20:41 +0000
Message-ID: <>
Date: Tue, 20 Apr 2021 15:19:15 +0100
From: Richard Clayton <>
References: <> <20210315234648.563C0708B340@ary.qy> <> <> <> <> <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: text/plain;charset=utf-8
Content-Transfer-Encoding: 8bit
X-Mailer: Turnpike Integrated Version 5.03 M <PCx$+fOD77fsCMKLLWT+duEVc2>
Archived-At: <>
Subject: Re: [ietf-smtp] [Emailcore] Proposed ESMTP keyword RCPTLIMIT
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: Tue, 20 Apr 2021 14:20:52 -0000

In message <>om>,
Laura Atkins <> writes

>> I see nothing to gain from forcing a sending server to artificially limit 
>itself; how after every N sent messages it has to close its socket, and 
>reconnect again. What is that supposed to accomplish? I don't get it.
>It’s a limit that was implemented more than a decade ago by some of the highest 
>volume receivers around. I don’t think we have to understand why they did it - 
>if even the folks who made the decision are still around. [1] We can just say: 
>this is commonly occurring behavior and it makes sense for SMTP to document it 
>and have a way to explain it. 

As you will know, the highest volume receivers have complex machine
learning systems which can -- after a number of messages -- come to the
conclusion that sending a SYN-ACK at the start was somewhat of a
mistake... use of resources is more efficient if you make such senders
(which dominate) start at the beginning again and you just refuse to let
them connect "ever again".

>From an engineering standpoint the overhead of 5xx-ing a small number of
emails per session once the sender is understood to be bad may be a
reasonable tradeoff compared with the complexity of chasing round all of
your servers (of which you have rather more than one or two) identifying
which open connections should be aborted.

Other (related) considerations apply to email submitted over
authenticated connections (you may realise as the email piles up that it
is likely that the credentials are being misused)

>What we should be doing is figuring out how to make these limits more clear to 

as I observed before -- don't expect much more than a generic statement
(which comes down to "sending N good emails is the most you can expect
to be able to manage") from such systems. Anything which revealed the
current view ("actually, you've pretty much exhausted our patience")
just is not going to happen (IMO)

richard                                                   Richard Clayton

Those who would give up essential Liberty, to purchase a little temporary 
Safety, deserve neither Liberty nor Safety. Benjamin Franklin 11 Nov 1755