Re: [ietf-smtp] SMTP status codes 251 and 551

John C Klensin <john-ietf@jck.com> Mon, 10 February 2020 17:02 UTC

Return-Path: <john-ietf@jck.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 19B2712080C for <ietf-smtp@ietfa.amsl.com>; Mon, 10 Feb 2020 09:02:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 D1pWuAnvUD7X for <ietf-smtp@ietfa.amsl.com>; Mon, 10 Feb 2020 09:02:37 -0800 (PST)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EE75012018D for <ietf-smtp@ietf.org>; Mon, 10 Feb 2020 09:02:36 -0800 (PST)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1j1CSA-000F33-Pp; Mon, 10 Feb 2020 12:02:34 -0500
Date: Mon, 10 Feb 2020 12:02:29 -0500
From: John C Klensin <john-ietf@jck.com>
To: John R Levine <johnl@taugh.com>
cc: ietf-smtp@ietf.org
Message-ID: <644DAD60BFC9A9FC2C84194A@PSB>
In-Reply-To: <alpine.OSX.2.21.99999.374.2002092153420.61082@ary.qy>
References: <alpine.OSX.2.21.99999.374.2002092153420.61082@ary.qy>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-smtp/7ni9yiGospKRcr0VpRgivt7o_3g>
Subject: Re: [ietf-smtp] SMTP status codes 251 and 551
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, 10 Feb 2020 17:02:39 -0000


--On Sunday, February 9, 2020 21:58 -0500 John R Levine
<johnl@taugh.com> wrote:

> SMTP has had the 251 and 551 status codes for a long time,
> since RFC 788 in 1981.  The 251 code means (roughly) I'll
> accept this address but I'll forward it to <x>, and 551 means
> address rejected, send it to <x> instead. The idea is that the
> sending system should note the <x> address so in future it
> sends mail directly there.
> 
> Did anyone every actually implement these, and in particular
> the sender side to remember and redirect?  You don't have to
> tell me all the reasons it's a bad idea, many of which are
> described in the RFCs.  I'm just wondering whether this was
> ever real, or it just seemed like a good idea.

John,

If you ask me about how many implementations that are currently
active and in heavy use, I don't know, but 251 and 551 were part
of the same thinking that produced the VRFY (and, to a lesser
extent, EXPN) commands and were very widely implemented and
used, even more so as many institutions, especially academic
ones, shifted from user@server.department.institution.edu
addressing to preferring user@institution.edu addressing.  They
were especially important when  some institutions were willing
to forward or otherwise handle messages for a while to the new
jobs/ institutions of faculty and staff who had left but did not
want to have to do that indefinitely and hence wanted to notify
senders to update their address books.  IIR, there were even a
few MUAs around that would pick the information up and turn it
into a "do you want to update the address in your address book?"
questions to the users.

My very vague recollection is that even at least one of the
second-generation BITNET-Internet mail gateways supported 551
functionality.  

Now, in today's far more hostile world, there are, as you
suggest, many reasons why they, perhaps especially 251, are bad
ideas on the public Internet.  I would guess that
implementations that still support those codes and the
associated actions have configuration options to turn them off,
either globally or for mail send outside the organization or
enterprise and that "off" is the preferred default.  I can
actually see some advantages for organizations that divide up
their internal mail systems by laboratory or country (and
pressure to do the latter from privacy law differences) when
people make intra-company moves.   But, no, one cannot get rid
of them on the basis of "never implemented or deployed".

best,
   john