1OFFLINEIMAP(1)                OfflineIMAP Manual                OFFLINEIMAP(1)
2
3
4

NAME

6       OfflineIMAP - Powerful IMAP/Maildir synchronization and reader support
7

SYNOPSIS

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

DESCRIPTION

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

QUICK START

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

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       · 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

CONFIGURATION

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

OPTIONS

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

USER INTERFACES

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

EXAMPLES

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

SIGNALS

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

ERRORS

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

CONFORMING TO

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

NOTES

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

UPGRADING TO 4.0

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

AUTHOR

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

SEE ALSO

662       mutt(1), python(1)
663

HISTORY

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)
Impressum