[EAI] mailto: was RE: Rechartering

Shawn Steele <Shawn.Steele@microsoft.com> Fri, 24 July 2009 04:49 UTC

Return-Path: <Shawn.Steele@microsoft.com>
X-Original-To: ima@core3.amsl.com
Delivered-To: ima@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 37D263A6AA0 for <ima@core3.amsl.com>; Thu, 23 Jul 2009 21:49:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.769
X-Spam-Level:
X-Spam-Status: No, score=-7.769 tagged_above=-999 required=5 tests=[AWL=-0.820, BAYES_00=-2.599, J_CHICKENPOX_52=0.6, J_CHICKENPOX_65=0.6, MIME_CHARSET_FARAWAY=2.45, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xKCgsGM9Wt6f for <ima@core3.amsl.com>; Thu, 23 Jul 2009 21:49:25 -0700 (PDT)
Received: from smtp.microsoft.com (mailc.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id 2D9A13A691C for <ima@ietf.org>; Thu, 23 Jul 2009 21:49:25 -0700 (PDT)
Received: from TK5EX14MLTC104.redmond.corp.microsoft.com (157.54.79.159) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.99.4; Thu, 23 Jul 2009 21:48:35 -0700
Received: from tk5ex14mbxc105.redmond.corp.microsoft.com ([169.254.2.179]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi; Thu, 23 Jul 2009 21:48:35 -0700
From: Shawn Steele <Shawn.Steele@microsoft.com>
To: John C Klensin <klensin@jck.com>, Harald Alvestrand <harald@alvestrand.no>
Thread-Topic: mailto: was RE: [EAI] Rechartering
Thread-Index: AQHKDBoA8N2XUvpvWEmPEljKeHTUeA==
Date: Fri, 24 Jul 2009 04:48:35 +0000
Message-ID: <CAD7705D4A93814F97D3EF00790AF0B315FDF9CC@tk5ex14mbxc105.redmond.corp.microsoft.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "ima@ietf.org" <ima@ietf.org>
Subject: [EAI] mailto: was RE: Rechartering
X-BeenThere: ima@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "EAI \(Email Address Internationalization\)" <ima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ima>, <mailto:ima-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ima>
List-Post: <mailto:ima@ietf.org>
List-Help: <mailto:ima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ima>, <mailto:ima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jul 2009 04:49:26 -0000

I think we're digressing from rechartering to mailto :)

> Then it seems to me that you are in big trouble because
> deploying EAI with Downgrade --even in the syntax-only form
> Charles suggests-- means that users will encounter it working
> one way in some places (e.g., accepting non-ASCII addresses but
> not alternate address syntax) and in other ways (e.g., accepting
> non-ASCII and alternate addresses) in others, even within the
> same system.   That is, IMO, much worse even that having
> extended (non-ASCII) addresses work in some places but not in
> others.

>> I'd agree, but john@bogus.domain.name should still work :)0

> Sure.  But unless it can be parsed out of the above, that isn't
> interesting.

I disagree.  Assuming that иван@bogus.domain.name is your Unicode alias and john@bogus.domain.name is your ASCII alias, you can always use mailto:john@bogus.domain.name and it should get to you regardless of any <> or whatnot.

I actually find the < > downgrade syntax fairly unlikely to be helpful.  Presumably your mail server understands the complete EAI syntax since you're providing both addresses.  Likewise my client knows about EAI if it understands <unicode <ASCII>>.  So pretty much the only place that <unicode <ASCII>> is going to gain anything is when my mail server is not EAI aware, but my client and your server are EAI aware.  It seems more likely to me that my server and client would both be EAI aware.  So, to me, the most likely scenarios would be when some in-between relay wasn't EAI aware, yet any such sender or receiver side relay would necessarily be EAI aware.  Relays that aren't tightly coupled with the sender/receiver side tend to be blacklisted anyway.

So to me, the <Unicode <ASCII>> syntax is mostly interesting merely to populate my address book with both addresses.

FWIW: mailto:Unicode@Unicode on Windows+Safari/IE will invoke Outlook with the address as expected.  I seriously doubt we'll block that behavior, and I think it should be permitted in the mailto draft.

>  Note that, if one had a Unicode-native system and
> simply removed the "ASCII address" restriction,
>    иван@bogus.domain.name
> would parse as the address the user would expect while
>    <иван@bogus.domain.name <john@bogus.domain.name>>
> would almost certainly get some sort of "invalid end of address"
> or "invalid unquoted space in the middle of the address" error.
> And, if it tried to "fix" that error, as many MUAs and some
> other systems would, life would get interesting.

Pretty much my feeling.

> Again, if you are in a hurry, the key question is whether we
> need downgrading.  If we don't, a large fraction of the issues
> I'm raising just disappear and I have no trouble working through
> a schedule (in your model) or a requirements plan (in Harald's).

In mailto: I don't find downgrade very helpful.  As I said, you'd have to have an updated client anyway to handle the new syntax, while mailto:unicode & mailto:ASCII are likely to work already.  I don't really object to the mailto: updates because I don't really see them having any practical impact :) and they provide some completeness.

I think downgrade is primarily interesting when I send mail from an EAI aware client to an EAI unaware client.  In that case the mail is downgraded and the recipient is able to reply to me.  In nearly every other case either the user has a Unicode address that may or may not work, or an ASCII address that works.  I think the downgrade behavior in this scenario is fairly complete.

So I think we pretty much sort of agree.  You think that without downgrade the experimental RFCs are somewhat stable.  I agree.  You ask if I think downgrade is required.  I'd split that out into downgrade when I send a mail, and "the rest of downgrade."  Downgrade when mailing from an EAI aware system to an EAI unaware system is useful and also somewhat reasonably defined, and I'd include that in my stable behavior.  mailto and most of the rest of downgrade I think is less helpful.

The scenarios I see are:
1) EAI to EAI, in which downgrade is unhelpful
2) Me giving you a Unicode address on a post-it, in which case downgrade is unhelpful (because I didn't give you the ASCII form)
3) Me giving you my ASCII address on a post-it, in which case downgrade is irrelevent because it's gonna work anyway.
4) Me mailing you from EAI aware to EAI unaware systems, in which case downgrade is helpful
    a) My mail gets to you, and if you reply to me, it'll work
    b) You probably won't get my Unicode address, but that's OK, because you don't know how to use it anyway.
    c) If you happen to have a client that can upgrade my address, then you'll have the info to send mail to me (that'll be downgraded on the way, probably)
5) Something like mailto:
    a) It'll continue to work with a downgraded ASCII address.
    b) If it happened to work with Unicode, it'll continue to work with Unicode.
    c) If it doesn't work with Unicode and is EAI unaware, then downgrade won't work anyway since it won't understand whatever has to happen to the protocol (like mailto)

So I think we're pretty close for the non-downgrade stuff.  For downgrade I think we're pretty close for the 95% useful cases.  For the remaining downgrade completeness stuff like mailto:, I agree that there're interesting issues and I don't think they're helpful for that 5%.  So I'd go ahead and standardize the non-downgrade stuff, the downgraded headers stuff, and I wouldn't worry about the other downgrade scenarios right now.

-Shawn