/head: changeset 123

- Made folder/Maildir.py/deletemessage() more tolerant if a message
  asked to be deleted already has been.

- In Base.py/copymessageto(), no longer bother calling getmessage()
  unless a folder's storemessages() returns true. This will also help
  with syncing to LocalStatus if the user deleted messages in the
  Maildir since the cachemessagelist() was called.
This commit is contained in:
jgoerzen 2002-07-16 03:26:58 +01:00
parent 09cf911d53
commit d3f86beb9f
9 changed files with 366 additions and 234 deletions

View File

@ -1,3 +1,63 @@
2002-07-15 11:22 jgoerzen
* debian/changelog, offlineimap/folder/Base.py,
offlineimap/folder/LocalStatus.py, offlineimap/folder/Maildir.py:
* Made folder/Maildir.py/deletemessage() more tolerant if a message
asked to be deleted already has been.
* In Base.py/copymessageto(), no longer bother calling
getmessage()
unless a folder's storemessages() returns true. This will also
help
with syncing to LocalStatus if the user deleted messages in the
Maildir since the cachemessagelist() was called.
2002-07-15 10:46 jgoerzen
* debian/changelog, offlineimap/imaputil.py,
offlineimap/folder/IMAP.py: * Optimized folder/IMAP.py
addmessagesflags() with new listjoin() in
imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7.
2002-07-15 08:50 jgoerzen
* offlineimap.1, offlineimap.py, debian/changelog: Added -o (run
only once) option with patch sent in by Martijn Pieters.
2002-07-15 08:40 jgoerzen
* debian/changelog, offlineimap/version.py: Fixed changelog and
version.py
2002-07-15 08:40 jgoerzen
* offlineimap.1, debian/changelog: Noted options for -u in manpage
2002-07-15 08:38 jgoerzen
* offlineimap/ui/__init__.py: Cleaned up imports
2002-07-12 09:41 jgoerzen
* TODO, debian/changelog: Updated TODO list.
2002-07-12 09:27 jgoerzen
* COPYING, debian/copyright, offlineimap/ui/UIBase.py: Detabified
the source
2002-07-11 22:58 jgoerzen
* debian/control: Added suggests for python2.2-tk
2002-07-11 22:26 jgoerzen
* manual.html, manual.ps, debian/changelog: Final doc update for
3.0.0 release
2002-07-11 22:20 jgoerzen
* ChangeLog: Updated for 3.0.0
2002-07-11 22:20 jgoerzen 2002-07-11 22:20 jgoerzen
* debian/changelog, offlineimap/folder/IMAP.py, * debian/changelog, offlineimap/folder/IMAP.py,

View File

@ -5,6 +5,12 @@ offlineimap (3.0.1) unstable; urgency=low
* Added -o (run only once) option with patch sent in by Martijn Pieters. * Added -o (run only once) option with patch sent in by Martijn Pieters.
* Optimized folder/IMAP.py addmessagesflags() with new listjoin() in * Optimized folder/IMAP.py addmessagesflags() with new listjoin() in
imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7. imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7.
* Made folder/Maildir.py/deletemessage() more tolerant if a message
asked to be deleted already has been.
* In Base.py/copymessageto(), no longer bother calling getmessage()
unless a folder's storemessages() returns true. This will also help
with syncing to LocalStatus if the user deleted messages in the
Maildir since the cachemessagelist() was called.
-- John Goerzen <jgoerzen@complete.org> Fri, 12 Jul 2002 07:28:24 -0500 -- John Goerzen <jgoerzen@complete.org> Fri, 12 Jul 2002 07:28:24 -0500

View File

@ -25,7 +25,7 @@
<hr> <hr>
<!-- Creator : groff version 1.17.2 --> <!-- Creator : groff version 1.17.2 -->
<!-- CreationDate: Thu Jul 11 22:25:55 2002 --> <!-- CreationDate: Mon Jul 15 11:26:37 2002 -->
<a name="NAME"></a> <a name="NAME"></a>
<h2>NAME</h2> <h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border=0 rules="none" frame="void"
@ -42,7 +42,8 @@ OfflineIMAP - Powerful IMAP/Maildir synchronization and reader support</td></tab
<td width="10%"></td><td width="90%"> <td width="10%"></td><td width="90%">
<b>offlineimap</b> [ <b>-1</b> ] [ <b>-a</b> <b>offlineimap</b> [ <b>-1</b> ] [ <b>-a</b>
<i>accountlist</i> ] [ <b>-c</b> <i>configfile</i> ]<br> <i>accountlist</i> ] [ <b>-c</b> <i>configfile</i> ]<br>
[ <b>-d</b> ] [ <b>-u</b> <i>interface</i> ]</td></table> [ <b>-d</b> ] [ <b>-o</b> ] [ <b>-u</b> <i>interface</i>
]</td></table>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0"> cols="2" cellspacing="0" cellpadding="0">
@ -367,6 +368,19 @@ protocol in plain text, including passwords, so take care to
remove that from the debugging output before sending it to remove that from the debugging output before sending it to
anyone else.</td></table> anyone else.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>-o</b></td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
Run only once, ignoring any autorefresh setting in the
config file.</td></table>
<table width="100%" border=0 rules="none" frame="void" <table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0"> cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left"> <tr valign="top" align="left">
@ -394,6 +408,14 @@ overrides the default specified in the configuration file.
The UI specified with <b>-u</b> will be forced to be used, The UI specified with <b>-u</b> will be forced to be used,
even if its <b>isuable()</b> method states that it cannot even if its <b>isuable()</b> method states that it cannot
be. Use this option with care.</td></table> be. Use this option with care.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
The pre-defined options are <b>Tk.TKUI</b> (a graphical
interface) and <b>TTY.TTYUI</b> (a text-mode
interface).</td></table>
<a name="EXAMPLES"></a> <a name="EXAMPLES"></a>
<h2>EXAMPLES</h2> <h2>EXAMPLES</h2>

Binary file not shown.

View File

