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 configfile
10       ] [ -d debugtype[,...] ] [ -l filename ] [ -o ] [ -u interface ]
11
12
13       offlineimap -h | --help
14
15

DESCRIPTION

17       OfflineIMAP is  a  tool  to   simplify   your   e-mail  reading.   With
18       OfflineIMAP,  you  can  read  the same mailbox from multiple computers.
19       You get a current copy of your messages on each computer,  and  changes
20       you make one place will be visible on all other systems.  For instance,
21       you can delete a message on your home  computer,  and  it  will  appear
22       deleted  on  your work computer as well.  OfflineIMAP is also useful if
23       you want to use a mail reader that does not have IMAP support, has poor
24       IMAP support, or does not provide disconnected operation.
25
26       OfflineIMAP is FAST; it synchronizes my two accounts with over 50 fold‐
27       ers in 3 seconds.  Other similar tools might take over  a  minute,  and
28       achieve  a  less-reliable  result.   Some mail readers can take over 10
29       minutes to do the same thing, and some don't even support  it  at  all.
30       Unlike other mail tools, OfflineIMAP features a multi-threaded synchro‐
31       nization algorithm that can dramatically speed up performance  in  many
32       situations by synchronizing several different things simultaneously.
33
34       OfflineIMAP is FLEXIBLE; you can customize which folders are synced via
35       regular expressions, lists, or Python expressions; a versatile and com‐
36       prehensive  configuration  file  is  used to control behavior; two user
37       interfaces are built-in; fine-tuning of synchronization performance  is
38       possible; internal or external automation is supported; SSL and PREAUTH
39       tunnels are both supported; offline (or "unplugged")  reading  is  sup‐
40       ported;  and esoteric IMAP features are supported to ensure compatibil‐
41       ity with the widest variety of IMAP servers.
42
43       OfflineIMAP is SAFE; it uses an algorithm designed to prevent mail loss
44       at  all  costs.  Because of the design of this algorithm, even program‐
45       ming errors should not result in loss of mail.  I am  so  confident  in
46       the  algorithm that I use my own personal and work accounts for testing
47       of OfflineIMAP pre-release, development, and beta releases.  Of course,
48       legally  speaking,  OfflineIMAP  comes  with  no  warranty, so I am not
49       responsible if this turns out to be wrong.
50
51   METHOD OF OPERATION
52       OfflineIMAP traditionally operates by maintaining a hierarchy  of  mail
53       folders in Maildir format locally.  Your own mail reader will read mail
54       from this tree, and need never know that  the  mail  comes  from  IMAP.
55       OfflineIMAP will detect changes to the mail folders on your IMAP server
56       and your own computer and bi-directionally synchronize  them,  copying,
57       marking, and deleting messages as necessary.
58
59       With OfflineIMAP 4.0, a powerful new ability has been introduced -- the
60       program can now synchronize two IMAP servers with each other,  with  no
61       need  to have a Maildir layer in-between.  Many people use this if they
62       use a mail  reader  on  their  local  machine  that  does  not  support
63       Maildirs.   People  may  install an IMAP server on their local machine,
64       and point both OfflineIMAP and their mail reader of choice at it.  This
65       is  often  preferable  to  the  mail  reader's  own  IMAP support since
66       OfflineIMAP supports many features (offline reading, for one) that most
67       IMAP-aware  readers don't.  However, this feature is not as time-tested
68       as traditional syncing, so my advice is to stick with normal methods of
69       operation for the time being.
70

QUICK START

