Skip to content

Latest commit

 

History

History
419 lines (244 loc) · 11.4 KB

ianaconsiderations.mdown

File metadata and controls

419 lines (244 loc) · 11.4 KB

IANA considerations

JMAP capability registration for "mail"

IANA will register the "mail" JMAP Capability as follows:

Capability Name: urn:ietf:params:jmap:mail

Specification document: this document

Intended use: common

Change Controller: IETF

Security and privacy considerations: this document, section 9

JMAP capability registration for "submission"

IANA will register the "submission" JMAP Capability as follows:

Capability Name: urn:ietf:params:jmap:submission

Specification document: this document

Intended use: common

Change Controller: IETF

Security and privacy considerations: this document, section 9

JMAP capability registration for "vacationresponse"

IANA will register the "vacationresponse" JMAP Capability as follows:

Capability Name: urn:ietf:params:jmap:vacationresponse

Specification document: this document

Intended use: common

Change Controller: IETF

Security and privacy considerations: this document, section 9

IMAP and JMAP keywords registry

This document makes two changes to the IMAP keywords registry as defined in [@!RFC5788].

First, the name of the registry is changed to the "IMAP and JMAP keywords Registry".

Second, a scope column is added to the template and registry indicating whether a keyword applies to IMAP-only, JMAP-only, both, or reserved. All keywords presently in the IMAP keyword registry will be marked with a scope of both. The "reserved" status can be used to prevent future registration of a name that would be confusing if registered. Registration of keywords with scope 'reserved' omit most fields in the registration template (see registration of $recent below for an example); such registrations are intended to be infrequent.

IMAP clients MAY silently ignore any keywords marked JMAP-only or reserved in the event they appear in protocol. JMAP clients MAY silently ignore any keywords marked IMAP-only or reserved in the event they appear in protocol.

New JMAP-only keywords are registered in the following sub-sections. These keywords correspond to IMAP system keywords and are thus not appropriate for use in IMAP. These keywords can not be subsequently registered for use in IMAP except via standards action.

Registration of JMAP keyword '$draft'

This registers the JMAP-only keyword '$draft' in the "IMAP and JMAP keywords Registry".

Keyword name: $draft

Scope: JMAP-only

Purpose (description): This is set when the user wants to treat the message as a draft the user is composing. This is the JMAP equivalent of the IMAP \Draft flag.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: Automatic. If the account has a mailbox marked with the \Drafts special use [RFC6154], setting this flag MAY cause the message to appear in that mailbox automatically. Certain JMAP computed values such as unreadEmails will change as a result of changing this flag. In addition, mail clients typically will present draft messages in a composer window rather than a viewer window.

When/by whom the keyword is set/cleared: This is typically set by a JMAP client when referring to a draft message. One model for draft emails would result in clearing this flag in an EmailSubmission/set operation with an onSuccessUpdateEmail attribute. In a mailstore shared by JMAP and IMAP, this is also set and cleared as necessary so it matches the IMAP \Draft flag.

Related keywords: None

Related IMAP/JMAP Capabilities: SPECIAL-USE [RFC6154]

Security Considerations: A server implementing this keyword as a shared keyword may disclose that a user considers the message a draft message. This information would be exposed to other users with read permission for the mailbox keywords.

Published specification (recommended): this document

Person & email address to contact for further information: (editor-contact-goes-here)

Intended usage: COMMON

Owner/Change controller: IESG

Registration of JMAP keyword '$seen'

This registers the JMAP-only keyword '$seen' in the "IMAP and JMAP keywords Registry".

Keyword name: $seen

Scope: JMAP-only

Purpose (description): This is set when the user wants to treat the message as read. This is the JMAP equivalent of the IMAP \Seen flag.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: Advisory. However, certain JMAP computed values such as unreadEmails will change as a result of changing this flag.

When/by whom the keyword is set/cleared: This is set by a JMAP client when it presents the message content to the user; clients often offer an option to clear this flag. In a mailstore shared by JMAP and IMAP, this is also set and cleared as necessary so it matches the IMAP \Seen flag.

Related keywords: None

Related IMAP/JMAP Capabilities: None

Security Considerations: A server implementing this keyword as a shared keyword may disclose that a user considers the message to have been read. This information would be exposed to other users with read permission for the mailbox keywords.

Published specification (recommended): this document

Person & email address to contact for further information: (editor-contact-goes-here)

Intended usage: COMMON

Owner/Change controller: IESG

Registration of JMAP keyword '$flagged'

This registers the JMAP-only keyword '$flagged' in the "IMAP and JMAP keywords Registry".

Keyword name: $flagged

Scope: JMAP-only

Purpose (description): This is set when the user wants to treat the message as flagged for urgent/special attention. This is the JMAP equivalent of the IMAP \Flagged flag.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: Automatic. If the account has a mailbox marked with the \Flagged special use [RFC6154], setting this flag MAY cause the message to appear in that mailbox automatically.

