Re: [ietf-smtp] Make username optional in email addresses

John C Klensin <john-ietf@jck.com> Fri, 17 February 2023 22:38 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 A103BC1516F8 for <ietf-smtp@ietfa.amsl.com>; Fri, 17 Feb 2023 14:38:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P7SLnM4w2GHc for <ietf-smtp@ietfa.amsl.com>; Fri, 17 Feb 2023 14:38:30 -0800 (PST)
Received: from bsa2.jck.com (bsa2.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 900B2C14F693 for <ietf-smtp@ietf.org>; Fri, 17 Feb 2023 14:38:30 -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 1pT9N6-0003sM-C5; Fri, 17 Feb 2023 17:38:28 -0500
Date: Fri, 17 Feb 2023 17:38:22 -0500
From: John C Klensin <john-ietf@jck.com>
To: Russ Allbery <eagle@eyrie.org>, Scott Antipa <scottantipa@gmail.com>
cc: ietf-smtp@ietf.org
Message-ID: <F4673C48B3A2755902017FAA@PSB>
In-Reply-To: <00442A7D2E63E30765843D13@PSB>
References: <CAG6nNWe_7-JN4mzTcsfHBj-cO9qO8twXr+GOg=kiQ8e5XataPA@mail.gmail.com> <87mt5cezkb.fsf@hope.eyrie.org> <00442A7D2E63E30765843D13@PSB>
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/ffZ2PMRv3yDJTR0C6bLH5co22Vs>
Subject: Re: [ietf-smtp] Make username optional in email addresses
X-BeenThere: ietf-smtp@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 17 Feb 2023 22:38:32 -0000

Sorry, should have added that, if you are interested in mail to
domain owners rather than mail to everyone using the domain, you
could think about a role address/ keyword for that too.  "OWNER"
or "DomainOwner" come to mind.  That would have an added
advantage: distinguishing between Owner@example.com and
AllAddressesAt@example.com would avoid the ambiguity as to which
one was intended by @example.com.

And, fwiw, I agree with Dave.  The SMTP extension model
introduced in RFC 1425 and eventually incorporated into RFC 2831
and 5321 would have been a much better example for Russ to use.
For multiple reasons, I _really_ would not recommend it but, in
theory, you could do what you are after while minimizing
rejections with syntax errors by inventing an "NLPP"
(null-local-parts-permitted) SMTP extension and seeing who
accepts it.  You can infer many of the reasons why that would be
a bad idea from Russ's note.

   john


--On Friday, February 17, 2023 17:26 -0500 John C Klensin
<john-ietf@jck.com> wrote:

> Russ,
> 
> At least IMO, excellent explanation.
> 
> Scott, 
> 
> If I understand what you are trying to accomplish, there is
> another way it could be done without any of the disruptions or
> complexities Russ and Dave identified.  Define a special "role"
> address akin to "Postmaster" (in RFC 5321), the suggestions of
> RFC 763, or the more detailed specification and useful analysis
> in RFC 2142.  Give it a mnemonic name with reasonable odds of
> not being confused with a conventional user name, e.g.,
> "EveryoneAt" or "AllUsersAt".  Then see if you can persuade
> people running SMTP Servers for domains of interest to treat
> those role addresses as distribution addresses for all such
> users (or any group of users they might select -- I'm thinking
> about local opt-out rules here).
> 
> That would give you something almost completely non-disruptive.
> It would conform to existing syntax rules and would did not
> require any changes in existing mail protocols or to systems
> sending or relaying mail messages.  Receiving systems that got
> such a message would either handle as you specify, treat it as
> undeliverable, of, if the sender were unlucky, deliver it to a
> mailbox of that name (the reason for "not being confused" above
> -- I wouldn't want to use "alice" or "bob" for that address
> convention.  If you found yourself getting any traction at all,
> I'd recommend a really short RFC updating RFC 2142 to include
> this additional type of name and the name itself and have
> trouble imagining anyone violently objecting.
> 
> If there is some reason to not do that, I believe your document
> is probably in need of a section explaining what it is.
> 
> best,
>   john
> 
> 
> 
> 
> --On Friday, February 17, 2023 13:45 -0800 Russ Allbery
> <eagle@eyrie.org> wrote:
> 
>> Scott Antipa <scottantipa@gmail.com> writes:
>> 
>>> As Dave mentioned to me, this is of course a gigantic change
>>> which would require changes to all the parsers out there in
>>> the wild. I'm not expecting to just get a thumbs up here
>>> immediately. But I'd like to spark a conversation and get
>>> feedback.
>> 
>> Talking to standards bodies is often depressing since mostly
>> they tell you all the things your idea will break.  :)
>> 
>> I think there are two ways of interpreting your idea.  One is
>> to provide some sort of address-book lookup feature that would
>> allow people to use bare domains in email clients, and the
>> email client would then convert that to a traditional email
>> message.  I have no strong opinions about that; as a purely
>> client feature, it would have no affect on the protocol. It's
>> "just" a UI change to email clients from the perspective of
>> the email standards such as SMTP, although there would
>> probably need to be some ancillary standards defined around it
>> for how email clients should convert domain names into email
>> addresses.
>> 
>> The other way is to interpret the proposal as a proposal for a
>> syntax change to the email address in the SMTP and email
>> message format protocols.  I'm not sure there's much feedback
>> people are going to be able to give you on that version of
>> your proposal other than "making this significant of a change
>> to email protocols is effectively impossible."
>> 
>> The installed base of software that parses and manipulates
>> email messages is almost undescribably huge, and this sort of
>> fundamental syntax change will break a large amount of it.
>> Most of it is never updated even to deal with major ongoing
>> issues when the changes are minor.  This sort of very
>> fundamental change to a basic syntax element seems essentially
>> certain to stall out at a very small percentage of the
>> software in use, and thus never become usable in practice.
>> 
>> It's going to be vastly easier to work with the existing email
>> address syntax, using one of the short email patterns you
>> already see today (me@bobsmith.com or mail@bobsmith.com or
>> whatever).
>> 
>> Email message format is unusually difficult to modify in this
>> sort of way even by the standards of IETF protocols because
>> it's a network store and forward protocol rather than a
>> point-to-point protocol.  You can't negotiate a new message
>> format between just the sender and the recipient; every
>> intermediate server through which the message passes has an
>> opinion about the syntax of the email address.  So even if you
>> could change SMTP to support this format by introducing a new
>> version similar to what HTTP did with HTTP/2 (and it would
>> require that level of effort to change the syntax of the email
>> address, since it's so foundational), you still can't
>> practically change the message format without introducing a
>> truly enormous gatewaying and down-conversion problem.
>> 
>> I think a comparable change would be MIME, which introduced
>> structured email and non-ASCII character sets, and that change
>> took decades to be reliably usable (one could argue that it's
>> still not 100% reliable) despite a use case that was necessary
>> to solve for email to continue to be relevant at all.  And in
>> a way this change as stated would be even more disruptive than
>> the introduction of MIME, since MIME remained
>> backward-compatible in header formats (although old software
>> would see encoded nonsense in some cases).
>