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

Ned Freed <ned.freed@mrochek.com> Mon, 19 April 2021 23:54 UTC

Return-Path: <ned.freed@mrochek.com>
X-Original-To: ietf-smtp@ietfa.amsl.com
Delivered-To: ietf-smtp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A95A83A49E5 for <ietf-smtp@ietfa.amsl.com>; Mon, 19 Apr 2021 16:54:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.198
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mrochek.com
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 Pq7Sw2BMRv8G for <ietf-smtp@ietfa.amsl.com>; Mon, 19 Apr 2021 16:54:14 -0700 (PDT)
Received: from plum.mrochek.com (plum.mrochek.com [172.95.64.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 317953A49E3 for <ietf-smtp@ietf.org>; Mon, 19 Apr 2021 16:54:14 -0700 (PDT)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01RY292W7FDS00B41W@mauve.mrochek.com> for ietf-smtp@ietf.org; Mon, 19 Apr 2021 16:49:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mrochek.com; 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 mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01RY1UKIVTTC0085YQ@mauve.mrochek.com>; Mon, 19 Apr 2021 16:49:06 -0700 (PDT)
Cc: Ned Freed <ned.freed@mrochek.com>, ietf-smtp@ietf.org
Message-id: <01RY292U84V40085YQ@mauve.mrochek.com>
Date: Mon, 19 Apr 2021 16:33:40 -0700 (PDT)
From: Ned Freed <ned.freed@mrochek.com>
In-reply-to: "Your message dated Mon, 19 Apr 2021 17:58:35 -0400" <4fe09f20-66ee-b3c-94bb-be654b8354bc@taugh.com>
References: <cone.1615844513.220592.51342.1004@monster.email-scan.com> <20210315234648.563C0708B340@ary.qy> <CAO=DXp-+fJwsNegzu3zgwDLtCcSF104AUF=i+_GMgSYVBAKjWg@mail.gmail.com> <01RY24IJ225Q0085YQ@mauve.mrochek.com> <4fe09f20-66ee-b3c-94bb-be654b8354bc@taugh.com>
To: John R Levine <johnl@taugh.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-smtp/-cLbeD3tFLaKOOCaR-0g_ZgcobE>
Subject: Re: [ietf-smtp] [Emailcore] Proposed ESMTP keyword RCPTLIMIT
X-BeenThere: ietf-smtp@ietf.org
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\]" <ietf-smtp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf-smtp/>
List-Post: <mailto:ietf-smtp@ietf.org>
List-Help: <mailto:ietf-smtp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=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.

				Ned