Re: [ietf-smtp] parsing SMTP replies (was: Proposed ESMTP keyword RCPTLIMIT}

Alessandro Vesely <vesely@tana.it> Thu, 18 March 2021 10:37 UTC

Return-Path: <vesely@tana.it>
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 44D5D3A2786 for <ietf-smtp@ietfa.amsl.com>; Thu, 18 Mar 2021 03:37:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.821
X-Spam-Level:
X-Spam-Status: No, score=-2.821 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, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1152-bit key) header.d=tana.it
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 TTy6_h6WD4w9 for <ietf-smtp@ietfa.amsl.com>; Thu, 18 Mar 2021 03:37:33 -0700 (PDT)
Received: from wmail.tana.it (wmail.tana.it [62.94.243.226]) (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 371673A2785 for <ietf-smtp@ietf.org>; Thu, 18 Mar 2021 03:37:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tana.it; s=delta; t=1616063842; bh=b4Yy5Ppx9xUCsKJfS/48b6c+J/wZtf+udmIaSP4QM7A=; l=2238; h=To:References:From:Date:In-Reply-To; b=B91DACHBQNLypUHMxLHX8nqrsRknjs2cGjvLnlsKG5k9WFdkNzzNnfFTaC2e3U9+c 9NfzHh01jdStV0Vz8JXh2ojSXrKLyeQTjY+g+2Ra04c0zXOJA4CqScjP4RiooLFzjM 3Jer88jU8mTjqLDv8yC29qTk6ue3+VzmQL4/ZIFKUstjTGL5uL7NXl1ZPdoRw
Authentication-Results: tana.it; auth=pass (details omitted)
Original-From: Alessandro Vesely <vesely@tana.it>
Received: from [172.25.197.111] (pcale.tana [172.25.197.111]) (AUTH: CRAM-MD5 uXDGrn@SYT0/k, TLS: TLS1.3, 128bits, ECDHE_RSA_AES_128_GCM_SHA256) by wmail.tana.it with ESMTPSA id 00000000005DC0B0.0000000060532D62.000039CD; Thu, 18 Mar 2021 11:37:22 +0100
To: Ned Freed <ned.freed@mrochek.com>, ietf-smtp@ietf.org
References: <77B21231-47EA-4CA6-A665-5880B6A54D4D@wordtothewise.com> <20210312203224.F3739701E4C5@ary.qy> <01RWOUM3HK0Q005PTU@mauve.mrochek.com> <e6e5d166-ded5-b6c0-db9a-57c44e8bd92a@dcrocker.net> <01RWOX4A2CZG005PTU@mauve.mrochek.com> <CF0247A810AF9482CBB155E8@PSB> <01RWP85B98S4005PTU@mauve.mrochek.com> <20210316061139.GA26514@kiel.esmtp.org> <0d5912b5-6aba-728b-00de-a75397ad8ad8@tana.it> <01RWRTQUWB8Q005PTU@mauve.mrochek.com>
From: Alessandro Vesely <vesely@tana.it>
Message-ID: <23c8a0fb-408e-3756-83bf-233c7e40197a@tana.it>
Date: Thu, 18 Mar 2021 11:37:21 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0
MIME-Version: 1.0
In-Reply-To: <01RWRTQUWB8Q005PTU@mauve.mrochek.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-smtp/GG2gK-Pm_tmj4bX5tAMF15xiON4>
Subject: Re: [ietf-smtp] parsing SMTP replies (was: 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: Thu, 18 Mar 2021 10:37:35 -0000

On Wed 17/Mar/2021 18:44:04 +0100 Ned Freed wrote:
> 
>> +GREYLISTING Limit
>> +-------------
>> +
>> +Name: GREYLISTING
>> +
>> +Value syntax:  %x31-39 0*5DIGIT ; 0 not allowed, 6 digit maximum
>> +
>> +Description: GREYLISTING specifies the minimum number of seconds
>> +that a client should wait before retrying to submit the same message.
>> +The presence of this limit implies that the client MAY receive a
>> +transient 4xx response.  See {{GREYLISTING}}
> 
> [...]
> 
> That said, I don't see why this limit necessarily has anything to do  with
> greylisting. It's about how to long to wait before retying after a transient
> failure, irrespective of why the delay occurred. If could be greylisting, it
> could be exceeding a rate or connection limit, it could be one of the sources
> for validating recipients is down, it could be the spam filtering system is
> down, etc. RETRYDELAY would be a much better name for it.


Good point.  By observing RCPTLIMIT, a client can avoid re-queuing delays.  It 
stops just before reaching the limit and then starts a new transaction right 
away.  However, this won't work if 452 was issued to split recipients according 
to a different criterion than the local max number.


> The question then becomes is such an announcement - one that applies to all
> transient failures, useful.


Applying RETRYDELAY to all transient failures doesn't seem to me to be the 
right thing to do.  However, distinguishing among transient failures conflicts 
with the dog rule.


> My sense is that the utility is marginal given the lengthy list of possible
> causes and the fact that the best retry period for different causes could be
> very different, which I note that the approach taken in the original
> proposal allows.

In this moment I'm unable to think of varying delay lengths.  Some 
considerations, for example how often a server updates some DCC database or how 
long does it take to reboot, may suggest a retry interval common to all 
transient failures that require a delay.  That is, most 4xx, except splitting 
recipients, where immediate retry is better.  So, two categories may suffice.

How about NORETRYDELAY=452?  (Just kidding...)


Best
Ale
--