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