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

Ned Freed <> Mon, 19 April 2021 23:54 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A95A83A49E5 for <>; Mon, 19 Apr 2021 16:54:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.198
X-Spam-Status: No, score=-0.198 tagged_above=-999 required=5 tests=[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 Pq7Sw2BMRv8G for <>; Mon, 19 Apr 2021 16:54:14 -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 317953A49E3 for <>; Mon, 19 Apr 2021 16:54:14 -0700 (PDT)
Received: from by (PMDF V6.1-1 #35243) id <> for; Mon, 19 Apr 2021 16:49:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=201712; t=1618876149; bh=U+jBo2nM2qm023Nd+POoD0iQ92PzPnx6OgpHokhjbvk=; h=Cc:Date:From:Subject:In-reply-to:References:To:From; b=SUxSQ2gr3naqrSWr5zOskwferi06H3mTqO9St+sBlpJOCZA/1agX8e4BBjoEpRgWm WbcGN65tabm8j8a5RtYALZVzxH/7ePwBTn2Kv07i0YjmO705xRcHvKKpWG8iEQC1l3 a5BCHDeBK1AbFRWq3wJT5BnsS0QxpXmwp8HMSzNc=
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 <>; Mon, 19 Apr 2021 16:49:06 -0700 (PDT)
Cc: Ned Freed <>,
Message-id: <>
Date: Mon, 19 Apr 2021 16:33:40 -0700 (PDT)
From: Ned Freed <>
In-reply-to: "Your message dated Mon, 19 Apr 2021 17:58:35 -0400" <>
References: <> <20210315234648.563C0708B340@ary.qy> <> <> <>
To: John R Levine <>
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: Mon, 19 Apr 2021 23:54:19 -0000

> On Mon, 19 Apr 2021, Ned Freed wrote:
> > I'm especially interested in people's thoughts on rate limits. The problem I
> > have with rate limits is, well, how to express them. ...

> A little surveying might be in order.

> I see that Postfix lets you set both the numerator and denominator of the
> rate limit, but the denominator defaults to a minute.  It has separate
> rate limits for connections and messages.

> Exim also lets you set both, the examples use an hour.  The documentation
> says that if you use a large interval that lets people send bursts.

Sounds familiar. Oracle Messaging Server lets you set both; the denominator
default is one hour. 

We store the limits in memcache or Redis so they can apply across mutiple MTAs.
The usual limit is per-IP, but we support per-host and per-domain as well.

The demoninator in PowerMTA is a string rather than a number, possible
values are sec, s, min, m, hr, or h. It supports per-IP and per-host and
probably other stuff; my familiarity here is limited.

I assume the Exim and Postfix limits are per-host, which in most cases
translates to per-IP.

I have to say there's more consistency here than I expected.