Subject: Cross Server Message Transfer

From: Adam Treister <[email-masked]>
Date: Wed, 15 Dec 93 11:33:33 -0800

Has anyone implemented a client which can move/copy messages between folders on
different machines (including the client)?

The current calls take a path but not a host.  I can't imagine its too hard for
the client to fetch and then append, but I want to do it in on the c-client
level, so its usable by all and transparent to the MUA whether the folder is
local, remote etc.  Should the arguments be URLs?

Adam Treister

---

From: Mark Crispin <[email-masked]>
Date: Wed, 15 Dec 1993 14:20:09 -0800 (PST)

Adam -

     Pine offers the capability of transfer of messages between folders on
different machines, including third-party transfers (IMAP server to another
IMAP server).

     As you surmised, this is done by a client fetch and then an append.  This
technique always works, no matter where the source and destination may be.

     copy/move only work under the following two conditions:
1) if the source mailbox is local, then the destination must also be local and
   of the same folder type (driver) as the source.
2) if the source mailbox is remote, then:
   2a) if the destination is specified as local, it is local to the source
       (not to the client) and may be subject to folder format considerations
       (as with the local source case).
   2b) if the destination is specified as remote, then the server must have an
       IMAP client, use c-client syntax, and must have enough information to
       obtain access authorization to the remote server.

     These are a lot of ifs.  In general, I recommend the client fetch/mail
technique and would tend to deprecate the copy/move techniques except as an
efficiency hack in those cases when the client absolutely knows that these
functions will work.

     I would go even further, and to say that copy/move should be used ONLY
when mail is stored in only one place, whether local or a single server.  They
do not scale to the general case.  This is why append was created.

-- Mark --