72       If  you  have already installed OfflineIMAP system-wide, or your system
73       administrator  has  done  that  for  you,  your  task  for  setting  up
74       OfflineIMAP  for  the first time is quite simple.  You just need to set
75       up your configuration file, make your folder directory, and run it!
76
77       You can quickly set  up  your  configuration  file.   The  distribution
78       includes a file offlineimap.conf.minimal (Debian users may find this at
79       /usr/share/doc/offlineimap/examples/offlineimap.conf.minimal) that is a
80       basic example of setting of OfflineIMAP.  You can simply copy this file
81       into your home directory and name it .offlineimaprc (note  the  leading
82       period).     A    command    such    as   cp   offlineimap.conf.minimal
83       ~/.offlineimaprc will do it.  Or, if you prefer, you can just copy this
84       text to ~/.offlineimaprc:
85
86       [general]
87       accounts = Test
88
89       [Account Test]
90       localrepository = Local
91       remoterepository = Remote
92
93       [Repository Local]
94       type = Maildir
95       localfolders = ~/Test
96
97       [Repository Remote]
98       type = IMAP
99       remotehost = examplehost
100       remoteuser = jgoerzen
101
102       Now, edit the ~/.offlineimaprc file with your favorite editor.  All you
103       have to do is specify a directory for your folders to  be  in  (on  the
104       localfolders  line),  the host name of your IMAP server (on the remote‐
105       host line), and your login name on the remote (on the remoteuser line).
106       That's it!
107
108       To  run  OfflineIMAP,  you just have to say offlineimap -- it will fire
109       up, ask you for a login password if necessary, synchronize  your  fold‐
110       ers,  and exit.  See?  You can just throw away the rest of this finely-
111       crafted, perfectly-honed manual!  Of course, if you want to see how you
112       can make OfflineIMAP FIVE TIMES FASTER FOR JUST $19.95 (err, well, $0),
113       you have to read on!
114

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.
131
132       · You  must  have  Python version 2.2.1 or above installed.  If you are
133         running on Debian GNU/Linux, this requirement will  automatically  be
134         taken care of for you.  If you do not have Python already, check with
135         your system administrator or operating system vendor; or, download it
136         from  the Python website <URL:http://www.python.org/>.  If you intend
137         to use the Tk interface, you must have Tkinter (python-tk) installed.
138         If  you  intend  to use the SSL interface, your Python must have been
139         built with SSL support.
140
141       · Have a mail reader that supports the Maildir  mailbox  format.   Most
142         modern  mail  readers  have  this support built-in, so you can choose
143         from a wide variety of mail servers.  This format is  also  known  as
144         the  "qmail"  format, so any mail reader compatible with it will work
145         with OfflineIMAP.  If you do not have a  mail  reader  that  supports
146         Maildir,  you  can  often  install a local IMAP server and point both
147         OfflineIMAP and your mail reader at it.
148
149   SYSTEM-WIDE INSTALLATION, DEBIAN
150       If you are tracking Debian unstable, you  may  install  OfflineIMAP  by
151       simply running the following command as root:
152
153       apt-get install offlineimap
154
155       If you are not tracking Debian unstable, download the Debian .deb pack‐
156       age   from   the    OfflineIMAP    website    <URL:http://software.com
157       plete.org/offlineimap/>  and then run dpkg -i to install the downloaded
158       package.  Then, skip to [XRef to CONFIGURATION] below.  You  will  type
159       offlineimap to invoke the program.
160
161   SYSTEM-WIDE INSTALLATION, OTHER
162       Download   the   tar.gz   version  of  the  package  from  the  website
163       <URL:http://software.complete.org/offlineimap/>.  Then run  these  com‐
164       mands, making sure that you are the "root" user first:
165
166       tar -zxvf offlineimap_x.y.z.tar.gz
167       cd offlineimap-x.y.z
168       python2.2 setup.py install
169
170       On  some  systems,  you  will  need to use python instead of python2.2.
171       Next,  proceed  to  [XRef  to  CONFIGURATION]  below.   You  will  type
172       offlineimap to invoke the program.
173
174   SINGLE-ACCOUNT INSTALLATION
175       Download   the   tar.gz   version  of  the  package  from  the  website
176       <URL:http://software.complete.org/offlineimap/>.  Then run  these  com‐
177       mands:
178
179       tar -zxvf offlineimap_x.y.z.tar.gz
180       cd offlineimap-x.y.z
181
182       When  you  want  to  run  OfflineIMAP, you will issue the cd command as
183       above and then type ./offlineimap.py; there  is  no  installation  step
184       necessary.
185

CONFIGURATION

187       OfflineIMAP  is  regulated  by  a  configuration  file that is normally
188       stored in  ~/.offlineimaprc.   OfflineIMAP  ships  with  a  file  named
189       offlineimap.conf  that  you should copy to that location and then edit.
190       This file is vital to proper operation of the system;  it  sets  every‐
191       thing you need to run OfflineIMAP.  Full documentation for the configu‐
192       ration file is included within the sample file.
193
194       OfflineIMAP also ships a file named offlineimap.conf.minimal  that  you
195       can  also  try.   It's  useful if you want to get started with the most
196       basic feature set, and you can read about  other  features  later  with
197       offlineimap.conf.
198

OPTIONS

