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