Subject: Re: [EAI] Internationalized email addresses in vCard 4.0

From: Shawn Steele <[email-masked]>
Date: Fri, 5 Nov 2010 23:08:41 +0000

It should really just allow full UTF-8.  I don't know enough about vCard to know how that impacts compatibility or if you'd want a different field for that, but we really don't want some sort of "encoded" email address floating around.  EAI is all about UTF-8 mail, including addresses.

Again, not familiar with vCard, but note that users will likely now have 2 addresses:  The native script, and some sort of transliterated ASCII.  Eg:  Their current ASCII address and a Unicode address.  They'll need the ASCII address for back compat with legacy systems or just because people in other places aren't literate in their native script.

And it gets "worse" :)  Imagine the Mongolian businessman in Mongolia.  He gets a Mongolian email address to chat with his customers locally.  Cool.  He ALSO gets a Chinese email address to talk to his suppliers and the government.  Then he also gets a third ASCII address to talk to his importers in the US.

I can even imagine a case where someone wants 2 non-ASCII addresses and doesn't really need an ASCII address.

-Shawn

------------------------------

Message: 2
Date: Fri, 05 Nov 2010 09:55:32 -0400
From: Simon Perreault <[email-masked]>
Subject: [EAI] Internationalized email addresses in vCard 4.0
To: [email-masked]
Cc: [email-masked]
Message-ID: <[email-masked]>
Content-Type: text/plain; charset=ISO-8859-1

Hello,

We need some advice from the EAI working group.

vCard 4.0 is a file format for contact information. It's a textual format and its character set is always UTF-8. One of the information items it may contain is email addresses. See here:
http://tools.ietf.org/html/draft-ietf-vcarddav-vcardrev-13#section-6.4.2

Basically to list an email address in a vCard you will have a line looking like this:

EMAIL:[email-masked]

The ABNF for what comes after the colon is "addr-spec", which is defined in RFC 5322, section 3.4.1.

Now, addr-spec does not allow full Unicode. An internationalized address would need to be EAI/IDN-encoded, which implies that a vCard app would need to decode it to display it to a user.

Questions:
- Is this the right way to do it?
- Should we allow full Unicode, which removes the need for decoding from the vCard app and adds the need for encoding in the MUA?
- Should both forms be possible, should one form be preferred over the other, or should only one form be allowed?
- What should the ABNF look like for allowing Unicode characters in email addresses?
- Would it help us in any way if we were to specify a mailto: URL instead?

Thanks,
Simon
--
NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca
STUN/TURN server        --> http://numb.viagenie.ca
vCard 4.0               --> http://www.vcarddav.org

---

From: John C Klensin <[email-masked]>
Date: Fri, 05 Nov 2010 19:24:18 -0400

--On Friday, 05 November, 2010 23:08 +0000 Shawn Steele
<[email-masked]> wrote:

> It should really just allow full UTF-8.  I don't know enough
> about vCard to know how that impacts compatibility or if you'd
> want a different field for that, but we really don't want some
> sort of "encoded" email address floating around.  EAI is all
> about UTF-8 mail, including addresses.
> 
> Again, not familiar with vCard, but note that users will
> likely now have 2 addresses:  The native script, and some sort
> of transliterated ASCII.  Eg:  Their current ASCII address and
> a Unicode address.  They'll need the ASCII address for back
> compat with legacy systems or just because people in other
> places aren't literate in their native script.
> 
> And it gets "worse" :)  Imagine the Mongolian businessman in
> Mongolia.  He gets a Mongolian email address to chat with his
> customers locally.  Cool.  He ALSO gets a Chinese email
> address to talk to his suppliers and the government.  Then he
> also gets a third ASCII address to talk to his importers in
> the US.

I generally agree, but...

(1) It would be lots better to reference the EAI address
definition (just as they have referenced the 5322 one, and for
the same reasons) than to say "unrestricted Unicode": Even if
they amount to almost the same thing, there are rules about
special-character escaping, etc.

> I can even imagine a case where someone wants 2 non-ASCII
> addresses and doesn't really need an ASCII address.

Let's assume that I'm not in business although I might buy
things from vendors in my country, read and speak only one
language (Lower Slobbovian, for example), have a keyboard with
only that script on it, and want to communicate exclusively with
a few million of my closest friends who are in the same
situation.  I exaggerate a bit, but this is actually the most
important use case for IDNs, IMO.  And I don't need ASCII
addresses because, until I can communicate exclusively in my
language and script, the Internet basically doesn't exist for
me.  There are days on which I don't quite believe this, but it
is certainly the logical and quite obvious corollary to some of
the arguments that have been made for IDN TLDs.

    john

---

From: Shawn Steele <[email-masked]>
Date: Fri, 5 Nov 2010 23:33:00 +0000

> (1) It would be lots better to reference the EAI address definition 

Yes

>> I can even imagine a case where someone wants 2 non-ASCII addresses 
>> and doesn't really need an ASCII address.

> Let's assume that... want to communicate exclusively with a few million of 
> my closest friends who are in the same (script).

Clearly, people may only have 1 address, and it may be non-ASCII.  That's probably even desirable in many places.  