200       Most  configuration  is done via the configuration file.  Nevertheless,
201       there are a few command-line options that you may set for OfflineIMAP.
202
203       -1     Disable most multithreading operations and use solely a  single-
204              connection  sync.  This effectively sets the maxsyncaccounts and
205              all maxconnections configuration file variables to 1.
206
207       -P profiledir
208              Sets OfflineIMAP into profile mode.   The  program  will  create
209              profiledir (it must not already exist).  As it runs, Python pro‐
210              filing information about each thread is logged into  profiledir.
211              Please  note: This option is present for debugging and optimiza‐
212              tion only, and should NOT be used unless  you  have  a  specific
213              reason  to  do  so.   It will significantly slow program perfor‐
214              mance, may reduce reliability, and can generate huge amounts  of
215              data.  You must use the -1 option when you use -P.
216
217       -a accountlist
218              Overrides the accounts option in the general section of the con‐
219              figuration  file.   You  might  use  this  to  exclude   certain
220              accounts,  or to sync some accounts that you normally prefer not
221              to.  Separate the accounts by commas, and use no  embedded  spa‐
222              ces.
223
224       -c configfile
225              Specifies  a  configuration  file to use in lieu of the default,
226              ~/.offlineimaprc.
227
228       -d debugtype[,...]
229              Enables debugging for OfflineIMAP.  This is useful  if  you  are
230              trying  to  track down a malfunction or figure out what is going
231              on under the hood.  I suggest that you use this with -1 to  make
232              the results more sensible.
233
234              -d  requires one or more debugtypes, separated by commas.  These
235              define what exactly will be debugged, and include three options:
236              imap,  maildir,  and  thread.   The imap option will enable IMAP
237              protocol stream and parsing debugging.  Note that the output may
238              contain  passwords,  so take care to remove that from the debug‐
239              ging output before sending  it  to  anyone  else.   The  maildir
240              option  will  enable  debugging  for certain Maildir operations.
241              And thread will debug the threading model.
242
243       -l filename
244              Enables logging to filename.  This will log everything that goes
245              to  the  screen  to  the  specified  file.  Additionally, if any
246              debugging is specified with -d, then debug messages will not  go
247              to the screen, but instead to the logfile only.
248
249       -o     Run only once, ignoring all autorefresh settings in the configu‐
250              ration file.
251
252       -h
253
254       --help Show summary of options.
255
256       -u interface
257              Specifies an alternative user interface  module  to  use.   This
258              overrides  the default specified in the configuration file.  The
259              pre-defined options are listed in the User Interfaces section.
260

USER INTERFACES

