]> code.delx.au - offlineimap/blob - manual.txt
TAG RELEASE_offlineimap_4.0.16
[offlineimap] / manual.txt
1 OFFLINEIMAP(1) OfflineIMAP Manual OFFLINEIMAP(1)
2
3
4
5 NAME
6 OfflineIMAP - Powerful IMAP/Maildir synchronization and reader support
7
8 SYNOPSIS
9 offlineimap [ -1 ] [ -P profiledir ] [ -a accountlist ] [ -c configfile
10 ] [ -d debugtype[,...] ] [ -l filename ] [ -o ] [ -u interface ]
11
12
13 offlineimap -h | --help
14
15
16 DESCRIPTION
17 OfflineIMAP is a tool to simplify your e-mail reading. With
18 OfflineIMAP, you can read the same mailbox from multiple computers.
19 You get a current copy of your messages on each computer, and changes
20 you make one place will be visible on all other systems. For instance,
21 you can delete a message on your home computer, and it will appear
22 deleted on your work computer as well. OfflineIMAP is also useful if
23 you want to use a mail reader that does not have IMAP support, has poor
24 IMAP support, or does not provide disconnected operation.
25
26 OfflineIMAP is FAST; it synchronizes my two accounts with over 50 fold-
27 ers in 3 seconds. Other similar tools might take over a minute, and
28 achieve a less-reliable result. Some mail readers can take over 10
29 minutes to do the same thing, and some don't even support it at all.
30 Unlike other mail tools, OfflineIMAP features a multi-threaded synchro-
31 nization algorithm that can dramatically speed up performance in many
32 situations by synchronizing several different things simultaneously.
33
34 OfflineIMAP is FLEXIBLE; you can customize which folders are synced via
35 regular expressions, lists, or Python expressions; a versatile and com-
36 prehensive configuration file is used to control behavior; two user
37 interfaces are built-in; fine-tuning of synchronization performance is
38 possible; internal or external automation is supported; SSL and PREAUTH
39 tunnels are both supported; offline (or "unplugged") reading is sup-
40 ported; and esoteric IMAP features are supported to ensure compatibil-
41 ity with the widest variety of IMAP servers.
42
43 OfflineIMAP is SAFE; it uses an algorithm designed to prevent mail loss
44 at all costs. Because of the design of this algorithm, even program-
45 ming errors should not result in loss of mail. I am so confident in
46 the algorithm that I use my own personal and work accounts for testing
47 of OfflineIMAP pre-release, development, and beta releases. Of course,
48 legally speaking, OfflineIMAP comes with no warranty, so I am not
49 responsible if this turns out to be wrong.
50
51 METHOD OF OPERATION
52 OfflineIMAP traditionally operates by maintaining a hierarchy of mail
53 folders in Maildir format locally. Your own mail reader will read mail
54 from this tree, and need never know that the mail comes from IMAP.
55 OfflineIMAP will detect changes to the mail folders on your IMAP server
56 and your own computer and bi-directionally synchronize them, copying,
57 marking, and deleting messages as necessary.
58
59 With OfflineIMAP 4.0, a powerful new ability has been introduced -- the
60 program can now synchronize two IMAP servers with each other, with no
61 need to have a Maildir layer in-between. Many people use this if they
62 use a mail reader on their local machine that does not support
63 Maildirs. People may install an IMAP server on their local machine,
64 and point both OfflineIMAP and their mail reader of choice at it. This
65 is often preferable to the mail reader's own IMAP support since
66 OfflineIMAP supports many features (offline reading, for one) that most
67 IMAP-aware readers don't. However, this feature is not as time-tested
68 as traditional syncing, so my advice is to stick with normal methods of
69 operation for the time being.
70
71 QUICK START
72 If you have already installed OfflineIMAP system-wide, or your system
73 administrator has done that for you, your task for setting up
74 OfflineIMAP for the first time is quite simple. You just need to set
75 up your configuration file, make your folder directory, and run it!
76
77 You can quickly set up your configuration file. The distribution
78 includes a file offlineimap.conf.minimal (Debian users may find this at
79 /usr/share/doc/offlineimap/examples/offlineimap.conf.minimal) that is a
80 basic example of setting of OfflineIMAP. You can simply copy this file
81 into your home directory and name it .offlineimaprc (note the leading
82 period). A command such as cp offlineimap.conf.minimal
83 ~/.offlineimaprc will do it. Or, if you prefer, you can just copy this
84 text to ~/.offlineimaprc:
85
86 [general]
87 accounts = Test
88
89 [Account Test]
90 localrepository = Local
91 remoterepository = Remote
92
93 [Repository Local]
94 type = Maildir
95 localfolders = ~/Test
96
97 [Repository Remote]
98 type = IMAP
99 remotehost = examplehost
100 remoteuser = jgoerzen
101
102 Now, edit the ~/.offlineimaprc file with your favorite editor. All you
103 have to do is specify a directory for your folders to be in (on the
104 localfolders line), the host name of your IMAP server (on the remote-
105 host line), and your login name on the remote (on the remoteuser line).
106 That's it!
107
108 To run OfflineIMAP, you just have to say offlineimap -- it will fire
109 up, ask you for a login password if necessary, synchronize your fold-
110 ers, and exit. See? You can just throw away the rest of this finely-
111 crafted, perfectly-honed manual! Of course, if you want to see how you
112 can make OfflineIMAP FIVE TIMES FASTER FOR JUST $19.95 (err, well, $0),
113 you have to read on!
114
115 INSTALLATION
116 If you are reading this document via the "man" command, it is likely
117 that you have no installation tasks to perform; your system administra-
118 tor has already installed it. If you need to install it yourself, you
119 have three options: a system-wide installation with Debian, system-wide
120 installation with other systems, and a single-user installation. You
121 can download the latest version of OfflineIMAP from the OfflineIMAP
122 website <URL:http://software.complete.org/offlineimap/>.
123
124 PREREQUISITES
125 In order to use OfflineIMAP, you need to have these conditions satis-
126 fied:
127
128 o Your mail server must support IMAP. Most Internet Service Providers
129 and corporate networks do, and most operating systems have an IMAP
130 implementation readily available.
131
132 o You must have Python version 2.2.1 or above installed. If you are
133 running on Debian GNU/Linux, this requirement will automatically be
134 taken care of for you. If you do not have Python already, check with
135 your system administrator or operating system vendor; or, download it
136 from the Python website <URL:http://www.python.org/>. If you intend
137 to use the Tk interface, you must have Tkinter (python-tk) installed.
138 If you intend to use the SSL interface, your Python must have been
139 built with SSL support.
140
141 o Have a mail reader that supports the Maildir mailbox format. Most
142 modern mail readers have this support built-in, so you can choose
143 from a wide variety of mail servers. This format is also known as
144 the "qmail" format, so any mail reader compatible with it will work
145 with OfflineIMAP. If you do not have a mail reader that supports
146 Maildir, you can often install a local IMAP server and point both
147 OfflineIMAP and your mail reader at it.
148
149 SYSTEM-WIDE INSTALLATION, DEBIAN
150 If you are tracking Debian unstable, you may install OfflineIMAP by
151 simply running the following command as root:
152
153 apt-get install offlineimap
154
155 If you are not tracking Debian unstable, download the Debian .deb pack-
156 age from the OfflineIMAP website <URL:http://software.com-
157 plete.org/offlineimap/> and then run dpkg -i to install the downloaded
158 package. Then, skip to [XRef to CONFIGURATION] below. You will type
159 offlineimap to invoke the program.
160
161 SYSTEM-WIDE INSTALLATION, OTHER
162 Download the tar.gz version of the package from the website
163 <URL:http://software.complete.org/offlineimap/>. Then run these com-
164 mands, making sure that you are the "root" user first:
165
166 tar -zxvf offlineimap_x.y.z.tar.gz
167 cd offlineimap-x.y.z
168 python2.2 setup.py install
169
170 On some systems, you will need to use python instead of python2.2.
171 Next, proceed to [XRef to CONFIGURATION] below. You will type
172 offlineimap to invoke the program.
173
174 SINGLE-ACCOUNT INSTALLATION
175 Download the tar.gz version of the package from the website
176 <URL:http://software.complete.org/offlineimap/>. Then run these com-
177 mands:
178
179 tar -zxvf offlineimap_x.y.z.tar.gz
180 cd offlineimap-x.y.z
181
182 When you want to run OfflineIMAP, you will issue the cd command as
183 above and then type ./offlineimap.py; there is no installation step
184 necessary.
185
186 CONFIGURATION
187 OfflineIMAP is regulated by a configuration file that is normally
188 stored in ~/.offlineimaprc. OfflineIMAP ships with a file named
189 offlineimap.conf that you should copy to that location and then edit.
190 This file is vital to proper operation of the system; it sets every-
191 thing you need to run OfflineIMAP. Full documentation for the configu-
192 ration file is included within the sample file.
193
194 OfflineIMAP also ships a file named offlineimap.conf.minimal that you
195 can also try. It's useful if you want to get started with the most
196 basic feature set, and you can read about other features later with
197 offlineimap.conf.
198
199 OPTIONS
200 Most configuration is done via the configuration file. Nevertheless,
201 there are a few command-line options that you may set for OfflineIMAP.
202
203 -1 Disable most multithreading operations and use solely a single-
204 connection sync. This effectively sets the maxsyncaccounts and
205 all maxconnections configuration file variables to 1.
206
207 -P profiledir
208 Sets OfflineIMAP into profile mode. The program will create
209 profiledir (it must not already exist). As it runs, Python pro-
210 filing information about each thread is logged into profiledir.
211 Please note: This option is present for debugging and optimiza-
212 tion only, and should NOT be used unless you have a specific
213 reason to do so. It will significantly slow program perfor-
214 mance, may reduce reliability, and can generate huge amounts of
215 data. You must use the -1 option when you use -P.
216
217 -a accountlist
218 Overrides the accounts option in the general section of the con-
219 figuration file. You might use this to exclude certain
220 accounts, or to sync some accounts that you normally prefer not
221 to. Separate the accounts by commas, and use no embedded
222 spaces.
223
224 -c configfile
225 Specifies a configuration file to use in lieu of the default,
226 ~/.offlineimaprc.
227
228 -d debugtype[,...]
229 Enables debugging for OfflineIMAP. This is useful if you are
230 trying to track down a malfunction or figure out what is going
231 on under the hood. I suggest that you use this with -1 to make
232 the results more sensible.
233
234 -d requires one or more debugtypes, separated by commas. These
235 define what exactly will be debugged, and include three options:
236 imap, maildir, and thread. The imap option will enable IMAP
237 protocol stream and parsing debugging. Note that the output may
238 contain passwords, so take care to remove that from the debug-
239 ging output before sending it to anyone else. The maildir
240 option will enable debugging for certain Maildir operations.
241 And thread will debug the threading model.
242
243 -l filename
244 Enables logging to filename. This will log everything that goes
245 to the screen to the specified file. Additionally, if any
246 debugging is specified with -d, then debug messages will not go
247 to the screen, but instead to the logfile only.
248
249 -o Run only once, ignoring all autorefresh settings in the configu-
250 ration file.
251
252 -h
253
254 --help Show summary of options.
255
256 -u interface
257 Specifies an alternative user interface module to use. This
258 overrides the default specified in the configuration file. The
259 pre-defined options are listed in the User Interfaces section.
260
261 USER INTERFACES
262 OfflineIMAP has a pluggable user interface system that lets you choose
263 how the program communicates information to you. There are two graphi-
264 cal interfaces, two terminal interfaces, and two noninteractive inter-
265 faces suitable for scripting or logging purposes. The ui option in the
266 configuration file specifies user interface preferences. The -u com-
267 mand-line option can override the configuration file setting. The
268 available values for the configuration file or command-line are
269 described in this section.
270
271 TK.BLINKENLIGHTS
272 Tk.Blinkenlights is an interface designed to be sleek, fun to watch,
273 and informative of the overall picture of what OfflineIMAP is doing. I
274 consider it to be the best general-purpose interface in OfflineIMAP.
275
276 Tk.Blinkenlights contains, by default, a small window with a row of
277 LEDs, a small log, and a row of command buttons. The total size of the
278 window is very small, so it uses little desktop space, yet it is quite
279 functional. The optional, toggleable, log shows more detail about what
280 is happening and is color-coded to match the color of the lights.
281
282 Tk.Blinkenlights is the only user interface that has configurable
283 parameters; see the example offlineimap.conf for more details.
284
285 Each light in the Blinkenlights interface represents a thread of execu-
286 tion -- that is, a particular task that OfflineIMAP is performing right
287 now. The colors indicate what task the particular thread is perform-
288 ing, and are as follows:
289
290 Black indicates that this light's thread has terminated; it will light
291 up again later when new threads start up. So, black indicates
292 no activity.
293
294 Red (Meaning 1)
295 is the color of the main program's thread, which basically does
296 nothing but monitor the others. It might remind you of HAL 9000
297 in 2001.
298
299 Gray indicates that the thread is establishing a new connection to
300 the IMAP server.
301
302 Purple is the color of an account synchronization thread that is moni-
303 toring the progress of the folders in that account (not generat-
304 ing any I/O).
305
306 Cyan indicates that the thread is syncing a folder.
307
308 Green means that a folder's message list is being loaded.
309
310 Blue is the color of a message synchronization controller thread.
311
312 Orange indicates that an actual message is being copied. (We use fuch-
313 sia for fake messages.)
314
315 Red (meaning 2)
316 indicates that a message is being deleted.
317
318 Yellow / bright orange
319 indicates that message flags are being added.
320
321 Pink / bright red
322 indicates that message flags are being removed.
323
324 Red / Black Flashing
325 corresponds to the countdown timer that runs between synchro-
326 nizations.
327
328 The name of this interfaces derives from a bit of computer history.
329 Eric Raymond's Jargon File defines blinkenlights, in part, as:
330
331
332 Front-panel diagnostic lights on a computer, esp. a dinosaur.
333 Now that dinosaurs are rare, this term usually refers to status
334 lights on a modem, network hub, or the like.
335
336 This term derives from the last word of the famous blackletter-
337 Gothic sign in mangled pseudo-German that once graced about half
338 the computer rooms in the English-speaking world. One version
339 ran in its entirety as follows:
340
341 ACHTUNG! ALLES LOOKENSPEEPERS!
342
343 Das computermachine ist nicht fuer gefingerpoken und mitten-
344 grabben. Ist easy schnappen der springenwerk, blowenfusen und
345 poppencorken mit spitzensparken. Ist nicht fuer gewerken bei
346 das dumpkopfen. Das rubbernecken sichtseeren keepen das cotten-
347 pickenen hans in das pockets muss; relaxen und watchen das
348 blinkenlichten.
349
350 CURSES.BLINKENLIGHTS
351 Curses.Blinkenlights is an interface very similar to Tk.Blinkenlights,
352 but is designed to be run in a console window (an xterm, Linux virtual
353 terminal, etc.) Since it doesn't have access to graphics, it isn't
354 quite as pretty, but it still gets the job done.
355
356 Please see the Tk.Blinkenlights section above for more information
357 about the colors used in this interface.
358
359 TK.VERBOSEUI
360 Tk.VerboseUI (formerly known as Tk.TkUI) is a graphical interface that
361 presents a variable-sized window. In the window, each currently-exe-
362 cuting thread has a section where its name and current status are dis-
363 played. This interface is best suited to people running on slower con-
364 nections, as you get a lot of detail, but for fast connections, the
365 detail may go by too quickly to be useful. People with fast connec-
366 tions may wish to use Tk.Blinkenlights instead.
367
368 TTY.TTYUI
369 TTY.TTYUI interface is for people running in basic, non-color termi-
370 nals. It prints out basic status messages and is generally friendly to
371 use on a console or xterm.
372
373 NONINTERACTIVE.BASIC
374 Noninteractive.Basic is designed for situations in which OfflineIMAP
375 will be run non-attended and the status of its execution will be
376 logged. You might use it, for instance, to have the system run auto-
377 matically and e-mail you the results of the synchronization. This user
378 interface is not capable of reading a password from the keyboard;
379 account passwords must be specified using one of the configuration file
380 options.
381
382 NONINTERACTIVE.QUIET
383 Noninteractive.Quiet is designed for non-attended running in situations
384 where normal status messages are not desired. It will output nothing
385 except errors and serious warnings. Like Noninteractive.Basic, this
386 user interface is not capable of reading a password from the keyboard;
387 account passwords must be specified using one of the configuration file
388 options.
389
390 EXAMPLES
391 Here are some example configurations for various situations. Please e-
392 mail any other examples you have that may be useful to me.
393
394 MULTIPLE ACCOUNTS WITH MUTT
395 This example shows you how to set up OfflineIMAP to synchronize multi-
396 ple accounts with the mutt mail reader.
397
398 Start by creating a directory to hold your folders by running mkdir
399 ~/Mail. Then, in your ~/.offlineimaprc, specify:
400
401 accounts = Personal, Work
402
403 Make sure that you have both an [Account Personal] and an [Account
404 Work] section. The local repository for each account must have differ-
405 ent localfolder path names. Also, make sure to enable [mbnames].
406
407 In each local repository section, write something like this:
408
409 localfolders = ~/Mail/Personal
410
411 Finally, add these lines to your ~/.muttrc:
412
413 source ~/path-to-mbnames-muttrc-mailboxes
414 folder-hook Personal set from="youremail@personal.com"
415 folder-hook Work set from="youremail@work.com"
416 set mbox_type=Maildir
417 set folder=$HOME/Mail
418 spoolfile=+Personal/INBOX
419
420 That's it!
421
422 UW-IMAPD AND REFERENCES
423 Some users with a UW-IMAPD server need to use OfflineIMAP's "reference"
424 feature to get at their mailboxes, specifying a reference of "~/Mail"
425 or "#mh/" depending on the configuration. The below configuration from
426 (originally from docwhat@gerf.org) shows using a reference of Mail, a
427 nametrans that strips the leading Mail/ off incoming folder names, and
428 a folderfilter that limits the folders synced to just three.
429
430 [Account Gerf]
431 localrepository = GerfLocal
432 remoterepository = GerfRemote
433
434 [Repository GerfLocal]
435 type = Maildir
436 localfolders = ~/Mail
437
438 [Repository GerfRemote]
439 type = IMAP
440 remotehost = gerf.org
441 ssl = yes
442 remoteuser = docwhat
443 reference = Mail
444 # Trims off the preceeding Mail on all the folder names.
445 nametrans = lambda foldername: \
446 re.sub('^Mail/', '', foldername)
447 # Yeah, you have to mention the Mail dir, even though it
448 # would seem intuitive that reference would trim it.
449 folderfilter = lambda foldername: foldername in [
450 'Mail/INBOX',
451 'Mail/list/zaurus-general',
452 'Mail/list/zaurus-dev',
453 ]
454 maxconnections = 1
455 holdconnectionopen = no
456
457 PYTHONFILE CONFIGURATION FILE OPTION
458 You can have OfflineIMAP load up a Python file before evaluating the
459 configuration file options that are Python expressions. This example
460 is based on one supplied by Tommi Virtanen for this feature.
461
462 In ~/.offlineimap.rc, he adds these options:
463
464 [general]
465 pythonfile=~/.offlineimap.py
466 [Repository foo]
467 foldersort=mycmp
468
469 Then, the ~/.offlineimap.py file will contain:
470
471 prioritized = ['INBOX', 'personal', 'announce', 'list']
472
473 def mycmp(x, y):
474 for prefix in prioritized:
475 xsw = x.startswith(prefix)
476 ysw = y.startswith(prefix)
477 if xsw and ysw:
478 return cmp(x, y)
479 elif xsw:
480 return -1
481 elif ysw:
482 return +1
483 return cmp(x, y)
484
485 def test_mycmp():
486 import os, os.path
487 folders=os.listdir(os.path.expanduser('~/data/mail/tv@hq.yok.utu.fi'))
488 folders.sort(mycmp)
489 print folders
490
491 This code snippet illustrates how the foldersort option can be cus-
492 tomized with a Python function from the pythonfile to always synchro-
493 nize certain folders first.
494
495 ERRORS
496 If you get one of some frequently-encountered or confusing errors,
497 please check this section.
498
499 UID VALIDITY PROBLEM FOR FOLDER
500 IMAP servers use a unique ID (UID) to refer to a specific message.
501 This number is guaranteed to be unique to a particular message forever.
502 No other message in the same folder will ever get the same UID. UIDs
503 are an integral part of OfflineIMAP's synchronization scheme; they are
504 used to match up messages on your computer to messages on the server.
505
506 Sometimes, the UIDs on the server might get reset. Usually this will
507 happen if you delete and then recreate a folder. When you create a
508 folder, the server will often start the UID back from 1. But
509 OfflineIMAP might still have the UIDs from the previous folder by the
510 same name stored. OfflineIMAP will detect this condition and skip the
511 folder. This is GOOD, because it prevents data loss.
512
513 You can fix it by removing your local folder and cache data. For
514 instance, if your folders are under ~/Folders and the folder with the
515 problem is INBOX, you'd type this:
516
517 rm -r ~/Folders/INBOX
518 rm -r ~/.offlineimap/Account-AccountName
519 rm -r ~/.offlineimap/Repository-RepositoryName
520
521 (Of course, replace AccountName and RepositoryName with the names as
522 specified in ~/.offlineimaprc).
523
524 Next time you run OfflineIMAP, it will re-download the folder with the
525 new UIDs. Note that the procedure specified above will lose any local
526 changes made to the folder.
527
528 Some IMAP servers are broken and do not support UIDs properly. If you
529 continue to get this error for all your folders even after performing
530 the above procedure, it is likely that your IMAP server falls into this
531 category. OfflineIMAP is incompatible with such servers. Using
532 OfflineIMAP with them will not destroy any mail, but at the same time,
533 it will not actually synchronize it either. (OfflineIMAP will detect
534 this condition and abort prior to synchronization.)
535
536 This question comes up frequently on the OfflineIMAP mailing list
537 <URL:http://lists.complete.org/offlineimap@complete.org/>. You can
538 find a detailed discussion <URL:http://lists.com-
539 plete.org/offlineimap@complete.org/2003/04/msg00012.html.gz> of the
540 problem there.
541
542 CONFORMING TO
543 o Internet Message Access Protocol version 4rev1 (IMAP 4rev1) as speci-
544 fied in RFC2060 and RFC3501
545
546 o CRAM-MD5 as specified in RFC2195
547
548 o Maildir as specified in the Maildir manpage
549 <URL:http://www.qmail.org/qmail-manual-html/man5/maildir.html> and
550 the qmail website <URL:http://cr.yp.to/proto/maildir.html>.
551
552 o Standard Python 2.2.1 as implemented on POSIX-compliant systems.
553
554 NOTES
555 DELETING LOCAL FOLDERS
556 OfflineIMAP does a two-way synchronization. That is, if you make a
557 change to the mail on the server, it will be propagated to your local
558 copy, and vise-versa. Some people might think that it would be wise to
559 just delete all their local mail folders periodically. If you do this
560 with OfflineIMAP, remember to also remove your local status cache
561 (~/.offlineimap by default). Otherwise, OfflineIMAP will take this as
562 an intentional deletion of many messages and will interpret your action
563 as requesting them to be deleted from the server as well. (If you
564 don't understand this, don't worry; you probably won't encounter this
565 situation)
566
567 MULTIPLE INSTANCES
568 OfflineIMAP is not designed to have several instances (for instance, a
569 cron job and an interactive invocation) run over the same mailbox
570 simultaneously. It will perform a check on startup and abort if
571 another OfflineIMAP is already running. If you need to schedule syn-
572 chronizations, please use the autorefresh settings rather than cron.
573 Alternatively, you can set a separate metadata directory for each
574 instance.
575
576 COPYING MESSAGES BETWEEN FOLDERS
577 Normally, when you copy a message between folders or add a new message
578 to a folder locally, OfflineIMAP will just do the right thing. How-
579 ever, sometimes this can be tricky -- if your IMAP server does not pro-
580 vide the SEARCH command, or does not return something useful,
581 OfflineIMAP cannot determine the new UID of the message. So, in these
582 rare instances, OfflineIMAP will upload the message to the IMAP server
583 and delete it from your local folder. Then, on your next sync, the
584 message will be re-downloaded with the proper UID. OfflineIMAP makes
585 sure that the message was properly uploaded before deleting it, so
586 there should be no risk of data loss.
587
588 MAILING LIST
589 There is an OfflineIMAP mailing list available. To subscribe, send the
590 text "Subscribe" in the subject of a mail to offlineimap-request@com-
591 plete.org. To post, send the message to offlineimap@complete.org.
592 Archives are available at
593 <URL:http://lists.complete.org/offlineimap@complete.org/>.
594
595 BUGS
596 Reports of bugs should be reported online at the OfflineIMAP homepage.
597 Debian users are encouraged to instead use the Debian bug-tracking sys-
598 tem.
599
600 UPGRADING TO 4.0
601 If you are upgrading from a version of OfflineIMAP prior to 3.99.12,
602 you will find that you will get errors when OfflineIMAP starts up
603 (relating to ConfigParser or AccountHashGenerator) and the configura-
604 tion file. This is because the config file format had to change to
605 accommodate new features in 4.0. Fortunately, it's not difficult to
606 adjust it to suit.
607
608 First thing you need to do is stop any running OfflineIMAP instance,
609 making sure first that it's synced all your mail. Then, modify your
610 ~/.offlineimaprc file. You'll need to split up each account section
611 (make sure that it now starts with "Account ") into two Repository sec-
612 tions (one for the local side and another for the remote side.) See
613 the files offlineimap.conf.minimal and offlineimap.conf in the distri-
614 bution if you need more assistance.
615
616 OfflineIMAP's status directory area has also changed. Therefore, you
617 should delete everything in ~/.offlineimap as well as your local mail
618 folders.
619
620 When you start up OfflineIMAP 4.0, it will re-download all your mail
621 from the server and then you can continue using it like normal.
622
623 COPYRIGHT
624 OfflineIMAP, and this manual, are Copyright (C) 2002 - 2006 John
625 Goerzen.
626
627 This program is free software; you can redistribute it and/or modify it
628 under the terms of the GNU General Public License as published by the
629 Free Software Foundation; either version 2 of the License, or (at your
630 option) any later version.
631
632 This program is distributed in the hope that it will be useful, but
633 WITHOUT ANY WARRANTY; without even the implied warranty of MER-
634 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
635 Public License for more details.
636
637 You should have received a copy of the GNU General Public License along
638 with this program; if not, write to the Free Software Foundation, Inc.,
639 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
640
641 imaplib.py comes from the Python dev tree and is licensed under the
642 GPL-compatible PSF license as stated in the file COPYRIGHT in the
643 OfflineIMAP distribution.
644
645 AUTHOR
646 OfflineIMAP, its libraries, documentation, and all included files,
647 except where noted, was written by John Goerzen <jgoerzen@complete.org>
648 and copyright is held as stated in the COPYRIGHT section.
649
650 OfflineIMAP may be downloaded, and information found, from its homepage
651 <URL:http://software.complete.org/offlineimap>.
652
653 SEE ALSO
654 mutt(1), python(1)
655
656 HISTORY
657 Detailed history may be found in the file ChangeLog in the OfflineIMAP
658 distribution. Feature and bug histories may be found in the file
659 debian/changelog which, despite its name, is not really Debian-spe-
660 cific. This section provides a large overview.
661
662 Development on OfflineIMAP began on June 18, 2002. Version 1.0.0 was
663 released three days later on June 21, 2002. Point releases followed,
664 including speed optimizations and some compatibility fixes.
665
666 Version 2.0.0 was released on July 3, 2002, and represented the first
667 time the synchronization became multithreaded and, to the best of my
668 knowledge, the first multithreaded IMAP syncrhonizing application in
669 existance. The last 2.0.x release, 2.0.8, was made on July 9.
670
671 Version 3.0.0 was released on July 11, 2002, and introduced modular
672 user interfaces and the first GUI interface for OfflineIMAP. This man-
673 ual also was introduced with 3.0.0, along with many command-line
674 options. Version 3.1.0 was released on July 21, adding the Noninterac-
675 tive user interfaces, profiling support, and several bugfixes. 3.2.0
676 was released on July 24, adding support for the Blinkenlights GUI
677 interface. OfflineIMAP entered maintenance mode for awhile, as it had
678 reached a feature-complete milestone in my mind.
679
680 The 3.99.x branch began in on October 7, 2002, to begin work for 4.0.
681 The Curses.Blinkenlights interface was added in 3.99.6, and many archi-
682 tectural changes were made.
683
684 4.0.0 was released on July 18, 2003, including the ability to synchro-
685 nize directly between two IMAP servers, the first re-architecting of
686 the configuration file to refine the notion of an account, and the new
687 Curses interface.
688
689
690
691 John Goerzen 01 December 2006 OFFLINEIMAP(1)