I had been talking about multiple addresses, and wanted to make clear that a single user could have multiple non-ASCII addresses.  Eg: if vCard (I don't know how it works) said "gee, let's have an ASCII address, and an EAI address", that's not sufficient because it makes assumptions that aren't necessarily true.  I think it's reasonable for users to have 1-n addresses, and that they may all be non-ASCII.

If vCard can extend to "just" use EAI style UTF-8 in existing fields, that might be OK.  It'd be nice to have multiple addresses (I sort of hope it already does :).  The catch is that probably multiples imply different mailboxes?  And with EAI we expect more than one for the same mailbox?

-Shawn

---

From: Yangwoo Ko <[email-masked]>
Date: Sat, 6 Nov 2010 10:05:38 +0900

Since storing a received email to a specific mailbox depends on
implementations/policies/user-settings of a final SMTP server, any EAI
specification should not imply the binding of an ASCII email address and a
UTF address.

On Sat, Nov 6, 2010 at 8:33 AM, Shawn Steele <[email-masked]>wrote:
(snip)

> If vCard can extend to "just" use EAI style UTF-8 in existing fields, that
> might be OK.  It'd be nice to have multiple addresses (I sort of hope it
> already does :).  The catch is that probably multiples imply different
> mailboxes?  And with EAI we expect more than one for the same mailbox?
> (snip)
>

---

From: Shawn Steele <[email-masked]>
Date: Sat, 6 Nov 2010 06:40:54 +0000

However it the final SMTP server (or it's agent) were the one creating the vCard, it would know which ASCII/Unicode addresses matched.

I think it's OK for a vCard to not know that [email-masked]<mailto:[email-masked]> and [email-masked]<mailto:[email-masked]> go to the same mailbox, the user choosing the address can figure out if it's their work or hotmail or home account or whatever.

-Shawn

 
http://blogs.msdn.com/shawnste

________________________________
From: [email-masked] [[email-masked]] on behalf of Yangwoo Ko [[email-masked]]
Sent: Friday, November 05, 2010 6:05 PM
To: Shawn Steele
Cc: John C Klensin; [email-masked]
Subject: Re: [EAI] Internationalized email addresses in vCard 4.0

Since storing a received email to a specific mailbox depends on implementations/policies/user-settings of a final SMTP server, any EAI specification should not imply the binding of an ASCII email address and a UTF address.

On Sat, Nov 6, 2010 at 8:33 AM, Shawn Steele <[email-masked]<mailto:[email-masked]>> wrote:
(snip)
If vCard can extend to "just" use EAI style UTF-8 in existing fields, that might be OK.  It'd be nice to have multiple addresses (I sort of hope it already does :).  The catch is that probably multiples imply different mailboxes?  And with EAI we expect more than one for the same mailbox?
(snip)

---

From: John C Klensin <[email-masked]>
Date: Sat, 06 Nov 2010 03:50:44 -0400

--On Saturday, 06 November, 2010 06:40 +0000 Shawn Steele
<[email-masked]> wrote:

> However it the final SMTP server (or it's agent) were the one
> creating the vCard, it would know which ASCII/Unicode
> addresses matched.

So, presumably, would the user.

> I think it's OK for a vCard to not know that
> [email-masked]<mailto:[email-masked]>
> and [email-masked]<mailto:[email-masked]> go
> to the same mailbox, the user choosing the address can figure
> out if it's their work or hotmail or home account or whatever.

I think there is no possible way that anyone but the user or
delivery SMTP server can know, nor that anyone else should care.
Note that there is no way that you can know whether
[email-masked], [email-masked], and [email-masked] go to
the same mailbox unless I tell you and that I might use
different of them in different vCards (or different RFCs, etc.)

   john

---

From: Simon Perreault <[email-masked]>
Date: Sat, 06 Nov 2010 12:05:19 -0400

Shawn Steele wrote, on 11/05/2010 07:08 PM:
> Again, not familiar with vCard, but note that users will likely now have 2
> addresses:  The native script, and some sort of transliterated ASCII.  Eg:
> Their current ASCII address and a Unicode address.  They'll need the ASCII
> address for back compat with legacy systems or just because people in other

Just FYI: any number of email addresses may be specified in a vCard.

> And it gets "worse" :)  Imagine the Mongolian businessman in Mongolia.  He
> gets a Mongolian email address to chat with his customers locally.  Cool.  He
> ALSO gets a Chinese email address to talk to his suppliers and the
> government.  Then he also gets a third ASCII address to talk to his importers
> in the US.

I suppose this would be taken care of by using the LANGUAGE parameter, like this:

EMAIL;LANGUAGE=mn:<address in Mongolian goes here>
EMAIL;LANGUAGE=zh:<address in Chinese goes here>
EMAIL;LANGUAGE=en:<address in English goes here>

Simon

---

From: John C Klensin <[email-masked]>
Date: Sat, 06 Nov 2010 14:09:02 -0400

--On Saturday, 06 November, 2010 12:05 -0400 Simon Perreault
<[email-masked]> wrote:

>> likely now have 2 addresses:  The native script, and some
>...

And, of course, one can have any number of EMAIL addresses in
the same or different languages.  So I don't see any problem in
this area.  A program trying to get from a vCard record to a
mailing address might have an interesting heuristic problem if
it wanted to choose just one, but that problem exists for
ASCII-only addresses (i.e., is nothing new) and is not a problem
that either the vCard or EAI WGs need to solve.

   john