262       OfflineIMAP has a pluggable user interface system that lets you  choose
263       how the program communicates information to you.  There are two graphi‐
264       cal interfaces, two terminal interfaces, and two noninteractive  inter‐
265       faces suitable for scripting or logging purposes.  The ui option in the
266       configuration file specifies user interface preferences.  The  -u  com‐
267       mand-line  option  can  override  the  configuration file setting.  The
268       available  values  for  the  configuration  file  or  command-line  are
269       described in this section.
270
271   TK.BLINKENLIGHTS
272       Tk.Blinkenlights  is  an  interface designed to be sleek, fun to watch,
273       and informative of the overall picture of what OfflineIMAP is doing.  I
274       consider it to be the best general-purpose interface in OfflineIMAP.
275
276       Tk.Blinkenlights  contains,  by  default,  a small window with a row of
277       LEDs, a small log, and a row of command buttons.  The total size of the
278       window  is very small, so it uses little desktop space, yet it is quite
279       functional.  The optional, toggleable, log shows more detail about what
280       is happening and is color-coded to match the color of the lights.
281
282       Tk.Blinkenlights  is  the  only  user  interface  that has configurable
283       parameters; see the example offlineimap.conf for more details.
284
285       Each light in the Blinkenlights interface represents a thread of execu‐
286       tion -- that is, a particular task that OfflineIMAP is performing right
287       now.  The colors indicate what task the particular thread  is  perform‐
288       ing, and are as follows:
289
290       Black  indicates that this light's thread has terminated; it will light
291              up again later when new threads start up.  So,  black  indicates
292              no activity.
293
294       Red (Meaning 1)
295              is  the color of the main program's thread, which basically does
296              nothing but monitor the others.  It might remind you of HAL 9000
297              in 2001.
298
299       Gray   indicates  that  the  thread is establishing a new connection to
300              the IMAP server.
301
302       Purple is the color of an account synchronization thread that is  moni‐
303              toring the progress of the folders in that account (not generat‐
304              ing any I/O).
305
306       Cyan   indicates that the thread is syncing a folder.
307
308       Green  means that a folder's message list is being loaded.
309
310       Blue   is the color of a message synchronization controller thread.
311
312       Orange indicates that an actual message is being copied.  (We use fuch‐
313              sia for fake messages.)
314
315       Red (meaning 2)
316              indicates that a message is being deleted.
317
318       Yellow / bright orange
319              indicates that message flags are being added.
320
321       Pink / bright red
322              indicates that message flags are being removed.
323
324       Red / Black Flashing
325              corresponds  to  the  countdown timer that runs between synchro‐
326              nizations.
327
328       The name of this interfaces derives from a  bit  of  computer  history.
329       Eric Raymond's Jargon File defines blinkenlights, in part, as:
330
331
332              Front-panel  diagnostic  lights  on a computer, esp. a dinosaur.
333              Now that dinosaurs are rare, this term usually refers to  status
334              lights on a modem, network hub, or the like.
335
336              This  term derives from the last word of the famous blackletter-
337              Gothic sign in mangled pseudo-German that once graced about half
338              the  computer  rooms  in the English-speaking world. One version
339              ran in its entirety as follows:
340
341              ACHTUNG!  ALLES LOOKENSPEEPERS!
342
343              Das computermachine ist nicht  fuer  gefingerpoken  und  mitten‐
344              grabben.   Ist  easy schnappen der springenwerk, blowenfusen und
345              poppencorken mit spitzensparken.  Ist nicht  fuer  gewerken  bei
346              das dumpkopfen.  Das rubbernecken sichtseeren keepen das cotten-
347              pickenen hans in das  pockets  muss;  relaxen  und  watchen  das
348              blinkenlichten.
349
350   CURSES.BLINKENLIGHTS
351       Curses.Blinkenlights  is an interface very similar to Tk.Blinkenlights,
352       but is designed to be run in a console window (an xterm, Linux  virtual
353       terminal,  etc.)   Since  it  doesn't have access to graphics, it isn't
354       quite as pretty, but it still gets the job done.
355
356       Please see the Tk.Blinkenlights  section  above  for  more  information
357       about the colors used in this interface.
358
359   TK.VERBOSEUI
360       Tk.VerboseUI  (formerly known as Tk.TkUI) is a graphical interface that
361       presents a variable-sized window.  In the window,  each  currently-exe‐
362       cuting  thread has a section where its name and current status are dis‐
363       played.  This interface is best suited to people running on slower con‐
364       nections,  as  you  get  a lot of detail, but for fast connections, the
365       detail may go by too quickly to be useful.  People  with  fast  connec‐
366       tions may wish to use Tk.Blinkenlights instead.
367
368   TTY.TTYUI
369       TTY.TTYUI  interface  is  for people running in basic, non-color termi‐
370       nals.  It prints out basic status messages and is generally friendly to
371       use on a console or xterm.
372
373   NONINTERACTIVE.BASIC
374       Noninteractive.Basic  is  designed  for situations in which OfflineIMAP
375       will be run non-attended and  the  status  of  its  execution  will  be
376       logged.   You  might use it, for instance, to have the system run auto‐
377       matically and e-mail you the results of the synchronization.  This user
378       interface  is  not  capable  of  reading  a password from the keyboard;
379       account passwords must be specified using one of the configuration file
380       options.
381
382   NONINTERACTIVE.QUIET
383       Noninteractive.Quiet is designed for non-attended running in situations
384       where normal status messages are not desired.  It will  output  nothing
385       except  errors  and  serious warnings.  Like Noninteractive.Basic, this
386       user interface is not capable of reading a password from the  keyboard;
387       account passwords must be specified using one of the configuration file
388       options.
389

EXAMPLES

