[imapext] Registering $hasAttachment & $hasNoAttachment

Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> Sun, 03 December 2017 23:58 UTC

Return-Path: <jeff.sipek@dovecot.fi>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DBA8E126557 for <imapext@ietfa.amsl.com>; Sun, 3 Dec 2017 15:58:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vrm71xa4hFWj for <imapext@ietfa.amsl.com>; Sun, 3 Dec 2017 15:58:41 -0800 (PST)
Received: from mail.dovecot.fi (wursti.dovecot.fi [94.237.32.243]) by ietfa.amsl.com (Postfix) with ESMTP id 20740120727 for <imapext@ietf.org>; Sun, 3 Dec 2017 15:58:41 -0800 (PST)
Received: from meili (josefsipek.net [71.174.113.7]) by mail.dovecot.fi (Postfix) with ESMTPSA id F201D284420 for <imapext@ietf.org>; Mon, 4 Dec 2017 01:58:38 +0200 (EET)
Date: Sun, 3 Dec 2017 18:58:35 -0500
From: Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
To: imapext@ietf.org
Message-ID: <20171203235834.GB1632@meili>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.8.3 (2017-05-23)
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/vulZLtp-hqPpaBuhc-g-x0mX290>
Subject: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 03 Dec 2017 23:58:43 -0000

I'm hoping to send these off to IANA by the end of the week, but I thought I
should share these and get them reviewed first.

(We are hoping to use these in Dovecot, and as far as I know the folks at
Fastmail have been using these for a while.)

Thanks,

Jeff.

---
Subject Registration of IMAP keyword $hasAttachment

IMAP keyword name: $hasAttachment

Purpose (description):
Many mail user agents display a hint to the user that a particular email
contains attachments.  Without any help of the server, the user agent needs
to fetch at least a part of the email to determine whether or not the email
contains an attachment.  This is not only wasteful of system resources, but
it also causes a perceivable delay in displaying the mailbox contents to the
user.

The $hasAttachment keyword can be used by the delivery agent to mark a
message as containing an attachment.  The mail user agent can then
efficiently check for the presence of this keyword and convey the
information to the user in whatever way is appropriate.

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:
This keyword can be set by either a delivery agent (through an internal
mechanism) or an email client (using the normal IMAP protocol).  The client
must be able to set or clear $hasAttachment at any time.  The keyword should
be set when the delivery agent or a client has determined that the email
contains an attachment.  If the email does not contain any attachments,
$hasAttachment should be cleared and $hasNoAttachment should be set instead
(see note).

Related keywords: $hasNoAttachment

Related IMAP capabilities: None

Security considerations: None

Published specification (recommended):

Person & email address to contact for further information:
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

Intended usage: COMMON

Owner/Change controller: IESG

Note:
$hasAttachment and $hasNoAttachment are mutually exclusive.  If more than
one of them is set for a message, the email client MUST treat this as if
neither of them is set and SHOULD remove both of them from the IMAP server.

The exact meaning of "has an attachment" is left up to the implementors.
The consequences of implementations disagreeing on what constitutes an
attachment are minor, given that $hasAttachment is intended as only a hint
to the user in the UI.
---
Subject Registration of IMAP keyword $hasNoAttachment

IMAP keyword name: $hasNoAttachment

Purpose (description):
Many mail user agents display a hint to the user that a particular email
contains attachments.  Without any help of the server, the user agent needs
to fetch at least a part of the email to determine whether or not the email
contains an attachment.  This is not only wasteful of system resources, but
it also causes a perceivable delay in displaying the mailbox contents to the
user.

The $hasNoAttachment keyword can be used by the delivery agent to mark a
message as *not* containing an attachment.  The mail user agent can then
efficiently check for the presence of this keyword and convey the
information to the user in whatever way is appropriate.

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:
This keyword can be set by either a delivery agent (through an internal
mechanism) or an email client (using the normal IMAP protocol).  The client
must be able to set or clear $hasNoAttachment at any time.  The keyword
should be set when the delivery agent or a client has determined that the
email does not contain any attachments.  If the email contains an
attachment, $hasNoAttachment should be cleared and $hasAttachment should be
set instead (see note).

Related keywords: $hasAttachment

Related IMAP capabilities: None

Security considerations: None

Published specification (recommended):

Person & email address to contact for further information:
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

Intended usage: COMMON

Owner/Change controller: IESG

Note:
$hasAttachment and $hasNoAttachment are mutually exclusive.  If more than
one of them is set for a message, the email client MUST treat this as if
neither of them is set and SHOULD remove both of them from the IMAP server.

The exact meaning of "has an attachment" is left up to the implementors.
The consequences of implementations disagreeing on what constitutes an
attachment are minor, given that $hasNoAttachment is intended as only a hint
to the user in the UI.
---