@ -1,6 +1,6 @@
%!PS-Adobe-3.0 %!PS-Adobe-3.0
%%Creator: groff version 1.17.2 %%Creator: groff version 1.17.2
%%CreationDate: Thu Jul 11 22:25:53 2002 %%CreationDate: Mon Jul 15 11:26:30 2002
%%DocumentNeededResources: font Times-Roman %%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold %%+ font Times-Bold
%%+ font Times-Italic %%+ font Times-Italic
@ -212,11 +212,12 @@ BP
(SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0 SF(of\215ineimap)108 124.8 Q F0 (SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0 SF(of\215ineimap)108 124.8 Q F0
([)2.5 E F2<ad31>2.5 E F0 2.5(][)2.5 G F2<ad61>A/F3 10/Times-Italic@0 SF ([)2.5 E F2<ad31>2.5 E F0 2.5(][)2.5 G F2<ad61>A/F3 10/Times-Italic@0 SF
(accountlist)2.5 E F0 2.5(][)2.5 G F2<ad63>A F3(con\214g\214le)2.5 E F0 (accountlist)2.5 E F0 2.5(][)2.5 G F2<ad63>A F3(con\214g\214le)2.5 E F0
(])2.5 E([)108 136.8 Q F2<ad64>2.5 E F0 2.5(][)2.5 G F2<ad75>A F3 (])2.5 E([)108 136.8 Q F2<ad64>2.5 E F0 2.5(][)2.5 G F2<ad6f>A F0 2.5
(interface)2.5 E F0(])2.5 E F2(of\215ineimap \255h)108 160.8 Q F0(|)2.5 (][)2.5 G F2<ad75>A F3(interface)2.5 E F0(])2.5 E F2
E F2(\255\255help)2.5 E F1(DESCRIPTION)72 177.6 Q F2(Of\215ineIMAP)108 (of\215ineimap \255h)108 160.8 Q F0(|)2.5 E F2(\255\255help)2.5 E F1
189.6 Q F0 .019(is a tool to simplify your e-mail reading.)2.519 F -.4 (DESCRIPTION)72 177.6 Q F2(Of\215ineIMAP)108 189.6 Q F0 .019
(Wi)5.019 G(th).4 E F2(Of\215ineIMAP)2.519 E(,)-.92 E F0 .018 (is a tool to simplify your e-mail reading.)2.519 F -.4(Wi)5.019 G(th).4
E F2(Of\215ineIMAP)2.519 E(,)-.92 E F0 .018
(you can read the same mailbox)2.519 F 1.115(from multiple computers.) (you can read the same mailbox)2.519 F 1.115(from multiple computers.)
108 201.6 R -1.1(Yo)6.115 G 3.615(ug)1.1 G 1.115(et a current cop)-3.615 108 201.6 R -1.1(Yo)6.115 G 3.615(ug)1.1 G 1.115(et a current cop)-3.615
F 3.616(yo)-.1 G 3.616(fy)-3.616 G 1.116(our messages on each computer) F 3.616(yo)-.1 G 3.616(fy)-3.616 G 1.116(our messages on each computer)
@ -314,7 +315,7 @@ G(ilable.).25 E 32.5<8359>108 660 S .085(ou must ha)-33.6 F .385 -.15
(installed. If)144 708 R .359(you intend to use the SSL interf)2.859 F (installed. If)144 708 R .359(you intend to use the SSL interf)2.859 F
.359(ace, your Python must ha)-.1 F .66 -.15(ve b)-.2 H .36(een b).15 F .359(ace, your Python must ha)-.1 F .66 -.15(ve b)-.2 H .36(een b).15 F
.36(uilt with SSL sup-)-.2 F(port.)144 720 Q(John Goerzen)72 768 Q .36(uilt with SSL sup-)-.2 F(port.)144 720 Q(John Goerzen)72 768 Q
(July 11, 2002)151.655 E(1)201.915 E EP (July 12, 2002)151.655 E(1)201.915 E EP
%%Page: 2 2 %%Page: 2 2
%%BeginPageSetup %%BeginPageSetup
BP BP
@ -402,9 +403,11 @@ F 2.582(Is)5.082 G .082(uggest that you use this with)-2.582 F F1<ad31>
(col in plain te)144 660 R 1.7(xt, including passw)-.15 F 1.7 (col in plain te)144 660 R 1.7(xt, including passw)-.15 F 1.7
(ords, so tak)-.1 F 4.2(ec)-.1 G 1.7(are to remo)-4.2 F 2 -.15(ve t)-.15 (ords, so tak)-.1 F 4.2(ec)-.1 G 1.7(are to remo)-4.2 F 2 -.15(ve t)-.15
H 1.7(hat from the deb).15 F 1.7(ugging output)-.2 F H 1.7(hat from the deb).15 F 1.7(ugging output)-.2 F
(before sending it to an)144 672 Q(yone else.)-.15 E F1 (before sending it to an)144 672 Q(yone else.)-.15 E F1<ad6f>108 688.8 Q
(\255h, \255\255help)108 688.8 Q F0(Sho)144 700.8 Q 2.5(ws)-.25 G F0(Run only once, ignoring an)25.3 E 2.5(ya)-.15 G
(ummary of options.)-2.5 E(John Goerzen)72 768 Q(July 11, 2002)151.655 E (utorefresh setting in the con\214g \214le.)-2.5 E F1
(\255h, \255\255help)108 705.6 Q F0(Sho)144 717.6 Q 2.5(ws)-.25 G
(ummary of options.)-2.5 E(John Goerzen)72 768 Q(July 12, 2002)151.655 E
(2)201.915 E EP (2)201.915 E EP
%%Page: 3 3 %%Page: 3 3
%%BeginPageSetup %%BeginPageSetup
@ -420,285 +423,289 @@ SF<ad75>108 84 Q/F2 10/Times-Italic@0 SF(interface)2.5 E F0 1.133
5.28 F F1(-u)2.78 E F0 .281(will be forced to be used, e)2.78 F -.15(ve) 5.28 F F1(-u)2.78 E F0 .281(will be forced to be used, e)2.78 F -.15(ve)
-.25 G 2.781(ni).15 G 2.781(fi)-2.781 G(ts)-2.781 E F1(isuable\(\))2.781 -.25 G 2.781(ni).15 G 2.781(fi)-2.781 G(ts)-2.781 E F1(isuable\(\))2.781
E F0(method)2.781 E(states that it cannot be.)144 120 Q E F0(method)2.781 E(states that it cannot be.)144 120 Q
(Use this option with care.)5 E/F3 10.95/Times-Bold@0 SF(EXAMPLES)72 (Use this option with care.)5 E .158(The pre-de\214ned options are)144
136.8 Q F0(Here is an e)108 148.8 Q 136.8 R F1(Tk.TKUI)2.658 E F0 .158(\(a graphical interf)2.658 F .157
(ace\) and)-.1 F F1(TTY)2.657 E(.TTYUI)-.92 E F0 .157(\(a te)2.657 F
.157(xt-mode inter)-.15 F(-)-.2 E -.1(fa)144 148.8 S(ce\).).1 E/F3 10.95
/Times-Bold@0 SF(EXAMPLES)72 165.6 Q F0(Here is an e)108 177.6 Q
(xample con\214guration for a particularly comple)-.15 E 2.5(xs)-.15 G (xample con\214guration for a particularly comple)-.15 E 2.5(xs)-.15 G
(ituation; more e)-2.5 E(xamples will be added later)-.15 E(.)-.55 E F1 (ituation; more e)-2.5 E(xamples will be added later)-.15 E(.)-.55 E F1
(MUL)87 165.6 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .514(This e) (MUL)87 194.4 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .513(This e)
108 177.6 R .514(xample sho)-.15 F .514(ws you ho)-.25 F 3.014(wt)-.25 G 108 206.4 R .513(xample sho)-.15 F .513(ws you ho)-.25 F 3.014(wt)-.25 G
3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .513 3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .514
(to synchronize multiple accounts with the mutt mail)3.014 F(reader)108 (to synchronize multiple accounts with the mutt mail)3.014 F(reader)108
189.6 Q(.)-.55 E(Start by creating a directory to hold your folders:)108 218.4 Q(.)-.55 E(Start by creating a directory to hold your folders:)108
206.4 Q F1(mkdir ~/Mail)108 218.4 Q F0(In your)108 235.2 Q F2(~/.of)2.5 235.2 Q F1(mkdir ~/Mail)108 247.2 Q F0(In your)108 264 Q F2(~/.of)2.5 E
E(\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P) (\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P)
108 247.2 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 264 Q 2.82(es)-.1 G 108 276 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 292.8 Q 2.821(es)-.1 G
.32(ure that you ha)-2.82 F .62 -.15(ve b)-.2 H .32(oth a).15 F F1([P) .321(ure that you ha)-2.821 F .621 -.15(ve b)-.2 H .321(oth a).15 F F1
2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75 E ([P)2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75
F0 .321(section, with dif)2.821 F .321(ferent localfolder pathnames and) E F0 .32(section, with dif)2.82 F .32(ferent localfolder pathnames and)
-.25 F(enable)108 276 Q F1([mbnames].)2.5 E F0 -.25 F(enable)108 304.8 Q F1([mbnames].)2.5 E F0
(In each account section, do something lik)108 292.8 Q 2.5(et)-.1 G (In each account section, do something lik)108 321.6 Q 2.5(et)-.1 G
(his:)-2.5 E F1(localf)108 304.8 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2 (his:)-2.5 E F1(localf)108 333.6 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2
E F0(Add these lines to your)108 321.6 Q F2(~/.muttr)2.5 E(c:)-.37 E F1 E F0(Add these lines to your)108 350.4 Q F2(~/.muttr)2.5 E(c:)-.37 E F1
(sour)108 333.6 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E (sour)108 362.4 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E
-.25(fo)108 345.6 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E -.25(fo)108 374.4 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E
(om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 357.6 S (om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 386.4 S
(lder).25 E(-hook W)-.37 E(ork set fr)-.75 E(om="y)-.18 E(our)-.25 E (lder).25 E(-hook W)-.37 E(ork set fr)-.75 E(om="y)-.18 E(our)-.25 E
(email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 369.6 Q(set f) (email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 398.4 Q(set f)
108 381.6 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 393.6 Q 108 410.4 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 422.4 Q
(ersonal/INBO)-.2 E(X)-.4 E F0(That')108 410.4 Q 2.5(si)-.55 G(t!)-2.5 E (ersonal/INBO)-.2 E(X)-.4 E F0(That')108 439.2 Q 2.5(si)-.55 G(t!)-2.5 E
F3(ERR)72 427.2 Q(ORS)-.329 E F0(If you get one of some frequently-enco\ F3(ERR)72 456 Q(ORS)-.329 E F0(If you get one of some frequently-encoun\
untered or confusing errors, please check this section.)108 439.2 Q F1 tered or confusing errors, please check this section.)108 468 Q F1
(UID v)87 456 Q(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25 E (UID v)87 484.8 Q(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25
F0 1.638(IMAP serv)108 468 R 1.637 E F0 1.637(IMAP serv)108 496.8 R 1.637
(ers use a unique ID \(UID\) to refer to a speci\214c message.)-.15 F (ers use a unique ID \(UID\) to refer to a speci\214c message.)-.15 F
1.637(This number is guaranteed to be)6.637 F 1.109 1.638(This number is guaranteed to be)6.637 F 1.11
(unique to a particular message FOREVER.)108 480 R 1.109 (unique to a particular message FOREVER.)108 508.8 R 1.109
(No other message in the same folder will e)6.109 F -.15(ve)-.25 G 3.61 (No other message in the same folder will e)6.11 F -.15(ve)-.25 G 3.609
(rg).15 G 1.11(et the same)-3.61 F 2.874(UID. UIDs)108 492 R .373 (rg).15 G 1.109(et the same)-3.609 F 2.873(UID. UIDs)108 520.8 R .373
(are an inte)2.874 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E (are an inte)2.873 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E
2.873(ss)-.55 G .373(ynchronization scheme; the)-2.873 F 2.873(ya)-.15 G 2.873(ss)-.55 G .373(ynchronization scheme; the)-2.873 F 2.873(ya)-.15 G
.373(re used to match up mes-)-2.873 F .373(re used to match up mes-)-2.873 F
(sages on your computer to messages on the serv)108 504 Q(er)-.15 E(.) (sages on your computer to messages on the serv)108 532.8 Q(er)-.15 E(.)
-.55 E .107(Sometimes, the UIDs on the serv)108 520.8 R .108 -.55 E .108(Sometimes, the UIDs on the serv)108 549.6 R .108
(er might get reset.)-.15 F .108 (er might get reset.)-.15 F .108
(Usually this will happen if you delete and then recreate)5.108 F 3.743 (Usually this will happen if you delete and then recreate)5.108 F 3.742
(af)108 532.8 S(older)-3.743 E 6.243(.W)-.55 G 1.243 (af)108 561.6 S(older)-3.742 E 6.242(.W)-.55 G 1.242
(hen you create a folder)-6.243 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F (hen you create a folder)-6.242 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F
1.242(er will often start the UID back from 1.)-.15 F(But)6.242 E F1 1.242(er will often start the UID back from 1.)-.15 F(But)6.243 E F1
(Of\215ineIMAP)3.742 E F0 .302(might still ha)108 544.8 R .602 -.15 (Of\215ineIMAP)3.743 E F0 .303(might still ha)108 573.6 R .603 -.15
(ve t)-.2 H .302(he UIDs from the pre).15 F .302 (ve t)-.2 H .303(he UIDs from the pre).15 F .302
(vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.303 E (vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.302 E
F0 .303(will detect this)2.803 F(condition and skip the folder)108 556.8 F0 .302(will detect this)2.802 F(condition and skip the folder)108 585.6
Q 5(.T)-.55 G(his is GOOD, because it pre)-5 E -.15(ve)-.25 G Q 5(.T)-.55 G(his is GOOD, because it pre)-5 E -.15(ve)-.25 G
(nts data loss.).15 E -1.1(Yo)108 573.6 S 2.827(uc)1.1 G .327 (nts data loss.).15 E -1.1(Yo)108 602.4 S 2.826(uc)1.1 G .326
(an \214x it by remo)-2.827 F .327 (an \214x it by remo)-2.826 F .327
(ving your local folder and cache data.)-.15 F -.15(Fo)5.327 G 2.827(ri) (ving your local folder and cache data.)-.15 F -.15(Fo)5.327 G 2.827(ri)
.15 G .327(nstance, if your folders are under)-2.827 F F2(~/F)2.826 E .15 G .327(nstance, if your folders are under)-2.827 F F2(~/F)2.827 E
(old-)-1.05 E(er)108 585.6 Q(s)-.1 E F0 (old-)-1.05 E(er)108 614.4 Q(s)-.1 E F0
(and the folder with the problem is INBO)2.5 E(X, you')-.4 E 2.5(dt)-.5 (and the folder with the problem is INBO)2.5 E(X, you')-.4 E 2.5(dt)-.5
G(ype this:)-2.5 E F1(rm -r ~/F)108 602.4 Q(olders/INBO)-.25 E(X)-.4 E G(ype this:)-2.5 E F1(rm -r ~/F)108 631.2 Q(olders/INBO)-.25 E(X)-.4 E
(rm ~/.of\215ineimap/AccountName/INBO)108 614.4 Q(X)-.4 E F0 (rm ~/.of\215ineimap/AccountName/INBO)108 643.2 Q(X)-.4 E F0
(\(replacing AccountName with the account name as speci\214ed in)108 (\(replacing AccountName with the account name as speci\214ed in)108 660
631.2 Q F2(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 648 Q Q F2(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 676.8 Q .802
.801(xt time you run)-.15 F F1(Of\215ineIMAP)3.301 E(,)-.92 E F0 .802 (xt time you run)-.15 F F1(Of\215ineIMAP)3.302 E(,)-.92 E F0 .802
(it will re-do)3.302 F .802(wnload the folder with the ne)-.25 F 3.302 (it will re-do)3.302 F .802(wnload the folder with the ne)-.25 F 3.302
(wU)-.25 G 3.302(IDs. Note)-3.302 F .802(that the proce-)3.302 F (wU)-.25 G 3.301(IDs. Note)-3.302 F .801(that the proce-)3.301 F
(dure speci\214ed abo)108 660 Q .3 -.15(ve w)-.15 H(ill lose an).15 E (dure speci\214ed abo)108 688.8 Q .3 -.15(ve w)-.15 H(ill lose an).15 E
2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .523 2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .522
(Some IMAP serv)108 676.8 R .522(ers are brok)-.15 F .522 (Some IMAP serv)108 705.6 R .522(ers are brok)-.15 F .522
(en and do not support UIDs properly)-.1 F 5.522(.I)-.65 G 3.022(fy) (en and do not support UIDs properly)-.1 F 5.522(.I)-.65 G 3.022(fy)
-5.522 G .522(ou continue to get this error for all)-3.022 F .066 -5.522 G .522(ou continue to get this error for all)-3.022 F .067
(your folders e)108 688.8 R -.15(ve)-.25 G 2.566(na).15 G .066 (your folders e)108 717.6 R -.15(ve)-.25 G 2.566(na).15 G .066
(fter performing the abo)-2.566 F .366 -.15(ve p)-.15 H .066 (fter performing the abo)-2.566 F .366 -.15(ve p)-.15 H .066
(rocedure, it is lik).15 F .066(ely that your IMAP serv)-.1 F .066(er f) (rocedure, it is lik).15 F .066(ely that your IMAP serv)-.1 F .066(er f)
-.15 F .067(alls into this cat-)-.1 F -.15(eg)108 700.8 S(ory).15 E(.) -.15 F .066(alls into this cat-)-.1 F -.15(eg)108 729.6 S(ory).15 E(.)
-.65 E F1(Of\215ineIMAP)5.984 E F0 .984(is incompatible with such serv) -.65 E F1(Of\215ineIMAP)5.983 E F0 .984(is incompatible with such serv)
3.484 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984 3.483 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984
(with them will not destro)3.484 F(y)-.1 E(an)108 712.8 Q 2.769(ym)-.15 (with them will not destro)3.484 F(y)-.1 E(John Goerzen)72 768 Q
G .269(ail, b)-2.769 F .269 (July 12, 2002)151.655 E(3)201.915 E EP
(ut at the same time, it will not actually synchronize it either)-.2 F
5.27(.\()-.55 G(Of)-5.27 E .27(\215ineIMAP will detect this con-)-.25 F
(dition and abort prior to synchronization\))108 724.8 Q(John Goerzen)72
768 Q(July 11, 2002)151.655 E(3)201.915 E EP
%%Page: 4 4 %%Page: 4 4
%%BeginPageSetup %%BeginPageSetup
BP BP
%%EndPageSetup %%EndPageSetup
/F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R
(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10.95 (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(an)108 84 Q 2.77
/Times-Bold@0 SF -.438(OT)72 84 S(HER FREQ).438 E(UENTL)-.11 E 2.738(YA) (ym)-.15 G .27(ail, b)-2.77 F .27
-1.007 G(SKED Q)-2.738 E(UESTIONS)-.11 E F0 .684(There are some other F) (ut at the same time, it will not actually synchronize it either)-.2 F
108 96 R -.55(AQ)-.74 G 3.184(st).55 G .684 5.269(.\()-.55 G(Of)-5.269 E .269(\215ineIMAP will detect this con-)-.25
F(dition and abort prior to synchronization\))108 96 Q/F1 10.95
/Times-Bold@0 SF -.438(OT)72 124.8 S(HER FREQ).438 E(UENTL)-.11 E 2.738
(YA)-1.007 G(SKED Q)-2.738 E(UESTIONS)-.11 E F0 .683
(There are some other F)108 136.8 R -.55(AQ)-.74 G 3.184(st).55 G .684
(hat might not \214t into another section of this document, and the) (hat might not \214t into another section of this document, and the)
-3.184 F 3.183(ya)-.15 G .683(re enumer)-3.183 F(-)-.2 E(ated here.)108 -3.184 F 3.184(ya)-.15 G .684(re enumer)-3.184 F(-)-.2 E(ated here.)108
108 Q/F2 10/Times-Bold@0 SF(What platf)108 124.8 Q 148.8 Q/F2 10/Times-Bold@0 SF(What platf)108 165.6 Q
(orms does Of\215ineIMAP run on?)-.25 E F0(It should run on most platfo\ (orms does Of\215ineIMAP run on?)-.25 E F0(It should run on most platfo\
rms supported by Python, which are quite a fe)144 136.8 Q -.65(w.)-.25 G rms supported by Python, which are quite a fe)144 177.6 Q -.65(w.)-.25 G
F2 .688(I'm using Mutt. Other IMAP sync pr)108 153.6 R .689(ograms r) F2 .689(I'm using Mutt. Other IMAP sync pr)108 194.4 R .689(ograms r)
-.18 F(equir)-.18 E 3.189(em)-.18 G 3.189(et)-3.189 G 3.189(ou)-3.189 G -.18 F(equir)-.18 E 3.189(em)-.18 G 3.189(et)-3.189 G 3.189(ou)-3.189 G
.689(se set maildir_trash=y)-3.189 F .689(es . Do I need to)-.1 F .689(se set maildir_trash=y)-3.189 F .688(es . Do I need to)-.1 F
(do that with Of\215ineIMAP?)108 165.6 Q F0(No.)144 177.6 Q F2 (do that with Of\215ineIMAP?)108 206.4 Q F0(No.)144 218.4 Q F2
(Of\215ineIMAP)7.27 E F0 2.27 (Of\215ineIMAP)7.27 E F0 2.27
(is smart enough to \214gure out message deletion without this e)4.77 F (is smart enough to \214gure out message deletion without this e)4.77 F
2.27(xtra crutch.)-.15 F -1.1(Yo)144 189.6 S(u')1.1 E 2.27(xtra crutch.)-.15 F -1.1(Yo)144 230.4 S(u')1.1 E
(ll get the best results if you don')-.1 E 2.5(tu)-.18 G (ll get the best results if you don')-.1 E 2.5(tu)-.18 G
(se this setting, in f)-2.5 E(act.)-.1 E F2(Ho)108 206.4 Q 2.5(wd)-.1 G (se this setting, in f)-2.5 E(act.)-.1 E F2(Ho)108 247.2 Q 2.5(wd)-.1 G
2.5(oIs)-2.5 G(pecify the names of my f)-2.5 E(olders?)-.25 E F0 -1.1 2.5(oIs)-2.5 G(pecify the names of my f)-2.5 E(olders?)-.25 E F0 -1.1
(Yo)144 218.4 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F (Yo)144 259.2 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F
F2(Of\215ineIMAP)6.05 E F0 1.05 F2(Of\215ineIMAP)6.05 E F0 1.05
(is smart enough to automatically \214gure out what folders are)3.55 F (is smart enough to automatically \214gure out what folders are)3.55 F
.678(present on the IMAP serv)144 230.4 R .678(er and synchronize them.) .679(present on the IMAP serv)144 271.2 R .679(er and synchronize them.)
-.15 F -1.1(Yo)5.679 G 3.179(uc)1.1 G .679(an use the)-3.179 F F2 -.25 -.15 F -1.1(Yo)5.679 G 3.178(uc)1.1 G .678(an use the)-3.178 F F2 -.25
(fo)3.179 G(lder\214lter).25 E F0(and)3.179 E F2 -.25(fo)3.179 G (fo)3.178 G(lder\214lter).25 E F0(and)3.178 E F2 -.25(fo)3.178 G
(ldertrans).25 E F0(con\214guration \214le options to request certain f\ (ldertrans).25 E F0(con\214guration \214le options to request certain f\
olders and rename them as the)144 242.4 Q 2.5(yc)-.15 G olders and rename them as the)144 283.2 Q 2.5(yc)-.15 G
(ome in if you lik)-2.5 E(e.)-.1 E F2(Ho)108 259.2 Q 2.5(wc)-.1 G (ome in if you lik)-2.5 E(e.)-.1 E F2(Ho)108 300 Q 2.5(wc)-.1 G(an I pr)
(an I pr)-2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 -2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 E
E(om being synced?)-.18 E F0(Use the)144 271.2 Q F2 -.25(fo)2.5 G (om being synced?)-.18 E F0(Use the)144 312 Q F2 -.25(fo)2.5 G
(lder\214lter).25 E F0(option in the con\214guration \214le.)2.5 E F2 (lder\214lter).25 E F0(option in the con\214guration \214le.)2.5 E F2
(Ho)108 288 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E (Ho)108 328.8 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E
(Of\215ineIMAP)144 300 Q F0 .504(does not currently pro)3.004 F .504 (Of\215ineIMAP)144 340.8 Q F0 .503(does not currently pro)3.003 F .504
(vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.003(wf) (vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.004(wf)
-.25 G .503(older on the IMAP)-3.003 F(serv)144 312 Q(er)-.15 E 2.5(,i) -.25 G .504(older on the IMAP)-3.004 F(serv)144 352.8 Q(er)-.15 E 2.5
-.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.)-.65 E (,i)-.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.)
F2(Ar)108 328.8 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G(ny other war) -.65 E F2(Ar)108 369.6 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G
-2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G(f?)-2.5 E F0 -1 (ny other war)-2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G
(Ye)144 340.8 S(s; see the NO)1 E(TES section belo)-.4 E -.65(w.)-.25 G (f?)-2.5 E F0 -1(Ye)144 381.6 S(s; see the NO)1 E(TES section belo)-.4 E
F2(What is the mailbox name r)108 357.6 Q(ecorder \(mbnames\) f)-.18 E -.65(w.)-.25 G F2(What is the mailbox name r)108 398.4 Q
(or?)-.25 E F0 1.019(The Mutt mail reader is not capable of automatical\ (ecorder \(mbnames\) f)-.18 E(or?)-.25 E F0 1.019(The Mutt mail reader \
ly determining the names of your mailbox)144 369.6 R(es.)-.15 E(Of)144 is not capable of automatically determining the names of your mailbox)
381.6 Q .266(\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G 144 410.4 R(es.)-.15 E(Of)144 422.4 Q .265
.265(ther\) programs out be writing these names out in a format you) (\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G .265
-2.765 F(specify)144 393.6 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E (ther\) programs out be writing these names out in a format you)-2.765 F
(\215ineimap.conf \214le for details.)-.25 E F2(Can I synchr)108 410.4 Q (specify)144 434.4 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E
(onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.344(Sure. Just) (\215ineimap.conf \214le for details.)-.25 E F2(Can I synchr)108 451.2 Q
144 422.4 R .845(name them all in the accounts line in the general sect\ (onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.345(Sure. Just)
ion of the con\214g \214le, and add a)3.344 F(per)144 434.4 Q 144 463.2 R .845(name them all in the accounts line in the general sect\
ion of the con\214g \214le, and add a)3.345 F(per)144 475.2 Q
(-account section for each one.)-.2 E F2 (-account section for each one.)-.2 E F2
(Does Of\215ineIMAP support POP?)108 451.2 Q F0 4.077(No. POP)144 463.2 (Does Of\215ineIMAP support POP?)108 492 Q F0 4.076(No. POP)144 504 R
R 1.576(is not rob)4.077 F 1.576(ust enough to do a completely reliable\ 1.576(is not rob)4.076 F 1.576(ust enough to do a completely reliable m\
multi-machine synchronization lik)-.2 F(e)-.1 E(Of)144 475.2 Q ulti-machine synchronization lik)-.2 F(e)-.1 E(Of)144 516 Q
(\215ineIMAP can do.)-.25 E(Of)5 E(\215ineIMAP will not support it.)-.25 (\215ineIMAP can do.)-.25 E(Of)5 E(\215ineIMAP will not support it.)-.25
E F2(Do y)108 492 Q(ou support mailbox f)-.25 E E F2(Do y)108 532.8 Q(ou support mailbox f)-.25 E
(ormats other than Maildir?)-.25 E F0 .409(Not at present.)144 504 R (ormats other than Maildir?)-.25 E F0 .41(Not at present.)144 544.8 R
.409(There is no technical reason not to; just no demand yet.)5.409 F .41(There is no technical reason not to; just no demand yet.)5.41 F .409
.41(Maildir is a superior for)5.41 F(-)-.2 E(mat an)144 516 Q(yw)-.15 E (Maildir is a superior for)5.409 F(-)-.2 E(mat an)144 556.8 Q(yw)-.15 E
(ay)-.1 E(.)-.65 E F2([technical] Wh)108 532.8 Q 2.5(ya)-.15 G .36 -.18 (ay)-.1 E(.)-.65 E F2([technical] Wh)108 573.6 Q 2.5(ya)-.15 G .36 -.18
(re y)-2.5 H(our Maildir message \214lenames so huge?)-.07 E (re y)-2.5 H(our Maildir message \214lenames so huge?)-.07 E
(Of\215ineIMAP)144 544.8 Q F0 .959(has tw)3.459 F 3.459(or)-.1 G(ele) (Of\215ineIMAP)144 585.6 Q F0 .958(has tw)3.458 F 3.458(or)-.1 G(ele)
-3.459 E -.25(va)-.25 G .959(nt principles: 1\) ne).25 F -.15(ve)-.25 G -3.458 E -.25(va)-.25 G .958(nt principles: 1\) ne).25 F -.15(ve)-.25 G
3.459(rm).15 G .958(odifying your messages in an)-3.459 F 3.458(yw)-.15 3.459(rm).15 G .959(odifying your messages in an)-3.459 F 3.459(yw)-.15
G .958(ay and 2\))-3.558 F .493 G .959(ay and 2\))-3.559 F .493
(ensuring 100% reliable synchronizations.)144 556.8 R .493 (ensuring 100% reliable synchronizations.)144 597.6 R .493
(In order to do a reliable sync,)5.493 F F2(Of\215ineIMAP)2.993 E F0 (In order to do a reliable sync,)5.493 F F2(Of\215ineIMAP)2.993 E F0
.494(must ha)2.993 F -.15(ve)-.2 G 3.095(aw)144 568.8 S .595 .493(must ha)2.993 F -.15(ve)-.2 G 3.094(aw)144 609.6 S .594
(ay to uniquely identify each e-mail.)-3.195 F .594 (ay to uniquely identify each e-mail.)-3.194 F .595
(Three pieces of information are required to do this: your)5.594 F .537 (Three pieces of information are required to do this: your)5.594 F .538
(account name, the folder name, and the message UID.)144 580.8 R .538 (account name, the folder name, and the message UID.)144 621.6 R .537
(The account name can be calculated from)5.537 F 1.082 (The account name can be calculated from)5.537 F 1.081
(the path in which your messages are.)144 592.8 R 1.082 (the path in which your messages are.)144 633.6 R 1.082
(The folder name can usually be as well, B)6.082 F 1.081(UT some mail) (The folder name can usually be as well, B)6.082 F 1.082(UT some mail)
-.1 F(clients mo)144 604.8 Q .3 -.15(ve m)-.15 H -.1 F(clients mo)144 645.6 Q .3 -.15(ve m)-.15 H
(essages between folders by simply mo).15 E(ving the \214le, lea)-.15 E (essages between folders by simply mo).15 E(ving the \214le, lea)-.15 E
(ving the name intact.)-.2 E(So,)144 621.6 Q F2(Of\215ineIMAP)3.2 E F0 (ving the name intact.)-.2 E(So,)144 662.4 Q F2(Of\215ineIMAP)3.2 E F0
.7(must store both a UID folder ID.)3.2 F .7 .7(must store both a UID folder ID.)3.2 F .7
(The folder ID is necessary so)5.7 F F2(Of\215ineIMAP)3.2 E F0 .456 (The folder ID is necessary so)5.7 F F2(Of\215ineIMAP)3.2 E F0 .455
(can detect a message mo)144 633.6 R -.15(ve)-.15 G 2.956(dt).15 G 2.955 (can detect a message mo)144 674.4 R -.15(ve)-.15 G 2.955(dt).15 G 2.955
(oad)-2.956 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F2 (oad)-2.955 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F2
(Of\215ineIMAP)5.455 E F0 .455(stores the UID \(U= number\) and)2.955 F (Of\215ineIMAP)5.455 E F0 .456(stores the UID \(U= number\) and)2.955 F
(an md5sum of the foldername \(FMD5= number\) to f)144 645.6 Q (an md5sum of the foldername \(FMD5= number\) to f)144 686.4 Q
(acilitate this.)-.1 E F2(What is the speed of Of\215ineIMAP')108 662.4 (acilitate this.)-.1 E F2(What is the speed of Of\215ineIMAP')108 703.2
Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 674.4 Q F0 -.15(ve)2.89 G Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 715.2 Q F0 -.15(ve)2.891 G
.39(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391 .391(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391
(ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .391(ood w)-2.891 (ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .39(ood w)-2.891
F .391(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to \ F .39(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to 3\
3 and maxconnections to 3 in each account clause.)144 686.4 Q .382 and maxconnections to 3 in each account clause.)144 727.2 Q
(This lets Of)144 703.2 R .382 (John Goerzen)72 768 Q(July 12, 2002)151.655 E(4)201.915 E EP
(\215ineIMAP open up multiple connections simultaneously)-.25 F 5.381
(.T)-.65 G .381(hat will let it process mul-)-5.381 F
(tiple folders and messages at once.)144 715.2 Q
(In most cases, this will increase performance of the sync.)5 E
(John Goerzen)72 768 Q(July 11, 2002)151.655 E(4)201.915 E EP
%%Page: 5 5 %%Page: 5 5
%%BeginPageSetup %%BeginPageSetup
BP BP
%%EndPageSetup %%EndPageSetup
/F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R
(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(Don')144 84 Q 3.103 (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E .381(This lets Of)
(ts)-.18 G .603(et the number too high.)-3.103 F .603 144 84 R .381(\215ineIMAP open up multiple connections simultaneously)
(If you do that, things might actually slo)5.603 F 3.104(wd)-.25 G -.25 -.25 F 5.382(.T)-.65 G .382(hat will let it process mul-)-5.382 F
(ow)-3.104 G 3.104(na).25 G 3.104(sy)-3.104 G .604(our link gets)-3.104 (tiple folders and messages at once.)144 96 Q
F 2.633(saturated. Also,)144 96 R .133(too man)2.633 F 2.633(yc)-.15 G (In most cases, this will increase performance of the sync.)5 E(Don')144
.132(onnections can cause mail serv)-2.633 F .132(ers to ha)-.15 F .432 112.8 Q 3.104(ts)-.18 G .604(et the number too high.)-3.104 F .603
-.15(ve ex)-.2 H(cessi).15 E .432 -.15(ve l)-.25 H 2.632 (If you do that, things might actually slo)5.604 F 3.103(wd)-.25 G -.25
(oad. Administra-).15 F .506(tors might tak)144 108 R 3.006(eu)-.1 G (ow)-3.103 G 3.103(na).25 G 3.103(sy)-3.103 G .603(our link gets)-3.103
.506(nkindly to this, and the serv)-3.006 F .507(er might bog do)-.15 F F 2.632(saturated. Also,)144 124.8 R .132(too man)2.632 F 2.632(yc)-.15
3.007(wn. There)-.25 F .507(are man)3.007 F 3.007(yv)-.15 G .507 G .132(onnections can cause mail serv)-2.632 F .132(ers to ha)-.15 F
(ariables in the)-3.257 F(optimal setting; e)144 120 Q .433 -.15(ve ex)-.2 H(cessi).15 E .433 -.15(ve l)-.25 H 2.633
(oad. Administra-).15 F .507(tors might tak)144 136.8 R 3.007(eu)-.1 G
.507(nkindly to this, and the serv)-3.007 F .506(er might bog do)-.15 F
3.006(wn. There)-.25 F .506(are man)3.006 F 3.006(yv)-.15 G .506
(ariables in the)-3.256 F(optimal setting; e)144 148.8 Q
(xperimentation may help.)-.15 E (xperimentation may help.)-.15 E
(An informal benchmark yields these results for my setup:)144 136.8 Q (An informal benchmark yields these results for my setup:)144 165.6 Q
(10 minutes with MacOS X Mail.app "manual cache")144 153.6 Q 2.5(5m)144 (10 minutes with MacOS X Mail.app "manual cache")144 182.4 Q 2.5(5m)144
165.6 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 177.6 194.4 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 206.4
Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 189.6 S(econds with Of)-2.5 E Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 218.4 S(econds with Of)-2.5 E
(\215ineIMAP 2.x)-.25 E 2.5(3s)144 201.6 S(econds with Of)-2.5 E (\215ineIMAP 2.x)-.25 E 2.5(3s)144 230.4 S(econds with Of)-2.5 E
(\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 213.6 S(econds with Of) (\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 242.4 S(econds with Of)
-2.5 E(\215ineIMAP 3.x "held connection")-.25 E/F1 10.95/Times-Bold@0 SF -2.5 E(\215ineIMAP 3.x "held connection")-.25 E/F1 10.95/Times-Bold@0 SF
(CONFORMING T)72 230.4 Q(O)-.197 E F0 32.5<8349>108 242.4 S (CONFORMING T)72 259.2 Q(O)-.197 E F0 32.5<8349>108 271.2 S
(nternet Message Access Protocol v)-32.5 E(ersion 4re)-.15 E (nternet Message Access Protocol v)-32.5 E(ersion 4re)-.15 E
(v1 \(IMAP 4re)-.25 E(v1\) as speci\214ed in RFC2060)-.25 E 32.5<834d> (v1 \(IMAP 4re)-.25 E(v1\) as speci\214ed in RFC2060)-.25 E 32.5<834d>
108 259.2 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or) 108 288 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or)
-.65 E(g/qmail-manual-html/man5/maildir)-.18 E 8.92(.html and)-.55 F -.65 E(g/qmail-manual-html/man5/maildir)-.18 E 8.92(.html and)-.55 F
(http://cr)144 271.2 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E 32.5 (http://cr)144 300 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E 32.5
<8353>108 288 S <8353>108 316.8 S
(tandard Python 2.2.1 as implemented on POSIX-compliant systems.)-32.5 E (tandard Python 2.2.1 as implemented on POSIX-compliant systems.)-32.5 E
F1(NO)72 304.8 Q(TES)-.438 E/F2 10/Times-Bold@0 SF F1(NO)72 333.6 Q(TES)-.438 E/F2 10/Times-Bold@0 SF
(DELETING LOCAL FOLDERS)87 316.8 Q(Of\215ineIMAP)108 328.8 Q F0 .532 (DELETING LOCAL FOLDERS)87 345.6 Q(Of\215ineIMAP)108 357.6 Q F0 .533
(does a tw)3.032 F(o-w)-.1 E .532(ay synchronization.)-.1 F .532 (does a tw)3.033 F(o-w)-.1 E .533(ay synchronization.)-.1 F .532
(That is, if you mak)5.532 F 3.032(eac)-.1 G .532 (That is, if you mak)5.532 F 3.032(eac)-.1 G .532
(hange to the mail on the serv)-3.032 F(er)-.15 E 3.033(,i)-.4 G(t) (hange to the mail on the serv)-3.032 F(er)-.15 E 3.032(,i)-.4 G(t)
-3.033 E .897(will be propog)108 340.8 R .897(ated to your local cop) -3.032 E .896(will be propog)108 369.6 R .896(ated to your local cop)
-.05 F 2.197 -.65(y, a)-.1 H .897(nd vise-v).65 F 3.397(ersa. Some)-.15 -.05 F 2.197 -.65(y, a)-.1 H .897(nd vise-v).65 F 3.397(ersa. Some)-.15
F .896(people might think that it w)3.397 F .896(ould be wise to)-.1 F F .897(people might think that it w)3.397 F .897(ould be wise to)-.1 F
1.59(just delete all their local mail folders periodically)108 352.8 R 1.59(just delete all their local mail folders periodically)108 381.6 R
6.59(.I)-.65 G 4.09(fy)-6.59 G 1.59(ou do this with Of)-4.09 F 6.59(.I)-.65 G 4.09(fy)-6.59 G 1.59(ou do this with Of)-4.09 F
(\215ineIMAP)-.25 E 4.09(,r)-1.11 G 1.59(emember to also)-4.09 F(remo) (\215ineIMAP)-.25 E 4.09(,r)-1.11 G 1.59(emember to also)-4.09 F(remo)
108 364.8 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of) 108 393.6 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of)
.15 F 1.37(\215ineimap by def)-.25 F 3.87(ault\). Otherwise,)-.1 F(Of) .15 F 1.37(\215ineimap by def)-.25 F 3.87(ault\). Otherwise,)-.1 F(Of)
3.87 E 1.37(\215ineIMAP will tak)-.25 F 3.87(et)-.1 G 1.37(his as an) 3.87 E 1.37(\215ineIMAP will tak)-.25 F 3.87(et)-.1 G 1.37(his as an)
-3.87 F .415(intentional deletion of man)108 376.8 R 2.915(ym)-.15 G -3.87 F .416(intentional deletion of man)108 405.6 R 2.916(ym)-.15 G
.416(essages and will interpret your action as requesting them to be de\ .416(essages and will interpret your action as requesting them to be de\
leted from)-2.915 F(the serv)108 388.8 Q(er as well.)-.15 E leted from)-2.916 F(the serv)108 417.6 Q(er as well.)-.15 E
(\(If you don')5 E 2.5(tu)-.18 G(nderstand this, don')-2.5 E 2.5(tw)-.18 (\(If you don')5 E 2.5(tu)-.18 G(nderstand this, don')-2.5 E 2.5(tw)-.18
G(orry; you probably w)-2.6 E(on')-.1 E 2.5(te)-.18 G G(orry; you probably w)-2.6 E(on')-.1 E 2.5(te)-.18 G
(ncounter this situation\))-2.5 E F2(MAILING LIST)87 405.6 Q F0 (ncounter this situation\))-2.5 E F2(MAILING LIST)87 434.4 Q F0
(There is an Of)108 417.6 Q(\215ineIMAP mailing list a)-.25 E -.25(va) (There is an Of)108 446.4 Q(\215ineIMAP mailing list a)-.25 E -.25(va)
-.2 G(ilable.).25 E 2.448 -.8(To s)108 434.4 T .847 -.2 G(ilable.).25 E 2.447 -.8(To s)108 463.2 T .847
(ubscribe, send the te).8 F .847 (ubscribe, send the te).8 F .847
(xt "Subscribe" in the subject of a mail to of)-.15 F (xt "Subscribe" in the subject of a mail to of)-.15 F
(\215ineimap-request@complete.or)-.25 E 3.347(g. T)-.18 F(o)-.8 E (\215ineimap-request@complete.or)-.25 E 3.348(g. T)-.18 F(o)-.8 E
(post, send the message to of)108 446.4 Q(\215ineimap@complete.or)-.25 E (post, send the message to of)108 475.2 Q(\215ineimap@complete.or)-.25 E
(g.)-.18 E F1 -.11(BU)72 463.2 S(GS).11 E F0 (g.)-.18 E F1 -.11(BU)72 492 S(GS).11 E F0
(Should be reported to the author at the address speci\214ed belo)108 (Should be reported to the author at the address speci\214ed belo)108
475.2 Q -.65(w.)-.25 G F1(COPYRIGHT)72 492 Q F0(Of)108 504 Q 504 Q -.65(w.)-.25 G F1(COPYRIGHT)72 520.8 Q F0(Of)108 532.8 Q
(\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .286 (\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .287
(This program is free softw)108 520.8 R .286(are; you can redistrib)-.1 (This program is free softw)108 549.6 R .287(are; you can redistrib)-.1
F .287(ute it and/or modify it under the terms of the GNU General)-.2 F F .286(ute it and/or modify it under the terms of the GNU General)-.2 F
.766(Public License as published by the Free Softw)108 532.8 R .766 .766(Public License as published by the Free Softw)108 561.6 R .766
(are F)-.1 F .766(oundation; either v)-.15 F .766 (are F)-.1 F .766(oundation; either v)-.15 F .766
(ersion 2 of the License, or \(at your)-.15 F(option\) an)108 544.8 Q (ersion 2 of the License, or \(at your)-.15 F(option\) an)108 573.6 Q
2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .579(This program is distrib) 2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .58(This program is distrib)
108 561.6 R .579(uted in the hope that it will be useful, b)-.2 F .58 108 590.4 R .579(uted in the hope that it will be useful, b)-.2 F .579
(ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.08(;w)-.92 G(ithout)-3.08 E (ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.079(;w)-.92 G(ithout)-3.079 E
-2.15 -.25(ev e)108 573.6 T 2.73(nt).25 G .23(he implied w)-2.73 F .229 -2.15 -.25(ev e)108 602.4 T 2.729(nt).25 G .229(he implied w)-2.729 F
(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F(AR) .229(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F
-.92 E .229(TICULAR PURPOSE.)-.6 F(See)5.229 E (AR)-.92 E .23(TICULAR PURPOSE.)-.6 F(See)5.23 E
(the GNU General Public License for more details.)108 585.6 Q -1.1(Yo) (the GNU General Public License for more details.)108 614.4 Q -1.1(Yo)
108 602.4 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei) 108 631.2 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei)
.15 E -.15(ve)-.25 G 2.77(dac).15 G(op)-2.77 E 2.77(yo)-.1 G 2.77(ft) .15 E -.15(ve)-.25 G 2.77(dac).15 G(op)-2.77 E 2.77(yo)-.1 G 2.77(ft)
-2.77 G .27 -2.77 G .27
(he GNU General Public License along with this program; if not, write) (he GNU General Public License along with this program; if not, write)
-2.77 F(to:)108 614.4 Q(Free Softw)108 631.2 Q(are F)-.1 E -2.77 F(to:)108 643.2 Q(Free Softw)108 660 Q(are F)-.1 E
(oundation, Inc.)-.15 E(59 T)108 643.2 Q(emple Place)-.7 E(Suite 330)108 (oundation, Inc.)-.15 E(59 T)108 672 Q(emple Place)-.7 E(Suite 330)108
655.2 Q(Boston, MA)108 667.2 Q(02111-1307)5 E(USA)108 679.2 Q F1 -.548 684 Q(Boston, MA)108 696 Q(02111-1307)5 E(USA)108 708 Q(John Goerzen)72
(AU)72 696 S(THOR).548 E F2(Of\215ineIMAP)108 708 Q(,)-.92 E F0 .488 768 Q(July 12, 2002)151.655 E(5)201.915 E EP
(its libraries, documentation, and all included \214les, e)2.988 F .488
(xcept where noted, w)-.15 F .487(as written by John)-.1 F
(Goerzen <jgoerzen@complete.or)108 720 Q(g> and cop)-.18 E
(yright is held as stated in the COPYRIGHT section.)-.1 E(John Goerzen)
72 768 Q(July 11, 2002)151.655 E(5)201.915 E EP
%%Page: 6 6 %%Page: 6 6
%%BeginPageSetup %%BeginPageSetup
BP BP
%%EndPageSetup %%EndPageSetup
/F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R
(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(Of)108 84 Q (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10.95
/Times-Bold@0 SF -.548(AU)72 84 S(THOR).548 E/F2 10/Times-Bold@0 SF
(Of\215ineIMAP)108 96 Q(,)-.92 E F0 .488
(its libraries, documentation, and all included \214les, e)2.987 F .488
(xcept where noted, w)-.15 F .488(as written by John)-.1 F
(Goerzen <jgoerzen@complete.or)108 108 Q(g> and cop)-.18 E
(yright is held as stated in the COPYRIGHT section.)-.1 E(Of)108 124.8 Q
(\215ineIMAP may be do)-.25 E(wnloaded, and information found, from its\ (\215ineIMAP may be do)-.25 E(wnloaded, and information found, from its\
homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 100.8 Q homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 141.6 Q
(g/1/de)-.18 E -.15(ve)-.25 G(l/of).15 E(\215ineimap)-.25 E (g/1/de)-.18 E -.15(ve)-.25 G(l/of).15 E(\215ineimap)-.25 E
(http://quux.or)108 112.8 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E (http://quux.or)108 153.6 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E
(\215ineimap)-.25 E/F1 10.95/Times-Bold@0 SF(SEE ALSO)72 141.6 Q/F2 10 (\215ineimap)-.25 E F1(SEE ALSO)72 182.4 Q F2(mutt)108 194.4 Q F0
/Times-Bold@0 SF(mutt)108 153.6 Q F0(\(1\),)A F2(python)2.5 E F0(\(1\).) (\(1\),)A F2(python)2.5 E F0(\(1\).)A(John Goerzen)72 768 Q
A(John Goerzen)72 768 Q(July 11, 2002)151.655 E(6)201.915 E EP (July 12, 2002)151.655 E(6)201.915 E EP
%%Trailer %%Trailer
end end
%%EOF %%EOF

View File

@ -8,7 +8,7 @@ NAME
SYNOPSIS SYNOPSIS
offlineimap [ -1 ] [ -a accountlist ] [ -c configfile ] offlineimap [ -1 ] [ -a accountlist ] [ -c configfile ]
[ -d ] [ -u interface ] [ -d ] [ -o ] [ -u interface ]
offlineimap -h | --help offlineimap -h | --help
@ -175,17 +175,23 @@ OPTIONS
remove that from the debugging output before send- remove that from the debugging output before send-
ing it to anyone else. ing it to anyone else.
-o Run only once, ignoring any autorefresh setting in
the config file.
-h, --help -h, --help
Show summary of options. Show summary of options.
-u interface -u interface
Specifies an alternative user interface module to Specifies an alternative user interface module to
use. This overrides the default specified in the use. This overrides the default specified in the
configuration file. The UI specified with -u will configuration file. The UI specified with -u will
be forced to be used, even if its isuable() method be forced to be used, even if its isuable() method
states that it cannot be. Use this option with states that it cannot be. Use this option with
care. care.
The pre-defined options are Tk.TKUI (a graphical
interface) and TTY.TTYUI (a text-mode interface).
EXAMPLES EXAMPLES
Here is an example configuration for a particularly com- Here is an example configuration for a particularly com-
plex situation; more examples will be added later. plex situation; more examples will be added later.
@ -453,4 +459,4 @@ SEE ALSO
John Goerzen July 11, 2002 OFFLINEIMAP(1) John Goerzen July 12, 2002 OFFLINEIMAP(1)

View File

@ -41,6 +41,12 @@ class BaseFolder:
InstanceLimitedThreads.""" InstanceLimitedThreads."""
raise NotImplementedException raise NotImplementedException
def storesmessages(self):
"""Should be true for any backend that actually saves message bodies.
(Almost all of them). False for the LocalStatus backend. Saves
us from having to slurp up messages just for localstatus purposes."""
return 1
def getvisiblename(self): def getvisiblename(self):
return self.name return self.name
@ -171,8 +177,19 @@ class BaseFolder:
pass pass
def copymessageto(self, uid, applyto): def copymessageto(self, uid, applyto):
# Sometimes, it could be the case that if a sync takes awhile,
# a message might be deleted from the maildir before it can be
# synced to the status cache. This is only a problem with
# self.getmessage(). So, don't call self.getmessage unless
# really needed.
__main__.ui.copyingmessage(uid, self, applyto) __main__.ui.copyingmessage(uid, self, applyto)
message = self.getmessage(uid) message = ''
# If any of the destinations actually stores the message body,
# load it up.
for object in applyto:
if object.storesmessages():
message = self.getmessage(uid)
break
flags = self.getmessageflags(uid) flags = self.getmessageflags(uid)
for object in applyto: for object in applyto:
newuid = object.savemessage(uid, message, flags) newuid = object.savemessage(uid, message, flags)

View File

@ -29,6 +29,9 @@ class LocalStatusFolder(BaseFolder):
self.filename = os.path.join(root, name) self.filename = os.path.join(root, name)
self.messagelist = None self.messagelist = None
def storesmessages(self):
return 0
def isnewfolder(self): def isnewfolder(self):
return not os.path.exists(self.filename) return not os.path.exists(self.filename)

View File

@ -66,7 +66,7 @@ class MaildirFolder(BaseFolder):
self.saveuidvalidity(remotefolder.getuidvalidity()) self.saveuidvalidity(remotefolder.getuidvalidity())
return 1 return 1
def cachemessagelist(self): def _scanfolder(self):
"""Cache the message list. Maildir flags are: """Cache the message list. Maildir flags are:
R (replied) R (replied)
S (seen) S (seen)
@ -74,7 +74,7 @@ class MaildirFolder(BaseFolder):
D (draft) D (draft)
F (flagged) F (flagged)
and must occur in ASCII order.""" and must occur in ASCII order."""
self.messagelist = {} retval = {}
files = [] files = []
nouidcounter = -1 # Messages without UIDs get nouidcounter = -1 # Messages without UIDs get
# negative UID numbers. # negative UID numbers.
@ -114,9 +114,13 @@ class MaildirFolder(BaseFolder):
# more robust. # more robust.
os.unlink(file) os.unlink(file)
else: else:
self.messagelist[uid] = {'uid': uid, retval[uid] = {'uid': uid,
'flags': flags, 'flags': flags,
'filename': file} 'filename': file}
return retval
def cachemessagelist(self):
self.messagelist = self._scanfolder()
def getmessagelist(self): def getmessagelist(self):
return self.messagelist return self.messagelist
@ -195,6 +199,13 @@ class MaildirFolder(BaseFolder):
if not uid in self.messagelist: if not uid in self.messagelist:
return return
filename = self.getmessagelist()[uid]['filename'] filename = self.getmessagelist()[uid]['filename']
os.unlink(filename) try:
os.unlink(filename)
except IOError:
# Can't find the file -- maybe already deleted?
newmsglist = self._scanfolder()
if uid in newmsglist: # Nope, try new filename.
os.unlink(newmsglist[uid]['filename'])
# Yep -- return.
del(self.messagelist[uid]) del(self.messagelist[uid])