391       Here are some example configurations for various situations.  Please e-
392       mail any other examples you have that may be useful to me.
393
394   MULTIPLE ACCOUNTS WITH MUTT
395       This  example shows you how to set up OfflineIMAP to synchronize multi‐
396       ple accounts with the mutt mail reader.
397
398       Start by creating a directory to hold your  folders  by  running  mkdir
399       ~/Mail.  Then, in your ~/.offlineimaprc, specify:
400
401       accounts = Personal, Work
402
403       Make  sure  that  you  have  both an [Account Personal] and an [Account
404       Work] section.  The local repository for each account must have differ‐
405       ent localfolder path names.  Also, make sure to enable [mbnames].
406
407       In each local repository section, write something like this:
408
409       localfolders = ~/Mail/Personal
410
411       Finally, add these lines to your ~/.muttrc:
412
413       source ~/path-to-mbnames-muttrc-mailboxes
414       folder-hook Personal set from="youremail@personal.com"
415       folder-hook Work set from="youremail@work.com"
416       set mbox_type=Maildir
417       set folder=$HOME/Mail
418       spoolfile=+Personal/INBOX
419
420       That's it!
421
422   UW-IMAPD AND REFERENCES
423       Some users with a UW-IMAPD server need to use OfflineIMAP's "reference"
424       feature to get at their mailboxes, specifying a reference  of  "~/Mail"
425       or "#mh/" depending on the configuration.  The below configuration from
426       (originally from docwhat@gerf.org) shows using a reference of  Mail,  a
427       nametrans  that strips the leading Mail/ off incoming folder names, and
428       a folderfilter that limits the folders synced to just three.
429
430       [Account Gerf]
431       localrepository = GerfLocal
432       remoterepository = GerfRemote
433
434       [Repository GerfLocal]
435       type = Maildir
436       localfolders = ~/Mail
437
438       [Repository GerfRemote]
439       type = IMAP
440       remotehost = gerf.org
441       ssl = yes
442       remoteuser = docwhat
443       reference = Mail
444       # Trims off the preceeding Mail on all the folder names.
445       nametrans = lambda foldername: \
446                   re.sub('^Mail/', '', foldername)
447       # Yeah, you have to mention the Mail dir, even though it
448       # would seem intuitive that reference would trim it.
449       folderfilter = lambda foldername: foldername in [
450             'Mail/INBOX',
451             'Mail/list/zaurus-general',
452             'Mail/list/zaurus-dev',
453             ]
454       maxconnections = 1
455       holdconnectionopen = no
456
457   PYTHONFILE CONFIGURATION FILE OPTION
458       You can have OfflineIMAP load up a Python file  before  evaluating  the
459       configuration  file  options that are Python expressions.  This example
460       is based on one supplied by Tommi Virtanen for this feature.
461
462       In ~/.offlineimap.rc, he adds these options:
463
464       [general]
465       pythonfile=~/.offlineimap.py
466       [Repository foo]
467       foldersort=mycmp
468
469       Then, the ~/.offlineimap.py file will contain:
470
471       prioritized = ['INBOX', 'personal', 'announce', 'list']
472
473       def mycmp(x, y):
474          for prefix in prioritized:
475              xsw = x.startswith(prefix)
476              ysw = y.startswith(prefix)
477              if xsw and ysw:
478                 return cmp(x, y)
479              elif xsw:
480                 return -1
481              elif ysw:
482                 return +1
483          return cmp(x, y)
484
485       def test_mycmp():
486          import os, os.path
487          folders=os.listdir(os.path.expanduser('~/data/mail/tv@hq.yok.utu.fi'))
488          folders.sort(mycmp)
489          print folders
490
491       This code snippet illustrates how the foldersort option can be  custom‐
492       ized  with  a Python function from the pythonfile to always synchronize
493       certain folders first.
494

ERRORS

