Internet-Draft EAI in JSContact October 2026
Loffredo & Stepanek Expires 3 May 2027 [Page]
Workgroup:
Calendaring Extensions
Internet-Draft:
draft-loffredo-calext-jscontact-eai-00
Updates:
9553 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
M. Loffredo
IIT-CNR/Registro.it
R. Stepanek
Fastmail

Internationalized Email Addresses in JSContact

Abstract

JSContact defines the EmailAddress object for representing an email address, but its address property is restricted to the ASCII syntax of an addr-spec in RFC 5322. This document redefines that property to also support internationalized email addresses, as defined in RFC 6532. Since such values are incompatible with JSContact version 2.0, this document defines JSContact version 3.0. This document updates RFC 9553.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 4 April 2027.

▲

Table of Contents

1. Introduction

[RFC9553] defines the EmailAddress address property as an addr-spec value conforming to Section 3.4.1 of [RFC5322]. That syntax does not allow non-ASCII characters in a mailbox local-part. However, Email Address Internationalization (EAI) [RFC6530] extends Internet mail to allow UTF-8 characters in email addresses. In particular, Section 3.2 of [RFC6532] defines the relevant extensions to the syntax specified in [RFC5322].

This document extends the syntax of the EmailAddress address property to also allow internationalized email addresses and defines JSContact version 3.0, which succeeds version 2.0 [RFC9982].

2. Conventions and Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

In this document, an addr-spec that contains at least one non-ASCII character is called an internationalized email address.

3. JSContact Version 3.0

This document defines JSContact version "3.0". The values newly permitted for the address property by Section 4 can be rejected by an implementation of JSContact version 2.0 [RFC9982], so this change is backwards incompatible according to Section 1.9 of [RFC9553] and requires a new major version.

Implementations that create a Card containing an internationalized email address as defined in Section 2 MUST set the Card version property to "3.0" or a later version that permits such an address. In contrast, every Card that is valid according to JSContact version 2.0 is also valid according to version 3.0. Existing data therefore does not need to be migrated merely because version 3.0 has been defined.

Except for the change defined in this document, all JSContact version 2.0 definitions remain unchanged.

4. Redefined EmailAddress address Property

This section replaces the definition of the address property in Section 2.3.1 of [RFC9553]. Its type signature and mandatory status do not change.

OLD:

address: String (mandatory).

The email address. This MUST be an addr-spec value as defined in Section 3.4.1 of [RFC5322].

NEW:

address: String (mandatory).

The email address. This MUST be an addr-spec value as defined in Section 3.4.1 of [RFC5322], extended to support UTF-8 as specified in Section 3.2 of [RFC6532].

This document does not define normalization or comparison rules for email addresses. The syntax and interpretation of internationalized email addresses, including the representation of non-ASCII domain names, are as specified in [RFC6532] and the documents it references.

4.1. Example

{
  "@type": "Card",
  "version": "3.0",
  "language": "zh-Hans",
  "name": {
    "components": [
      { "kind": "given", "value": "测试" },
      { "kind": "surname", "value": "用户" }
    ]
  },
  "emails": {
    "e1": {
      "address": "用户@例子.example"
    }
  }
}
Figure 1: Card Containing an Internationalized Email Address

5. Implementation and Interoperability Considerations

How to interoperate with systems that do not support version 3.0 or later is specific to the protocol used to exchange JSContact data and is out of scope for this document.

Converting internationalized email addresses from and to vCard [RFC6350] is out of scope for this document; it is addressed in [I-D.ietf-calext-rfc9555bis].

6. IANA Considerations

6.1. Update to the JSContact Version Registry

IANA is requested to add the following entry to the "JSContact Version" registry in the "JSContact" registry group:

Table 1: JSContact Version Registry
Major Version Highest Minor Version Reference
3 0 This document

6.2. Update to the JSContact Properties Registry

IANA is requested to add a reference to Section 4 of this document to the "Reference or Description" field of the address property in the EmailAddress context in the "JSContact Properties" registry.

7. Security Considerations

The security considerations of Section 4 of [RFC9553] apply. In addition, the security considerations for email addresses in [RFC5322] and [RFC6532] apply.

Allowing non-ASCII characters in email addresses increases the risk that visually similar characters will be mistaken for one another. This can be used to create an address that appears to a user to be another address. User interfaces SHOULD make potentially deceptive characters or labels apparent and SHOULD provide a way to inspect the exact address. Implementations MUST preserve the complete address and MUST NOT use display similarity as evidence that two addresses identify the same mailbox.

8. References

8.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC5322]
Resnick, P., Ed., "Internet Message Format", RFC 5322, DOI 10.17487/RFC5322, , <https://www.rfc-editor.org/info/rfc5322>.
[RFC6532]
Yang, A., Steele, S., and N. Freed, "Internationalized Email Headers", RFC 6532, DOI 10.17487/RFC6532, , <https://www.rfc-editor.org/info/rfc6532>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC9553]
Stepanek, R. and M. Loffredo, "JSContact: A JSON Representation of Contact Data", RFC 9553, DOI 10.17487/RFC9553, , <https://www.rfc-editor.org/info/rfc9553>.
[RFC9982]
Stepanek, R., "JSContact Version 2.0: A JSON Representation of Contact Data", RFC 9982, DOI 10.17487/RFC9982, , <https://www.rfc-editor.org/info/rfc9982>.

8.2. Informative References

[RFC6350]
Perreault, S., "vCard Format Specification", RFC 6350, DOI 10.17487/RFC6350, , <https://www.rfc-editor.org/info/rfc6350>.
[RFC6530]
Klensin, J. and Y. Ko, "Overview and Framework for Internationalized Email", RFC 6530, DOI 10.17487/RFC6530, , <https://www.rfc-editor.org/info/rfc6530>.
[I-D.ietf-calext-rfc9555bis]
Loffredo, M. and R. Stepanek, "JSContact: Converting from and to vCard", Work in Progress, Internet-Draft, draft-ietf-calext-rfc9555bis-01, , <https://datatracker.ietf.org/doc/html/draft-ietf-calext-rfc9555bis-01>.

Authors' Addresses

Mario Loffredo
IIT-CNR/Registro.it
Via Moruzzi, 1
56124 Pisa
Italy
Robert Stepanek
Fastmail
PO Box 234
Collins St. West
Melbourne VIC 8007
Australia