Skip to main content

Concluded WG IMAP MOVE extension (imapmove)

Note: The data for concluded WGs is occasionally incorrect.

WG Name IMAP MOVE extension
Acronym imapmove
Area Applications Area (app)
State Concluded
Charter charter-ietf-imapmove-01 Approved
Document dependencies
Additional resources Issue tracker, Wiki
Personnel Chairs Alexey Melnikov, Ned Freed
Area Director Barry Leiba
Mailing list Address imapext@ietf.org
To subscribe https://www.ietf.org/mailman/listinfo/imapext
Archive https://mailarchive.ietf.org/arch/browse/imapext

Final Charter for Working Group

The Internet Message Access Protocol (IMAP), defined in RFC 3501,
specifies a protocol for transferring email messages between a server
that implements a message store, and a client. It also includes
commands for manipulating the message store -- creating, deleting, and
renaming mailboxes, adding a message to a mailbox, and copying
messages from one mailbox to another.

It's often the case that an IMAP client needs to move (not copy)
messages from one mailbox to another. The mechanism that IMAP
provides to do that is a multi-step process:
1. Copy the messages from the source mailbox to the target mailbox.
2. Flag the original messages in the source mailbox as deleted.
3. Expunge the deleted messages from the source mailbox.

Implementors have long pointed out some shortcomings with this
approach. Because the moving of a message is not an atomic process,
interruptions can leave messages in intermediate states. Because
multiple clients can be accessing the mailboxes at the same time,
clients can see messages in intermediate states even without
interruptions. If the source mailbox contains other messages that are
flagged for deletion, the third step can have the side effect of
expunging more than just the set of moved messages. And servers with
certain types of back-end message stores might have efficient ways of
moving messages, which don't involve actual copying of data. Such
efficiencies are often not available to the copy/flag/expunge process.

The IMAP MOVE extension (imapmove) working group has the single task
of developing an IMAP MOVE extension that defines a single command to
move a set of messages from a source mailbox to a target mailbox in a
single operation. The group will use draft-gulbrandsen-imap-move as a
starting point, and will produce a Standards Track document.

As part of the protocol development, implementation experience on both
the client and server side is highly desireable, so that the actual
operational value of this extension can be assessed. The working group
will document the results of this experience on the working group
wiki.

No other IMAP extension work is in scope for this working group.

Done milestones

Date Milestone Associated documents
Done Final report on implementation results: http://tools.ietf.org/wg/imapmove/trac/wiki
Done Initial assessment of implementation results
Done IMAP MOVE protocol document to IESG as Proposed Standard
Done Establishment of implementation tracking on the working group wiki
Done Initial adoption of IMAP MOVE protocol document