496       If you get one of  some  frequently-encountered  or  confusing  errors,
497       please check this section.
498
499   UID VALIDITY PROBLEM FOR FOLDER
500       IMAP  servers  use  a  unique  ID (UID) to refer to a specific message.
501       This number is guaranteed to be unique to a particular message forever.
502       No  other  message in the same folder will ever get the same UID.  UIDs
503       are an integral part of OfflineIMAP's synchronization scheme; they  are
504       used to match up messages on your computer to messages on the server.
505
506       Sometimes,  the  UIDs on the server might get reset.  Usually this will
507       happen if you delete and then recreate a folder.   When  you  create  a
508       folder,  the  server  will  often  start  the  UID  back  from  1.  But
509       OfflineIMAP might still have the UIDs from the previous folder  by  the
510       same  name stored.  OfflineIMAP will detect this condition and skip the
511       folder.  This is GOOD, because it prevents data loss.
512
513       You can fix it by removing your  local  folder  and  cache  data.   For
514       instance,  if  your folders are under ~/Folders and the folder with the
515       problem is INBOX, you'd type this:
516
517       rm -r ~/Folders/INBOX
518       rm -r ~/.offlineimap/Account-AccountName
519       rm -r ~/.offlineimap/Repository-RepositoryName
520
521       (Of course, replace AccountName and RepositoryName with  the  names  as
522       specified in ~/.offlineimaprc).
523
524       Next  time you run OfflineIMAP, it will re-download the folder with the
525       new UIDs.  Note that the procedure specified above will lose any  local
526       changes made to the folder.
527
528       Some  IMAP servers are broken and do not support UIDs properly.  If you
529       continue to get this error for all your folders even  after  performing
530       the above procedure, it is likely that your IMAP server falls into this
531       category.   OfflineIMAP  is  incompatible  with  such  servers.   Using
532       OfflineIMAP  with them will not destroy any mail, but at the same time,
533       it will not actually synchronize it either.  (OfflineIMAP  will  detect
534       this condition and abort prior to synchronization.)
535
536       This  question  comes  up  frequently  on  the OfflineIMAP mailing list
537       <URL:http://lists.complete.org/offlineimap@complete.org/>.    You   can
538       find       a       detailed      discussion      <URL:http://lists.com
539       plete.org/offlineimap@complete.org/2003/04/msg00012.html.gz>   of   the
540       problem there.
541

CONFORMING TO

543       · Internet Message Access Protocol version 4rev1 (IMAP 4rev1) as speci‐
544         fied in RFC2060 and RFC3501
545
546       · CRAM-MD5 as specified in RFC2195
547
548       · Maildir     as     specified     in     the      Maildir      manpage
549         <URL:http://www.qmail.org/qmail-manual-html/man5/maildir.html>    and
550         the qmail website <URL:http://cr.yp.to/proto/maildir.html>.
551
552       · Standard Python 2.2.1 as implemented on POSIX-compliant systems.
553

NOTES

555   DELETING LOCAL FOLDERS
556       OfflineIMAP does a two-way synchronization.  That is,  if  you  make  a
557       change  to  the mail on the server, it will be propagated to your local
558       copy, and vise-versa.  Some people might think that it would be wise to
559       just  delete all their local mail folders periodically.  If you do this
560       with OfflineIMAP, remember to  also  remove  your  local  status  cache
561       (~/.offlineimap  by default).  Otherwise, OfflineIMAP will take this as
562       an intentional deletion of many messages and will interpret your action
563       as  requesting  them  to  be  deleted from the server as well.  (If you
564       don't understand this, don't worry; you probably won't  encounter  this
565       situation)
566
567   MULTIPLE INSTANCES
568       OfflineIMAP  is not designed to have several instances (for instance, a
569       cron job and an interactive  invocation)  run  over  the  same  mailbox
570       simultaneously.   It  will  perform  a  check  on  startup and abort if
571       another OfflineIMAP is already running.  If you need to  schedule  syn‐
572       chronizations,  please  use  the autorefresh settings rather than cron.
573       Alternatively, you can set  a  separate  metadata  directory  for  each
574       instance.
575
576   COPYING MESSAGES BETWEEN FOLDERS
577       Normally,  when you copy a message between folders or add a new message
578       to a folder locally, OfflineIMAP will just do the  right  thing.   How‐
579       ever, sometimes this can be tricky -- if your IMAP server does not pro‐
580       vide  the  SEARCH  command,  or  does  not  return  something   useful,
581       OfflineIMAP  cannot determine the new UID of the message.  So, in these
582       rare instances, OfflineIMAP will upload the message to the IMAP  server
583       and  delete  it  from  your local folder.  Then, on your next sync, the
584       message will be re-downloaded with the proper UID.   OfflineIMAP  makes
585       sure  that  the  message  was  properly uploaded before deleting it, so
586       there should be no risk of data loss.
587
588   MAILING LIST
589       There is an OfflineIMAP mailing list available.  To subscribe, send the
590       text  "Subscribe"  in the subject of a mail to offlineimap-request@com‐
591       plete.org.  To post, send the message to offlineimap@complete.org.  Ar‐
592       chives are available at
593        <URL:http://lists.complete.org/offlineimap@complete.org/>.
594
595   BUGS
596       Reports  of bugs should be reported online at the OfflineIMAP homepage.
597       Debian users are encouraged to instead use the Debian bug-tracking sys‐
598       tem.
599

UPGRADING TO 4.0