When/by whom the keyword is set/cleared: JMAP clients typically allow a user to set/clear this flag as desired. In a mailstore shared by JMAP and IMAP, this is also set and cleared as necessary so it matches the IMAP \Flagged flag.

Related keywords: None

Related IMAP/JMAP Capabilities: SPECIAL-USE [RFC6154]

Security Considerations: A server implementing this keyword as a shared keyword may disclose that a user considers the message as flagged for urgent/special attention. This information would be exposed to other users with read permission for the mailbox keywords.

Published specification (recommended): this document

Person & email address to contact for further information: (editor-contact-goes-here)

Intended usage: COMMON

Owner/Change controller: IESG

Registration of JMAP keyword '$answered'

This registers the JMAP-only keyword '$answered' in the "IMAP and JMAP keywords Registry".

Keyword name: $answered

Scope: JMAP-only

Purpose (description): This is set when the message has been answered.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: Advisory.

When/by whom the keyword is set/cleared: JMAP clients typically set this when submitting a reply or answer to the message. It may be set by the EmailSubmission/set operation with an onSuccessUpdateEmail attribute. In a mailstore shared by JMAP and IMAP, this is also set and cleared as necessary so it matches the IMAP \Answered flag.

Related keywords: None

Related IMAP/JMAP Capabilities: None

Security Considerations: A server implementing this keyword as a shared keyword may disclose that a user has replied to a message. This information would be exposed to other users with read permission for the mailbox keywords.

Published specification (recommended): this document

Person & email address to contact for further information: (editor-contact-goes-here)

Intended usage: COMMON

Owner/Change controller: IESG

Registration of '$recent' keyword

This registers the keyword '$recent' in the "IMAP and JMAP keywords Registry".

Keyword name: $recent

Scope: reserved

Purpose (description): This keyword is not used to avoid confusion with the IMAP \Recent system flag.

Published specification (recommended): this document

Person & email address to contact for further information: (editor-contact-goes-here)

Owner/Change controller: IESG

Registration of "inbox" role in

This registers the JMAP-only "inbox" attribute in the "IMAP Mailbox Name Attributes Registry", as established in [@!RFC8457].

Attribute Name: Inbox

Description: New mail is delivered here by default.

Reference: This document, section 10.5.

Usage Notes: JMAP only

JMAP Error Codes registry

The following sub-sections register several new error codes in the JMAP Error Codes registry, as defined in [@!I-D.ietf-jmap-core].

mailboxHasChild

JMAP Error Code: mailboxHasChild

Intended use: common

Change controller: IETF

Reference: This document, section 2.5

Description: The mailbox still has at least one child mailbox. The client MUST remove these before it can delete the parent mailbox.

mailboxHasEmail

JMAP Error Code: mailboxHasEmail

Intended use: common

Change controller: IETF

Reference: This document, section 2.5

Description: The mailbox has at least one message assigned to it and the onDestroyRemoveMessages argument was false.

blobNotFound

JMAP Error Code: blobNotFound

Intended use: common

Change controller: IETF

Reference: This document, section 4.6

Description: At least one blob id referenced in the object doesn’t exist.

tooManyKeywords

JMAP Error Code: tooManyKeywords

Intended use: common

Change controller: IETF

Reference: This document, section 4.6

Description: The change to the email’s keywords would exceed a server-defined maximum.

tooManyMailboxes

JMAP Error Code: tooManyMailboxes

Intended use: common

Change controller: IETF

Reference: This document, section 4.6

Description: The change to the email’s mailboxes would exceed a server-defined maximum.

invalidEmail

JMAP Error Code: invalidEmail

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The email to be sent is invalid in some way.

tooManyRecipients

JMAP Error Code: tooManyRecipients

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The RFC5321 envelope (supplied or generated) has more recipients than the server allows.

noRecipients

JMAP Error Code: noRecipients

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The RFC5321 envelope (supplied or generated) does not have any rcptTo emails.

invalidRecipients

JMAP Error Code: invalidRecipients

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The rcptTo property of the RFC5321 envelope (supplied or generated) contains at least one rcptTo value which is not a valid email for sending to.

forbiddenMailFrom

JMAP Error Code: forbiddenMailFrom

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The server does not permit the user to send an email with the RFC5321 envelope From.

forbiddenFrom

JMAP Error Code: forbiddenFrom

Intended use: common

Change controller: IETF

Reference: This document, sections 6.3 and 7.5

Description: The server does not permit the user to send an email with the RFC5322 From header field of the email to be sent.

forbiddenToSend

JMAP Error Code: forbiddenToSend

Intended use: common

Change controller: IETF

Reference: This document, section 7.5

Description: The user does not have permission to send at all right now.