1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
5 >OfflineIMAP Manual
</TITLE
8 CONTENT=
"Modular DocBook HTML Stylesheet Version 1.7"></HEAD
25 >I. OfflineIMAP Manual
</H1
37 > --
Powerful IMAP/Maildir synchronization
38 and reader support
</DT
54 >OfflineIMAP
--
Powerful IMAP/Maildir synchronization
55 and reader support
</DIV
57 CLASS=
"REFSYNOPSISDIV"
103 > is a tool to simplify your e-mail
107 >, you can read the same mailbox
108 from multiple computers. You get a current copy of your
109 messages on each computer, and changes you make one place will be
110 visible on all other systems. For instance, you can delete a message
111 on your home computer, and it will appear deleted on your work
112 computer as well.
<SPAN
115 > is also useful if you want to
116 use a mail reader that does not have IMAP support, has poor IMAP
117 support, or does not provide disconnected operation.
130 my two accounts with over
50 folders in
3 seconds. Other
131 similar tools might take over a minute, and achieve a
132 less-reliable result. Some mail readers can take over
10
133 minutes to do the same thing, and some don't even support it
134 at all. Unlike other mail tools,
<SPAN
138 multi-threaded synchronization algorithm that can dramatically
139 speed up performance in many situations by synchronizing
140 several different things simultaneously.
153 customize which folders are synced via regular expressions,
154 lists, or Python expressions; a versatile and comprehensive
155 configuration file is used to control behavior; two user
156 interfaces are built-in; fine-tuning of synchronization
157 performance is possible; internal or external automation is
158 supported; SSL and PREAUTH tunnels are both supported; offline
159 (or
"unplugged") reading is supported; and esoteric IMAP
160 features are supported to ensure compatibility with the widest
161 variety of IMAP servers.
174 algorithm designed to prevent mail loss at all costs. Because
175 of the design of this algorithm, even programming errors
176 should not result in loss of mail. I am so confident in the
177 algorithm that I use my own personal and work accounts for
181 > pre-release, development, and beta
182 releases. Of course, legally speaking,
<SPAN
186 with no warranty, so I am not responsible if this turns out
195 >Method of Operation
</H3
201 operates by maintaining a hierarchy of
202 mail folders in Maildir format locally. Your own mail
203 reader will read mail from this tree, and need never know
204 that the mail comes from IMAP.
<SPAN
208 changes to the mail folders on your IMAP server and your own
209 computer and bi-directionally synchronize them, copying,
210 marking, and deleting messages as necessary.
216 > 4.0, a powerful new ability has been
217 introduced -- the program can now synchronize two IMAP
218 servers with each other, with no need to have a Maildir
219 layer in-between. Many people use this if they use a mail
220 reader on their local machine that does not support
221 Maildirs. People may install an IMAP server on their local
222 machine, and point both
<SPAN
225 > and their mail reader
226 of choice at it. This is often preferable to the mail
227 reader's own IMAP support since
<SPAN
231 features (offline reading, for one) that most IMAP-aware
232 readers don't. However, this feature is not as time-tested
233 as traditional syncing, so my advice is to stick with normal
234 methods of operation for the time being.
246 >If you have already installed
<SPAN
250 or your system administrator has done that for you, your task
254 > for the first time is quite
255 simple. You just need to set up your configuration file, make
256 your folder directory, and run it!
259 >You can quickly set up your configuration file. The distribution
262 >offlineimap.conf.minimal
</TT
268 >/usr/share/doc/offlineimap/examples/offlineimap.conf.minimal
</TT
269 >) that is a basic example of setting of
<SPAN
273 simply copy this file into your home directory and name it
277 > (note the leading period). A
280 >cp offlineimap.conf.minimal ~/.offlineimaprc
</B
281 > will do it. Or, if you prefer, you can just copy this text to
284 >~/.offlineimaprc
</TT
288 CLASS=
"PROGRAMLISTING"
293 localrepository = Local
294 remoterepository = Remote
298 localfolders = ~/Test
302 remotehost = examplehost
303 remoteuser = jgoerzen
</PRE
307 >~/.offlineimaprc
</TT
309 your favorite editor. All you have to do is specify a directory
310 for your folders to be in (on the
<SPAN
314 line), the host name of your IMAP server (on the
318 > line), and your login name on
319 the remote (on the
<SPAN
328 >, you just have to say
332 > -- it will fire up, ask you for
333 a login password if necessary, synchronize your folders, and exit.
334 See? You can just throw away the rest of this finely-crafted,
335 perfectly-honed manual! Of course, if you want to see how you can
339 > FIVE TIMES FASTER FOR JUST $
19.95 (err, well,
340 $
0), you have to read on!
351 >If you are reading this document via the
"man" command, it is
353 that you have no installation tasks to perform; your system
354 administrator has already installed it. If you need to install it
355 yourself, you have three options: a system-wide installation with
356 Debian, system-wide installation with other systems, and a single-user
357 installation. You can download the latest version of
<SPAN
362 HREF=
"http://quux.org/devel/offlineimap/"
379 >In order to use
<SPAN
382 >, you need to have these conditions
390 >Your mail server must support IMAP. Most Internet Service
392 and corporate networks do, and most operating systems
394 implementation readily available.
399 > You must have Python version
2.2.1 or above installed.
401 running on Debian GNU/Linux, this requirement will automatically be
402 taken care of for you. If you do not have Python already, check with
403 your system administrator or operating system vendor; or, download it from
405 HREF=
"http://www.python.org/"
407 >the Python website
</A
409 If you intend to use the Tk interface, you must have Tkinter
410 (python-tk) installed. If you intend to use the SSL interface, your
411 Python must have been built with SSL support.
416 > Have a mail reader that supports the Maildir mailbox
417 format. Most modern mail readers have this support
418 built-in, so you can choose from a wide variety of mail
419 servers. This format is also known as the
"qmail"
420 format, so any mail reader compatible with it will work
424 >. If you do not have a mail reader
425 that supports Maildir, you can often install a local
426 IMAP server and point both
<SPAN
441 >System-Wide Installation, Debian
</H3
443 > If you are tracking Debian unstable, you may install
447 > by simply running the following command as root:
452 >apt-get install offlineimap
</B
456 > If you are not tracking Debian unstable, download the Debian .deb
458 HREF=
"http://quux.org/devel/offlineimap/"
468 > to install the downloaded
469 package. Then, skip to
<A
470 HREF=
"#CONFIGURATION"
474 > below. You will type
<B
487 >System-Wide Installation, Other
</H3
489 > Download the tar.gz version of the package from the
491 HREF=
"http://quux.org/devel/offlineimap/"
496 these commands, making sure that you are the
"root" user first:
499 CLASS=
"PROGRAMLISTING"
500 >tar -zxvf offlineimap_x.y.z.tar.gz
502 python2.2 setup.py install
</PRE
504 >On some systems, you will need to use
513 HREF=
"#CONFIGURATION"
517 > below. You will type
<B
530 >Single-Account Installation
</H3
532 > Download the tar.gz version of the package from the
534 HREF=
"http://quux.org/devel/offlineimap/"
538 Then run these commands:
541 CLASS=
"PROGRAMLISTING"
542 >tar -zxvf offlineimap_x.y.z.tar.gz
543 cd offlineimap-x.y.z
</PRE
545 >When you want to run
<SPAN
548 >, you will issue the
552 > command as above and then type
556 >; there is no installation
572 > is regulated by a configuration file that is normally
575 >~/.offlineimaprc
</TT
580 ships with a file named
<TT
582 >offlineimap.conf
</TT
584 that you should copy to that location and then edit. This file is
585 vital to proper operation of the system; it sets everything you need
589 >. Full documentation for the configuration file
590 is included within the sample file.
596 > also ships a file named
599 >offlineimap.conf.minimal
</TT
600 > that you can also try.
601 It's useful if you want to get started with
602 the most basic feature set, and you can read about other features
605 >offlineimap.conf
</TT
617 > Most configuration is done via the configuration file. Nevertheless,
618 there are a few command-line options that you may set for
633 >Disable most multithreading operations and use
634 solely a single-connection
635 sync. This effectively sets the
638 >maxsyncaccounts
</SPAN
642 >maxconnections
</SPAN
657 > into profile mode. The program
662 (it must not already exist). As it runs, Python profiling
664 about each thread is logged into profiledir. Please note: This option
665 is present for debugging and optimization only, and should NOT be used
666 unless you have a specific reason to do so. It will significantly
667 slow program performance, may reduce reliability, and can generate
668 huge amounts of data. You must use the
<VAR
692 > section of the configuration
693 file. You might use this to exclude certain accounts, or to sync
694 some accounts that you normally prefer not to. Separate the
695 accounts by commas, and use no embedded spaces.
705 >Specifies a configuration file to use in lieu of
708 >~/.offlineimaprc
</TT
715 >debugtype[,...]
</VAR
719 >Enables debugging for OfflineIMAP. This is useful if
720 you are trying to track down a malfunction or figure out what is going
721 on under the hood. I suggest that you use this with
725 > to make the results more sensible.
</P
730 > requires one or more debugtypes,
731 separated by commas. These define what exactly will be
732 debugged, and include three options:
<SPAN
747 option will enable IMAP protocol stream and parsing debugging. Note
748 that the output may contain passwords, so take care to remove that
749 from the debugging output before sending it to anyone else. The
753 > option will enable debugging for
754 certain Maildir operations. And
<SPAN
758 will debug the threading model.
769 > Enables logging to filename. This will log everything
770 that goes to the screen to the specified file.
771 Additionally, if any debugging is specified with -d,
772 then debug messages will not go to the screen, but
773 instead to the logfile only.
</P
779 >Run only once, ignoring all
783 > settings in the configuration
790 >Show summary of options.
</P
799 >Specifies an alternative user interface module
800 to use. This overrides the default specified in the
801 configuration file. The pre-defined options are listed in
802 the User Interfaces section.
</P
818 > has a pluggable user interface system that lets you choose how the
819 program communicates information to you. There are two graphical
820 interfaces, two terminal interfaces, and two noninteractive interfaces
821 suitable for scripting or logging purposes. The
825 > option in the configuration file specifies
826 user interface preferences. The
<VAR
830 option can override the configuration file setting. The available
831 values for the configuration file or command-line are described
839 >Tk.Blinkenlights
</H3
841 >Tk.Blinkenlights is an interface designed to be sleek, fun to watch, and
842 informative of the overall picture of what
<SPAN
846 is doing. I consider it to be the best general-purpose interface in
853 > Tk.Blinkenlights contains, by default, a small window with a row of
854 LEDs, a small log, and a row of command buttons.
855 The total size of the window is
856 very small, so it uses little desktop space, yet it is quite
857 functional. The optional, toggleable, log shows more
858 detail about what is happening and is color-coded to match the color
862 > Tk.Blinkenlights is the only user interface that has configurable
863 parameters; see the example
<TT
865 >offlineimap.conf
</TT
870 > Each light in the Blinkenlights interface represents a thread
871 of execution -- that is, a particular task that
<SPAN
875 is performing right now. The colors indicate what task
876 the particular thread is performing, and are as follows:
887 >indicates that this light's thread has terminated; it will light up
888 again later when new threads start up. So, black indicates no
896 >is the color of the main program's thread, which basically does
897 nothing but monitor the others. It might remind you of HAL
9000 in
908 >indicates that the thread is establishing a new connection to the IMAP
916 >is the color of an account synchronization thread that is monitoring
917 the progress of the folders in that account (not generating any I/O).
924 >indicates that the thread is syncing a folder.
931 >means that a folder's message list is being loaded.
938 >is the color of a message synchronization controller thread.
945 >indicates that an actual message is being copied.
946 (We use fuchsia for fake messages.)
953 >indicates that a message is being deleted.
957 >Yellow / bright orange
</DT
960 >indicates that message flags are being added.
964 >Pink / bright red
</DT
967 >indicates that message flags are being removed.
971 >Red / Black Flashing
</DT
974 >corresponds to the countdown timer that runs between
981 >The name of this interfaces derives from a bit of computer
982 history. Eric Raymond's [
<SPAN
997 >Front-panel diagnostic
998 lights on a computer, esp. a dinosaur. Now that dinosaurs are rare,
999 this term usually refers to status lights on a modem, network hub, or
1003 > This term derives from the last word of the famous blackletter-Gothic
1004 sign in mangled pseudo-German that once graced about half the computer
1005 rooms in the English-speaking world. One version ran in its entirety as
1013 >ACHTUNG! ALLES LOOKENSPEEPERS!
</I
1018 > Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
1019 Ist easy schnappen der springenwerk, blowenfusen und poppencorken
1020 mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen.
1021 Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
1022 pockets muss; relaxen und watchen das blinkenlichten.
1032 >Curses.Blinkenlights
</H3
1034 > Curses.Blinkenlights is an interface very similar to Tk.Blinkenlights,
1035 but is designed to be run in a console window (an xterm, Linux virtual
1036 terminal, etc.) Since it doesn't have access to graphics, it isn't
1037 quite as pretty, but it still gets the job done.
1040 >Please see the Tk.Blinkenlights section above for more
1041 information about the colors used in this interface.
1052 > Tk.VerboseUI (formerly known as Tk.TkUI) is a graphical interface
1053 that presents a variable-sized window. In the window, each
1054 currently-executing thread has a section where its name and current
1055 status are displayed. This interface is best suited to people running
1056 on slower connections, as you get a lot of detail, but for fast
1057 connections, the detail may go by too quickly to be useful. People
1058 with fast connections may wish to use Tk.Blinkenlights instead.
1069 > TTY.TTYUI interface is for people running in basic, non-color terminals. It
1070 prints out basic status messages and is generally friendly to use on a console
1080 >Noninteractive.Basic
</H3
1082 > Noninteractive.Basic is designed for situations in which
<SPAN
1086 will be run non-attended and the status of its execution will be
1087 logged. You might use it, for instance, to have the system run
1089 e-mail you the results of the synchronization. This user interface
1090 is not capable of reading a password from the keyboard; account
1091 passwords must be specified using one of the configuration file options.
1100 >Noninteractive.Quiet
</H3
1102 > Noninteractive.Quiet is designed for non-attended running in situations
1103 where normal status messages are not desired. It will output nothing
1104 except errors and serious warnings. Like Noninteractive.Basic,
1106 is not capable of reading a password from the keyboard; account
1107 passwords must be specified using one of the configuration file options.
1119 >Here are some example configurations for various situations.
1120 Please e-mail any other examples you have that may be useful to
1129 >Multiple Accounts with Mutt
</H3
1131 > This example shows you how to set up
<SPAN
1135 synchronize multiple accounts with the mutt mail reader.
1138 > Start by creating a directory to hold your folders by running
1145 >~/.offlineimaprc
</TT
1149 CLASS=
"PROGRAMLISTING"
1150 >accounts = Personal, Work
</PRE
1152 > Make sure that you have both an
1155 >[Account Personal]
</SPAN
1159 >[Account Work]
</SPAN
1161 local repository for each account must have different
1173 > In each local repository section, write something like this:
1176 CLASS=
"PROGRAMLISTING"
1177 >localfolders = ~/Mail/Personal
</PRE
1179 > Finally, add these lines to your
<TT
1185 CLASS=
"PROGRAMLISTING"
1186 >source ~/path-to-mbnames-muttrc-mailboxes
1187 folder-hook Personal set
from=
"youremail@personal.com"
1188 folder-hook Work set
from=
"youremail@work.com"
1189 set mbox_type=Maildir
1190 set folder=$HOME/Mail
1191 spoolfile=+Personal/INBOX
</PRE
1202 >UW-IMAPD and References
</H3
1204 >Some users with a UW-IMAPD server need to use
<SPAN
1208 "reference" feature to get at their mailboxes, specifying a reference
1209 of
"~/Mail" or
"#mh/" depending on the configuration. The below
1210 configuration from (originally from docwhat@gerf.org)
1219 the leading Mail/ off incoming folder names, and a
1224 limits the folders synced to just three.
1227 CLASS=
"PROGRAMLISTING"
1229 localrepository = GerfLocal
1230 remoterepository = GerfRemote
1232 [Repository GerfLocal]
1234 localfolders = ~/Mail
1236 [Repository GerfRemote]
1238 remotehost = gerf.org
1240 remoteuser = docwhat
1242 # Trims off the preceeding Mail on all the folder names.
1243 nametrans = lambda foldername: \
1244 re.sub('^Mail/', '', foldername)
1245 # Yeah, you have to mention the Mail dir, even though it
1246 # would seem intuitive that reference would trim it.
1247 folderfilter = lambda foldername: foldername in [
1249 'Mail/list/zaurus-general',
1250 'Mail/list/zaurus-dev',
1253 holdconnectionopen = no
</PRE
1261 >pythonfile Configuration File Option
</H3
1267 load up a Python file before evaluating the
1268 configuration file options that are Python expressions. This example
1269 is based on one supplied by Tommi Virtanen for this feature.
1274 >~/.offlineimap.rc
</TT
1275 >, he adds these options:
1278 CLASS=
"PROGRAMLISTING"
1280 pythonfile=~/.offlineimap.py
1282 foldersort=mycmp
</PRE
1286 >~/.offlineimap.py
</TT
1291 CLASS=
"PROGRAMLISTING"
1292 >prioritized = ['INBOX', 'personal', 'announce', 'list']
1295 for prefix in prioritized:
1296 xsw = x.startswith(prefix)
1297 ysw = y.startswith(prefix)
1308 folders=os.listdir(os.path.expanduser('~/data/mail/tv@hq.yok.utu.fi'))
1312 > This code snippet illustrates how the
<SPAN
1316 option can be customized with a Python function from the
1320 > to always synchronize certain
1333 > If you get one of some frequently-encountered or confusing errors,
1334 please check this section.
1342 >UID validity problem for folder
</H3
1344 >IMAP servers use a unique ID (UID) to refer to a specific message.
1345 This number is guaranteed to be unique to a particular message
1353 No other message in the same folder will ever get the same
1354 UID. UIDs are an integral part of
<SPAN
1358 scheme; they are used to match up messages on your computer to
1359 messages on the server.
1362 > Sometimes, the UIDs on the server might get reset. Usually this will
1363 happen if you delete and then recreate a folder. When you create a
1364 folder, the server will often start the UID back from
1. But
1368 > might still have the UIDs from the previous folder by the
1369 same name stored.
<SPAN
1372 > will detect this condition and skip the
1373 folder. This is GOOD, because it prevents data loss.
1376 > You can fix it by removing your local folder and cache data. For
1377 instance, if your folders are under
<TT
1381 and the folder with the problem is INBOX, you'd type this:
1384 CLASS=
"PROGRAMLISTING"
1385 >rm -r ~/Folders/INBOX
1386 rm -r ~/.offlineimap/Account-
<VAR
1390 rm -r ~/.offlineimap/Repository-
<VAR
1392 >RepositoryName
</VAR
1395 > (Of course, replace AccountName and RepositoryName
1396 with the names as specified
1399 >~/.offlineimaprc
</TT
1403 >Next time you run
<SPAN
1406 >, it will re-download
1408 new UIDs. Note that the procedure specified above will lose any local
1409 changes made to the folder.
1412 > Some IMAP servers are broken and do not support UIDs properly. If you
1413 continue to get this error for all your folders even after performing
1414 the above procedure, it is likely that your IMAP server falls into
1415 this category.
<SPAN
1418 > is incompatible with such servers.
1422 > with them will not destroy any mail, but at the same time,
1423 it will not actually synchronize it either. (
<SPAN
1427 this condition and abort prior to synchronization.)
1430 > This question comes up frequently on the
1432 HREF=
"http://lists.complete.org/offlineimap@complete.org/"
1441 HREF=
"http://lists.complete.org/offlineimap@complete.org/2003/04/msg00012.html.gz"
1445 > of the problem there.
1455 >Other Frequently Asked Questions
</H2
1457 >There are some other FAQs that might not fit into another section
1458 of the document, so they are discussed here.
1463 CLASS=
"VARIABLELIST"
1466 >What platforms does
<SPAN
1472 > It should run on most platforms supported by Python, which are quite a
1473 few. I do not support Windows myself, but some have made
1474 it work there; see the FAQ entry for that platform.
1478 >I'm using Mutt. Other IMAP sync programs require me to use
"set maildir_trash=yes". Do I need to do that with
<SPAN
1487 > is smart enough to figure out message deletion without this extra
1488 crutch. You'll get the best results if you don't use this setting, in
1493 >I've upgraded and now
<SPAN
1497 crashes when I start it up! Why?
</DT
1500 >You need to upgrade your configuration
1501 file. See at the end of this
1506 >How do I specify the names of my folders?
</DT
1509 > You do not need to.
<SPAN
1513 enough to automatically figure out what folders are present
1514 on the IMAP server and synchronize them. You can use the
1522 configuration file options to request certain folders and rename them
1523 as they come in if you like.
1527 >How can I prevent certain folders from being synced?
</DT
1533 > option in the configuration file.
1537 >How can I add or delete a folder?
</DT
1543 > does not currently provide this feature, but if you create a new
1544 folder on the IMAP server, it will be created locally automatically.
1548 >Are there any other warnings that I should be aware of?
</DT
1551 > Yes; see the Notes section below.
1555 >What is the mailbox name recorder (mbnames) for?
</DT
1558 >Some mail readers, such as Mutt, are not capable
1559 of automatically determining the names of your mailboxes.
1563 > can help these programs by writing the names
1564 of the folders in a format you specify. See the example
1567 >offlineimap.conf
</TT
1572 >Can I synchronize multiple accounts with
<SPAN
1578 >Sure. Just name them all in the
1586 section of the configuration file, and add a per-account section
1597 >No. POP is not robust enough to do a completely reliable
1598 multi-machine synchronization like
<SPAN
1605 will not support it.
1612 > support mailbox formats other than Maildir?
</DT
1615 >Not at present. There is no technical reason not to; just no
1616 demand yet. Maildir is a superior format anyway.
1620 > can sync between two IMAP
1621 servers, and some IMAP servers support other formats. You
1622 could install an IMAP server on your local machine and have
1630 >[technical] Why are your Maildir message filenames so huge?
</DT
1636 > has two relevant principles:
1) never modifying your
1637 messages in any way and
2) ensuring
100% reliable synchronizations.
1638 In order to do a reliable sync,
<SPAN
1643 uniquely identify each e-mail. Three pieces of information are
1644 required to do this: your account name, the folder name, and the
1645 message UID. The account name can be calculated from the path in
1646 which your messages are. The folder name can usually be as well, BUT
1647 some mail clients move messages between folders by simply moving the
1648 file, leaving the name intact.
1654 > must store both a UID folder ID. The folder ID is
1658 > can detect a message moved to a different
1662 > stores the UID (U= number) and an md5sum of the
1663 foldername (FMD5= number) to facilitate this.
1667 >What is the speed of
<SPAN
1674 versions
2.0 and above contain a multithreaded system. A good way to
1675 experiment is by setting
<SPAN
1677 >maxsyncaccounts
</SPAN
1680 >maxconnections
</SPAN
1682 in each account clause.
1685 >This lets OfflineIMAP open up multiple connections simultaneously.
1686 That will let it process multiple folders and messages at once. In
1687 most cases, this will increase performance of the sync.
1690 >Don't set the number too high. If you do that, things might actually
1691 slow down as your link gets saturated. Also, too many connections can
1692 cause mail servers to have excessive load. Administrators might take
1693 unkindly to this, and the server might bog down. There are many
1694 variables in the optimal setting; experimentation may help.
1697 >An informal benchmark yields these results for my setup:
1704 >10 minutes with MacOS X Mail.app
"manual cache"
1709 >5 minutes with GNUS agent sync
</P
1713 >20 seconds with OfflineIMAP
1.x
</P
1717 >9 seconds with OfflineIMAP
2.x
</P
1721 >3 seconds with OfflineIMAP
3.x
"cold start"</P
1725 >2 seconds with OfflineIMAP
3.x
"held connection"</P
1736 > These answers have been reported by
<SPAN
1740 users. I do not run
<SPAN
1743 > on Windows myself, so
1744 I can't directly address their accuracy.
1747 > The basic answer is that it's possible and doesn't
1748 require hacking
<SPAN
1751 > source code. However,
1752 it's not necessarily trivial. The information below is
1753 based in instructions submitted by Chris Walker.
1756 > First, you must run
<SPAN
1760 HREF=
"http://www.cygwin.com/"
1767 > Next, you'll need to mount your Maildir directory in a
1768 special way. There is information for doing that at
1770 HREF=
"http://barnson.org/node/view/295"
1772 >http://barnson.org/node/view/
295</A
1774 That site gives this example:
1777 CLASS=
"PROGRAMLISTING"
1778 >mount -f -s -b -o managed
"d:/tmp/mail" "/home/of/mail"
1781 > That URL also has more details on making OfflineIMAP
1800 >Internet Message Access Protocol version
4rev1 (IMAP
4rev1) as
1801 specified in RFC2060 and RFC3501
</P
1805 >CRAM-MD5 as specified in RFC2195
</P
1809 >Maildir as specified in
1811 HREF=
"http://www.qmail.org/qmail-manual-html/man5/maildir.html"
1813 >the Maildir manpage
</A
1816 HREF=
"http://cr.yp.to/proto/maildir.html"
1818 >the qmail website
</A
1823 >Standard Python
2.2.1 as implemented on POSIX-compliant systems.
</P
1840 >Deleting Local Folders
</H3
1845 > does a two-way synchronization. That is, if you
1846 make a change to the mail on the server, it will be propagated to your
1847 local copy, and vise-versa. Some people might think that it would be
1848 wise to just delete all their local mail folders periodically. If you
1852 >, remember to also remove your local status
1856 > by default). Otherwise,
<SPAN
1860 this as an intentional deletion of many messages and will interpret
1861 your action as requesting them to be deleted from the server as well.
1862 (If you don't understand this, don't worry; you probably won't
1863 encounter this situation)
1872 >Multiple Instances
</H3
1877 > is not designed to have several instances (for instance, a cron job and an interactive invocation) run over the same
1878 mailbox simultaneously. It will perform a check on startup and
1879 abort if another
<SPAN
1882 > is already running. If you need
1883 to schedule synchronizations, please use the
1887 > settings rather than cron.
1888 Alternatively, you can set a separate
<SPAN
1892 directory for each instance.
1901 >Copying Messages Between Folders
</H3
1903 > Normally, when you copy a message between folders or add a new message
1904 to a folder locally,
<SPAN
1908 will just do the right thing. However, sometimes this can be tricky
1909 -- if your IMAP server does not provide the SEARCH command, or does
1910 not return something useful,
<SPAN
1914 cannot determine the new UID of the message. So, in these rare
1915 instances, OfflineIMAP will upload the message to the IMAP server and
1916 delete it from your local folder. Then, on your next sync, the
1917 message will be re-downloaded with the proper UID.
1921 > makes sure that the message was properly uploaded before deleting it,
1922 so there should be no risk of data loss.
1931 >Use with Evolution
</H3
1936 > can work with Evolution. To do so, first configure
1944 > in its configuration. Then, configure
1946 "Maildir-format mail directories" server type. For the path, you will need to
1947 specify the name of the top-level folder
1969 >At this time, I believe that
<SPAN
1974 with KMail. KMail cannot work in any mode other than to move
1975 all messages out of all folders immediately, which (besides being annoying
1976 and fundamentally broken) is incompatible with
1983 > However, I have made KMail version
3 work well with
1987 > by installing an IMAP server on my local
1988 machine, having
<SPAN
1991 > sync to that, and pointing
1992 KMail at the same server.
2003 >There is an OfflineIMAP mailing list available.
2004 To subscribe, send the text
"Subscribe" in the subject of a mail to
2005 offlineimap-request@complete.org. To post, send the message to
2006 offlineimap@complete.org. Archives are available at
2008 HREF=
"http://lists.complete.org/offlineimap@complete.org/"
2010 >http://lists.complete.org/offlineimap@complete.org/
</A
2022 >Reports of bugs should be sent via e-mail to the
2026 > bug-tracking system (BTS) at
2027 offlineimap@bugs.complete.org or submitted online using
2029 HREF=
"http://bugs.complete.org/"
2035 > The Web site also lists all current bugs, where you can check their
2036 status or contribute to fixing them.
2043 NAME=
"UPGRADING.4.0"
2046 >Upgrading to
4.0</H2
2048 > If you are upgrading from a version of
<SPAN
2052 3.99.12, you will find that you will get errors when
2056 > starts up (relating to ConfigParser or
2057 AccountHashGenerator) and the
2058 configuration file. This is because the config file format
2059 had to change to accommodate new features in
4.0. Fortunately,
2060 it's not difficult to adjust it to suit.
2063 > First thing you need to do is stop any running
<SPAN
2067 instance, making sure first that it's synced all your mail.
2071 >~/.offlineimaprc
</TT
2072 > file. You'll need to
2073 split up each account section (make sure that it now starts
2074 with
"Account ") into two Repository sections (one for the
2075 local side and another for the remote side.) See the files
2078 >offlineimap.conf.minimal
</TT
2082 >offlineimap.conf
</TT
2083 > in the distribution if
2084 you need more assistance.
2090 >'s status directory area has also changed.
2091 Therefore, you should delete everything in ~/.offlineimap as
2092 well as your local mail folders.
2095 > When you start up
<SPAN
2098 > 4.0, it will re-download all
2099 your mail from the server and then you can continue using it
2111 >OfflineIMAP, and this manual, are Copyright
© 2002,
2003 John Goerzen.
</P
2113 > This program is free software; you can redistribute it and/or modify
2114 it under the terms of the GNU General Public License as published by
2115 the Free Software Foundation; either version
2 of the License, or
2116 (at your option) any later version.
2119 > This program is distributed in the hope that it will be useful,
2120 but WITHOUT ANY WARRANTY; without even the implied warranty of
2121 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2122 GNU General Public License for more details.
2125 > You should have received a copy of the GNU General Public License
2126 along with this program; if not, write to the Free Software
2127 Foundation, Inc.,
59 Temple Place, Suite
330, Boston, MA
02111-
1307 USA
</P
2129 >imaplib.py comes from the Python dev tree and is licensed under
2130 the GPL-compatible PSF license as stated in the file
2152 >, its libraries, documentation, and all included files, except where
2153 noted, was written by John Goerzen
<CODE
2156 HREF=
"mailto:jgoerzen@complete.org"
2157 >jgoerzen@complete.org
</A
2160 copyright is held as stated in the COPYRIGHT section.
2166 > may be downloaded, and information found, from its
2167 homepage via either
<A
2168 HREF=
"gopher://quux.org/1/devel/offlineimap"
2173 HREF=
"http://quux.org/devel/offlineimap"
2182 > may also be downloaded using Subversion. Additionally,
2183 the distributed tar.gz may be updated with a simple
"svn update"
2184 command; it is ready to go. For information on getting OfflineIMAP
2185 with Subversion, please visit the
2187 HREF=
"http://svn.complete.org/"
2189 >complete.org Subversion page
</A
2219 > Detailed history may be found in the file ChangeLog in the
2223 > distribution. Feature and bug histories may be
2224 found in the file debian/changelog which, despite its name, is
2225 not really Debian-specific. This section provides a large
2229 > Development on
<SPAN
2232 > began on June
18,
2002. Version
2233 1.0.0 was released three days later on June
21,
2002. Point
2234 releases followed, including speed optimizations and some
2235 compatibility fixes.
2238 >Version
2.0.0 was released on July
3,
2002, and
2239 represented the first time the synchronization became
2240 multithreaded and, to the best of my knowledge, the first
2241 multithreaded IMAP syncrhonizing application in existance.
2242 The last
2.0.x release,
2.0.8, was made on July
9.
2245 > Version
3.0.0 was released on July
11,
2002, and introduced
2246 modular user interfaces and the first GUI interface for
2250 >. This manual also was introduced with
3.0.0,
2251 along with many command-line options. Version
3.1.0 was
2252 released on July
21, adding the Noninteractive user
2253 interfaces, profiling support, and several bugfixes.
3.2.0
2254 was released on July
24, adding support for the Blinkenlights
2255 GUI interface.
<SPAN
2258 > entered maintenance mode for
2259 awhile, as it had reached a feature-complete milestone in my
2263 > The
3.99.x branch began in on October
7,
2002, to begin work
2264 for
4.0. The Curses.Blinkenlights interface was added in
2265 3.99.6, and many architectural changes were made.
2268 > 4.0.0 was released on July
18,
2003, including the ability to
2269 synchronize directly between two IMAP servers, the first
2270 re-architecting of the configuration file to refine the
2271 notion of an account, and the new Curses interface.