601       If  you  are  upgrading from a version of OfflineIMAP prior to 3.99.12,
602       you will find that you will  get  errors  when  OfflineIMAP  starts  up
603       (relating  to  ConfigParser or AccountHashGenerator) and the configura‐
604       tion file.  This is because the config file format  had  to  change  to
605       accommodate  new  features  in 4.0.  Fortunately, it's not difficult to
606       adjust it to suit.
607
608       First thing you need to do is stop any  running  OfflineIMAP  instance,
609       making  sure  first  that it's synced all your mail.  Then, modify your
610       ~/.offlineimaprc file.  You'll need to split up  each  account  section
611       (make sure that it now starts with "Account ") into two Repository sec‐
612       tions (one for the local side and another for the  remote  side.)   See
613       the  files offlineimap.conf.minimal and offlineimap.conf in the distri‐
614       bution if you need more assistance.
615
616       OfflineIMAP's status directory area has also changed.   Therefore,  you
617       should  delete  everything in ~/.offlineimap as well as your local mail
618       folders.
619
620       When you start up OfflineIMAP 4.0, it will re-download  all  your  mail
621       from the server and then you can continue using it like normal.
622
624       OfflineIMAP,  and  this  manual,  are  Copyright  (C)  2002 - 2006 John
625       Goerzen.
626
627       This program is free software; you can redistribute it and/or modify it
628       under  the  terms of the GNU General Public License as published by the
629       Free Software Foundation; either version 2 of the License, or (at  your
630       option) any later version.
631
632       This  program  is  distributed  in the hope that it will be useful, but
633       WITHOUT ANY  WARRANTY;  without  even  the  implied  warranty  of  MER‐
634       CHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
635       Public License for more details.
636
637       You should have received a copy of the GNU General Public License along
638       with this program; if not, write to the Free Software Foundation, Inc.,
639       59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
640
641       imaplib.py comes from the Python dev tree and  is  licensed  under  the
642       GPL-compatible  PSF  license  as  stated  in  the file COPYRIGHT in the
643       OfflineIMAP distribution.
644

AUTHOR

646       OfflineIMAP, its libraries,  documentation,  and  all  included  files,
647       except where noted, was written by John Goerzen <jgoerzen@complete.org>
648       and copyright is held as stated in the COPYRIGHT section.
649
650       OfflineIMAP may be downloaded, and information found, from its homepage
651       <URL:http://software.complete.org/offlineimap>.
652

SEE ALSO

654       mutt(1), python(1)
655

HISTORY

657       Detailed  history may be found in the file ChangeLog in the OfflineIMAP
658       distribution.  Feature and bug histories  may  be  found  in  the  file
659       debian/changelog  which,  despite  its  name, is not really Debian-spe‐
660       cific.  This section provides a large overview.
661
662       Development on OfflineIMAP began on June 18, 2002.  Version  1.0.0  was
663       released  three  days later on June 21, 2002.  Point releases followed,
664       including speed optimizations and some compatibility fixes.
665
666       Version 2.0.0 was released on July 3, 2002, and represented  the  first
667       time  the  synchronization  became multithreaded and, to the best of my
668       knowledge, the first multithreaded IMAP  syncrhonizing  application  in
669       existance.  The last 2.0.x release, 2.0.8, was made on July 9.
670
671       Version  3.0.0  was  released  on July 11, 2002, and introduced modular
672       user interfaces and the first GUI interface for OfflineIMAP.  This man‐
673       ual  also  was  introduced  with  3.0.0,  along  with many command-line
674       options.  Version 3.1.0 was released on July 21, adding the Noninterac‐
675       tive  user  interfaces, profiling support, and several bugfixes.  3.2.0
676       was released on July 24,  adding  support  for  the  Blinkenlights  GUI
677       interface.   OfflineIMAP entered maintenance mode for awhile, as it had
678       reached a feature-complete milestone in my mind.
679
680       The 3.99.x branch began in on October 7, 2002, to begin work  for  4.0.
681       The Curses.Blinkenlights interface was added in 3.99.6, and many archi‐
682       tectural changes were made.
683
684       4.0.0 was released on July 18, 2003, including the ability to  synchro‐
685       nize  directly  between  two IMAP servers, the first re-architecting of
686       the configuration file to refine the notion of an account, and the  new
687       Curses interface.
688
689
690
691John Goerzen                   01 December 2006                 OFFLINEIMAP(1)
Impressum