Here's the usage scenario I feel is implied as possible by
the RFCs.

The behaviour that would feel seemless too me, and ultimately
desireable, is for ANY folder type, to be able to mark it
as "synced locally" in my muttrc. So:

sync_offline imap://domino1.certicom.com/INBOX
sync_offline pop://pop.uniserve.com

  ( maybe you'd want to specify the name of the local mbox to sync
          to, but I'd personally be happy with mutt taking care of
                doing that itself, especially because you may need some fairly
                custom state information associated with the local copy, such
                as the message id's of messages that have been deleted locally,
                but not on the server yet, might have to be a custom mailbox
                type even, though that's worth avoiding.)

set spoolfile=imap://domino1.certicom.com/INBOX

So, now when I start up mutt, it opens my spool, BUT what
it really does is open the local copy, then in the background
starts to sync that copy with the server. If I'm not online,
then it can't, that's ok. I write some email, etc. Then I
bring ppp up, and I do the "$" to sync my spool. It tries
again to reconnect, and voila! It works, it notices there is
new messages, and it brings them down, it notices I've deleted
some stuff, and it deletes that stuff on the server as well.

(
 This next bit isn't perfectly doable, pop as a protocol doesn't
 have great support for disconnected operation, but you can make
 it work even if it isn't optimal. And it would be VERY useful.

 Even if can't be done with pop, it's what I'd want to do with
 a secondary imap box, say the one that I sieve all of my mutt
 related mail into with a server-side procmail script.
)

Life is good. But before I take ppp down again, I decide to surf
over to my pop account, mostly used for personal email. I do
this with an explict change folder command:

c pop://pop.uniserve.com

mutt notices I've marked it as synced, opens the local mirror,
and proceeds to do it's best to delete stuff from the local
mirror that isn't in the pop mailbox anymore, delete stuff
from the pop mailbox that was deleted from the local mirror,
and of course can't upload any new messages I saved to the
local mirror into the pop mailbox.

There's a bunch of work to do in disconnected mode, but it's a
way cool way to use email, and one of the most powerful features
of IMAP. Most other stuff can be faked out by pop (aften with
a performance hit) but it's at the disconnected stage that you
really see the advantage, especially if you access an imap
box from several partially or intermittently connected machines,
like a laptop for the road, a machine that uses ppp at home,
and your always connected machine on your desk at work.

A lot of work, but it would be SO sweet!

Sam

Quoting Andy Wingo <[EMAIL PROTECTED]>, who wrote:
> I hacked on Michael Elkins' isync a bit over the last few days, my
> results are at http://ambient.2y.net/wingo/projects/isync-r-0.4.tar.gz.
> This program recursively synchronizes an imap folder tree and a maildir
> directory. The only docs are in the code (which is a big hack, btw) and
> by typing isync-r --help. This fulfills (2) below, I haven't had time to
> play around with the key bindings. For some reason, fast mode appears to
> be broken for me. If it works for anyone else let me know.
> 
> The usual disclaimers apply- it could delete all your mail, etc...
> 
> Cheers (I'm going off to the mountains!)
> 
> Andy Wingo
> ----------
> http://ambient.2y.net
> 
> On Tue, 22 May 2001, Brendan Cully wrote:
> 
> > On Tuesday, 22 May 2001 at 12:36, Andy Wingo wrote:
> > > The working draft on disconnected mode can be found at 
> > > http://asg.web.cmu.edu/cyrus/rfc/draft-ietf-imap-disc-01.html. I've
> > > thought about how a disconnected mode might operate -- here's an idea:
> > > 
> > > 1) the user presses a button to switch to disconnected mode
> > > 2) which calls a script to go mirror the state of the imap server into
> > >    (say) ~[EMAIL PROTECTED]/ as mbox format files, perhaps
> > >    adding IMAP UIDs as extra headers
> > > 3) $folder and $spool_file are changed to point to the cache directory,
> > 
> > Mutt doesn't support it natively, but your proposal sounds
> > intriguing. Michael Elkins (the guy who wrote mutt) has already
> > written a tool to do the hard part - synchronising a local maildir
> > tree with an IMAP server. It's called isync, you can find it on
> > freshmeat.net, you should take a look at it. your idea sounds
> > intriguing.
> > 
> > -Brendan

-- 
Sam Roberts <[EMAIL PROTECTED]>

Reply via email to