OFFLINEIMAP(1)                OfflineIMAP Manual                OFFLINEIMAP(1)



[1mNAME[0m
       OfflineIMAP - Powerful IMAP/Maildir synchronization and reader support

[1mSYNOPSIS[0m
       [1mofflineimap [22m[ [1m-1 [22m] [ [1m-P [4m[22mprofiledir[24m ] [ [1m-a [4m[22maccountlist[24m ] [ [1m-c [4m[22mconfigfile[0m
       ]  [  [1m-d  [4m[22mdebugtype[,...][24m  ]  [  [1m-f  [4m[22mfoldername[,...][24m  ]  [  [1m-k   [4m[22m[sec-[0m
       [4mtion:]option=value[24m ] [ [1m-l [4m[22mfilename[24m ] [ [1m-o [22m] [ [1m-u [4m[22minterface[24m ]


       [1mofflineimap -h [22m| [1m--help[0m


[1mDESCRIPTION[0m
       [1mOfflineIMAP  [22mis   a   tool   to   simplify  your  e-mail reading.  With
       [1mOfflineIMAP[22m, you can read the same  mailbox  from  multiple  computers.
       You  get  a current copy of your messages on each computer, and changes
       you make one place will be visible on all other systems.  For instance,
       you  can  delete  a  message  on your home computer, and it will appear
       deleted on your work computer as well.  [1mOfflineIMAP [22mis also  useful  if
       you want to use a mail reader that does not have IMAP support, has poor
       IMAP support, or does not provide disconnected operation.

       [1mOfflineIMAP [22mis [1mFAST[22m; it synchronizes my two accounts with over 50 fold-
       ers  in  3  seconds.  Other similar tools might take over a minute, and
       achieve a less-reliable result.  Some mail readers  can  take  over  10
       minutes  to  do  the same thing, and some don't even support it at all.
       Unlike other mail tools, [1mOfflineIMAP [22mfeatures a multi-threaded synchro-
       nization  algorithm  that can dramatically speed up performance in many
       situations by synchronizing several different things simultaneously.

       [1mOfflineIMAP [22mis [1mFLEXIBLE[22m; you can customize which folders are synced via
       regular expressions, lists, or Python expressions; a versatile and com-
       prehensive configuration file is used to  control  behavior;  two  user
       interfaces  are built-in; fine-tuning of synchronization performance is
       possible; internal or external automation is supported; SSL and PREAUTH
       tunnels  are  both  supported; offline (or "unplugged") reading is sup-
       ported; and esoteric IMAP features are supported to ensure  compatibil-
       ity with the widest variety of IMAP servers.

       [1mOfflineIMAP [22mis [1mSAFE[22m; it uses an algorithm designed to prevent mail loss
       at all costs.  Because of the design of this algorithm,  even  program-
       ming  errors  should  not result in loss of mail.  I am so confident in
       the algorithm that I use my own personal and work accounts for  testing
       of [1mOfflineIMAP [22mpre-release, development, and beta releases.  Of course,
       legally speaking, [1mOfflineIMAP [22mcomes with  no  warranty,  so  I  am  not
       responsible if this turns out to be wrong.

   [1mMETHOD OF OPERATION[0m
       [1mOfflineIMAP  [22mtraditionally  operates by maintaining a hierarchy of mail
       folders in Maildir format locally.  Your own mail reader will read mail
       from  this  tree,  and  need  never know that the mail comes from IMAP.
       [1mOfflineIMAP [22mwill detect changes to the mail folders on your IMAP server
       and  your  own computer and bi-directionally synchronize them, copying,
       marking, and deleting messages as necessary.

       With [1mOfflineIMAP [22m4.0, a powerful new ability has been introduced -- the
       program  can  now synchronize two IMAP servers with each other, with no
       need to have a Maildir layer in-between.  Many people use this if  they
       use  a  mail  reader  on  their  local  machine  that  does not support
       Maildirs.  People may install an IMAP server on  their  local  machine,
       and point both [1mOfflineIMAP [22mand their mail reader of choice at it.  This
       is often preferable  to  the  mail  reader's  own  IMAP  support  since
       [1mOfflineIMAP [22msupports many features (offline reading, for one) that most
       IMAP-aware readers don't.  However, this feature is not as  time-tested
       as traditional syncing, so my advice is to stick with normal methods of
       operation for the time being.

[1mQUICK START[0m
       If you have already installed [1mOfflineIMAP [22msystem-wide, or  your  system
       administrator  has  done  that  for  you,  your  task  for  setting  up
       [1mOfflineIMAP [22mfor the first time is quite simple.  You just need  to  set
       up your configuration file, make your folder directory, and run it!

       You  can  quickly  set  up  your  configuration file.  The distribution
       includes a file [4mofflineimap.conf.minimal[24m (Debian users may find this at
       [4m/usr/share/doc/offlineimap/examples/offlineimap.conf.minimal[24m) that is a
       basic example of setting of [1mOfflineIMAP[22m.  You can simply copy this file
       into  your  home directory and name it [4m.offlineimaprc[24m (note the leading
       period).    A   command    such    as    [1mcp    offlineimap.conf.minimal[0m
       [1m~/.offlineimaprc [22mwill do it.  Or, if you prefer, you can just copy this
       text to [4m~/.offlineimaprc[24m:

       [general]
       accounts = Test

       [Account Test]
       localrepository = Local
       remoterepository = Remote

       [Repository Local]
       type = Maildir
       localfolders = ~/Test

       [Repository Remote]
       type = IMAP
       remotehost = examplehost
       remoteuser = jgoerzen

       Now, edit the [4m~/.offlineimaprc[24m file with your favorite editor.  All you
       have  to  do  is  specify a directory for your folders to be in (on the
       [4mlocalfolders[24m line), the host name of your IMAP server (on  the  [4mremote-[0m
       [4mhost[24m line), and your login name on the remote (on the [4mremoteuser[24m line).
       That's it!

       To run [1mOfflineIMAP[22m, you just have to say [1mofflineimap [22m--  it  will  fire
       up,  ask  you for a login password if necessary, synchronize your fold-
       ers, and exit.  See?  You can just throw away the rest of this  finely-
       crafted, perfectly-honed manual!  Of course, if you want to see how you
       can make [1mOfflineIMAP [22mFIVE TIMES FASTER FOR JUST $19.95 (err, well, $0),
       you have to read on!

[1mINSTALLATION[0m
       If  you  are  reading this document via the "man" command, it is likely
       that you have no installation tasks to perform; your system administra-
       tor  has already installed it.  If you need to install it yourself, you
       have three options: a system-wide installation with Debian, system-wide
       installation  with  other systems, and a single-user installation.  You
       can download the latest version of  [1mOfflineIMAP  [22mfrom  the  [1mOfflineIMAP[0m
       website <URL:http://software.complete.org/offlineimap/>.

   [1mPREREQUISITES[0m
       In  order  to use [1mOfflineIMAP[22m, you need to have these conditions satis-
       fied:

       o Your mail server must support IMAP.  Most Internet Service  Providers
         and  corporate  networks  do, and most operating systems have an IMAP
         implementation readily available.  A special [4mGmail[24m  mailbox  type  is
         available to interface with Gmail's IMAP front-end.

       o You must have Python version 2.4 or above installed.  If you are run-
         ning on Debian GNU/Linux,  this  requirement  will  automatically  be
         taken care of for you.  If you do not have Python already, check with
         your system administrator or operating system vendor; or, download it
         from  the Python website <URL:http://www.python.org/>.  If you intend
         to use the SSL interface, your Python must have been built  with  SSL
         support.

       o Have  a  mail  reader that supports the Maildir mailbox format.  Most
         modern mail readers have this support built-in,  so  you  can  choose
         from  a  wide  variety of mail servers.  This format is also known as
         the "qmail" format, so any mail reader compatible with it  will  work
         with  [1mOfflineIMAP[22m.   If  you  do not have a mail reader that supports
         Maildir, you can often install a local IMAP  server  and  point  both
         [1mOfflineIMAP [22mand your mail reader at it.

   [1mSYSTEM-WIDE INSTALLATION, DEBIAN[0m
       If  you  are  tracking  Debian unstable, you may install [1mOfflineIMAP [22mby
       simply running the following command as root:

       [1mapt-get install offlineimap[0m

       If you are not tracking Debian unstable, download the Debian .deb pack-
       age    from    the    [1mOfflineIMAP   [22mwebsite   <URL:http://software.com-
       plete.org/offlineimap/> and then run [1mdpkg -i [22mto install the  downloaded
       package.   Then,  skip to [XRef to CONFIGURATION] below.  You will type
       [1mofflineimap [22mto invoke the program.

   [1mSYSTEM-WIDE INSTALLATION, OTHER[0m
       Download  the  tar.gz  version  of  the  package   from   the   website
       <URL:http://software.complete.org/offlineimap/>.   Then  run these com-
       mands, making sure that you are the "root" user first:

       tar -zxvf offlineimap_x.y.z.tar.gz
       cd offlineimap-x.y.z
       python2.2 setup.py install

       On some systems, you will need to  use  [1mpython  [22minstead  of  [1mpython2.2[22m.
       Next,  proceed  to  [XRef  to  CONFIGURATION]  below.   You  will  type
       [1mofflineimap [22mto invoke the program.

   [1mSINGLE-ACCOUNT INSTALLATION[0m
       Download  the  tar.gz  version  of  the  package   from   the   website
       <URL:http://software.complete.org/offlineimap/>.   Then  run these com-
       mands:

       tar -zxvf offlineimap_x.y.z.tar.gz
       cd offlineimap-x.y.z

       When you want to run [1mOfflineIMAP[22m, you will  issue  the  [1mcd  [22mcommand  as
       above  and  then  type  [1m./offlineimap.py[22m; there is no installation step
       necessary.

[1mCONFIGURATION[0m
       [1mOfflineIMAP [22mis regulated by  a  configuration  file  that  is  normally
       stored  in  [4m~/.offlineimaprc[24m.   [1mOfflineIMAP  [22mships  with  a  file named
       [4mofflineimap.conf[24m that you should copy to that location and  then  edit.
       This  file  is  vital to proper operation of the system; it sets every-
       thing you need to run [1mOfflineIMAP[22m.  Full documentation for the configu-
       ration file is included within the sample file.

       [1mOfflineIMAP  [22malso  ships a file named [4mofflineimap.conf.minimal[24m that you
       can also try.  It's useful if you want to get  started  with  the  most
       basic  feature  set,  and  you can read about other features later with
       [4mofflineimap.conf[24m.

[1mOPTIONS[0m
       Most configuration is done via the configuration  file.   Nevertheless,
       there  are a few command-line options that you may set for [1mOfflineIMAP[22m.

       [1m-1     [22mDisable most multithreading operations and use solely a  single-
              connection  sync.  This effectively sets the [4mmaxsyncaccounts[24m and
              all [4mmaxconnections[24m configuration file variables to 1.

       [1m-P [4m[22mprofiledir[0m
              Sets [1mOfflineIMAP [22minto profile mode.   The  program  will  create
              [4mprofiledir[24m (it must not already exist).  As it runs, Python pro-
              filing information about each thread is logged into  profiledir.
              Please  note: This option is present for debugging and optimiza-
              tion only, and should NOT be used unless  you  have  a  specific
              reason  to  do  so.   It will significantly slow program perfor-
              mance, may reduce reliability, and can generate huge amounts  of
              data.  You must use the [1m-1 [22moption when you use [1m-P[22m.

       [1m-a [4m[22maccountlist[0m
              Overrides the [4maccounts[24m option in the [4mgeneral[24m section of the con-
              figuration  file.   You  might  use  this  to  exclude   certain
              accounts,  or to sync some accounts that you normally prefer not
              to.  Separate the  accounts  by  commas,  and  use  no  embedded
              spaces.

       [1m-c [4m[22mconfigfile[0m
              Specifies  a  configuration  file to use in lieu of the default,
              [4m~/.offlineimaprc[24m.

       [1m-d [4m[22mdebugtype[,...][0m
              Enables debugging for OfflineIMAP.  This is useful  if  you  are
              trying  to  track down a malfunction or figure out what is going
              on under the hood.  I suggest that you use this with [1m-1 [22mto  make
              the results more sensible.

              [1m-d  [22mrequires one or more debugtypes, separated by commas.  These
              define what exactly will be debugged, and include three options:
              [4mimap[24m,  [4mmaildir[24m,  and  [4mthread[24m.   The [4mimap[24m option will enable IMAP
              protocol stream and parsing debugging.  Note that the output may
              contain  passwords,  so take care to remove that from the debug-
              ging output before sending  it  to  anyone  else.   The  [4mmaildir[0m
              option  will  enable  debugging  for certain Maildir operations.
              And [4mthread[24m will debug the threading model.

       [1m-f [4m[22mfoldername[24m[1m[,[4m[22mfoldername[24m[1m][0m
              Only sync  the  specified  folders.   The  [4mfoldername[24ms  are  the
              untranslated  foldernames.   This  command-line option overrides
              any [4mfolderfilter[24m and [4mfolderincludes[24m options in the configuration
              file.

       [1m-k [[4m[22msection[24m[1m:][4m[22moption[24m[1m=[4m[22mvalue[0m
              Override configuration file option.  If "section" is omitted, it
              defaults to [4mgeneral[24m.  Any underscores "_" in  the  section  name
              are  replaced  with  spaces:  for  instance,  to override option
              [4mautorefresh[24m in the "[Account Personal]" section  in  the  config
              file one would use "-k Account_Personal:autorefresh=30".

       [1m-l [4m[22mfilename[0m
              Enables logging to filename.  This will log everything that goes
              to the screen to  the  specified  file.   Additionally,  if  any
              debugging  is specified with -d, then debug messages will not go
              to the screen, but instead to the logfile only.

       [1m-o     [22mRun only once, ignoring all [4mautorefresh[24m settings in the configu-
              ration file.

       [1m-q     [22mRun  only  quick  synchronizations.   Ignore any flag updates on
              IMAP servers.

       [1m-h[0m

       [1m--help [22mShow summary of options.

       [1m-u [4m[22minterface[0m
              Specifies an alternative user interface  module  to  use.   This
              overrides  the default specified in the configuration file.  The
              pre-defined options are listed in the User Interfaces section.

[1mUSER INTERFACES[0m
       [1mOfflineIMAP [22mhas a pluggable user interface system that lets you  choose
       how the program communicates information to you.  There are two graphi-
       cal interfaces, two terminal interfaces, and two noninteractive  inter-
       faces suitable for scripting or logging purposes.  The [4mui[24m option in the
       configuration file specifies user interface preferences.  The  [1m-u  [22mcom-
       mand-line  option  can  override  the  configuration file setting.  The
       available  values  for  the  configuration  file  or  command-line  are
       described in this section.

   [1mCURSES.BLINKENLIGHTS[0m
       Curses.Blinkenlights  is  an  interface  designed  to  be sleek, fun to
       watch, and informative of the overall picture of  what  [1mOfflineIMAP  [22mis
       doing.   I  consider  it  to  be  the best general-purpose interface in
       [1mOfflineIMAP[22m.

       Curses.Blinkenlights contains a row of "LEDs" with command buttons  and
       a  log.   The   log  shows  more  detail about what is happening and is
       color-coded to match the color of the lights.

       Each light in the Blinkenlights interface represents a thread of execu-
       tion -- that is, a particular task that [1mOfflineIMAP [22mis performing right
       now.  The colors indicate what task the particular thread  is  perform-
       ing, and are as follows:

       [1mBlack  [22mindicates that this light's thread has terminated; it will light
              up again later when new threads start up.  So,  black  indicates
              no activity.

       [1mRed (Meaning 1)[0m
              is  the color of the main program's thread, which basically does
              nothing but monitor the others.  It might remind you of HAL 9000
              in 2001.

       [1mGray   [22mindicates  that  the  thread is establishing a new connection to
              the IMAP server.

       [1mPurple [22mis the color of an account synchronization thread that is  moni-
              toring the progress of the folders in that account (not generat-
              ing any I/O).

       [1mCyan   [22mindicates that the thread is syncing a folder.

       [1mGreen  [22mmeans that a folder's message list is being loaded.

       [1mBlue   [22mis the color of a message synchronization controller thread.

       [1mOrange [22mindicates that an actual message is being copied.  (We use fuch-
              sia for fake messages.)

       [1mRed (meaning 2)[0m
              indicates that a message is being deleted.

       [1mYellow / bright orange[0m
              indicates that message flags are being added.

       [1mPink / bright red[0m
              indicates that message flags are being removed.

       [1mRed / Black Flashing[0m
              corresponds  to  the  countdown timer that runs between synchro-
              nizations.

       The name of this interfaces derives from a  bit  of  computer  history.
       Eric Raymond's Jargon File defines [4mblinkenlights[24m, in part, as:


              Front-panel  diagnostic  lights  on a computer, esp. a dinosaur.
              Now that dinosaurs are rare, this term usually refers to  status
              lights on a modem, network hub, or the like.

              This  term derives from the last word of the famous blackletter-
              Gothic sign in mangled pseudo-German that once graced about half
              the  computer  rooms  in the English-speaking world. One version
              ran in its entirety as follows:

              [1mACHTUNG!  ALLES LOOKENSPEEPERS![0m

              Das computermachine ist nicht  fuer  gefingerpoken  und  mitten-
              grabben.   Ist  easy schnappen der springenwerk, blowenfusen und
              poppencorken mit spitzensparken.  Ist nicht  fuer  gewerken  bei
              das dumpkopfen.  Das rubbernecken sichtseeren keepen das cotten-
              pickenen hans in das  pockets  muss;  relaxen  und  watchen  das
              blinkenlichten.

   [1mTTY.TTYUI[0m
       TTY.TTYUI  interface  is  for people running in basic, non-color termi-
       nals.  It prints out basic status messages and is generally friendly to
       use on a console or xterm.

   [1mNONINTERACTIVE.BASIC[0m
       Noninteractive.Basic  is  designed  for situations in which [1mOfflineIMAP[0m
       will be run non-attended and  the  status  of  its  execution  will  be
       logged.   You  might use it, for instance, to have the system run auto-
       matically and e-mail you the results of the synchronization.  This user
       interface  is  not  capable  of  reading  a password from the keyboard;
       account passwords must be specified using one of the configuration file
       options.

   [1mNONINTERACTIVE.QUIET[0m
       Noninteractive.Quiet is designed for non-attended running in situations
       where normal status messages are not desired.  It will  output  nothing
       except  errors  and  serious warnings.  Like Noninteractive.Basic, this
       user interface is not capable of reading a password from the  keyboard;
       account passwords must be specified using one of the configuration file
       options.

   [1mMACHINE.MACHINEUI[0m
       Machine.MachineUI generates output in a machine-parsable format.  It is
       designed for other programs that will interface to OfflineIMAP.

[1mEXAMPLES[0m
       Here are some example configurations for various situations.  Please e-
       mail any other examples you have that may be useful to me.

   [1mMULTIPLE ACCOUNTS WITH MUTT[0m
       This example shows you how to set up [1mOfflineIMAP [22mto synchronize  multi-
       ple accounts with the mutt mail reader.

       Start  by  creating  a  directory to hold your folders by running [1mmkdir[0m
       [1m~/Mail[22m.  Then, in your [4m~/.offlineimaprc[24m, specify:

       accounts = Personal, Work

       Make sure that you have both an  [4m[Account[24m  [4mPersonal][24m  and  an  [4m[Account[0m
       [4mWork][24m section.  The local repository for each account must have differ-
       ent [4mlocalfolder[24m path names.  Also, make sure to enable [4m[mbnames][24m.

       In each local repository section, write something like this:

       localfolders = ~/Mail/Personal

       Finally, add these lines to your [4m~/.muttrc[24m:

       source ~/path-to-mbnames-muttrc-mailboxes
       folder-hook Personal set from="youremail@personal.com"
       folder-hook Work set from="youremail@work.com"
       set mbox_type=Maildir
       set folder=$HOME/Mail
       spoolfile=+Personal/INBOX

       That's it!

   [1mUW-IMAPD AND REFERENCES[0m
       Some users with a UW-IMAPD server need to use [1mOfflineIMAP[22m's "reference"
       feature  to  get at their mailboxes, specifying a reference of "~/Mail"
       or "#mh/" depending on the configuration.  The below configuration from
       (originally  from  docwhat@gerf.org) shows using a [4mreference[24m of Mail, a
       [4mnametrans[24m that strips the leading Mail/ off incoming folder names,  and
       a [4mfolderfilter[24m that limits the folders synced to just three.

       [Account Gerf]
       localrepository = GerfLocal
       remoterepository = GerfRemote

       [Repository GerfLocal]
       type = Maildir
       localfolders = ~/Mail

       [Repository GerfRemote]
       type = IMAP
       remotehost = gerf.org
       ssl = yes
       remoteuser = docwhat
       reference = Mail
       # Trims off the preceeding Mail on all the folder names.
       nametrans = lambda foldername: \
                   re.sub('^Mail/', '', foldername)
       # Yeah, you have to mention the Mail dir, even though it
       # would seem intuitive that reference would trim it.
       folderfilter = lambda foldername: foldername in [
             'Mail/INBOX',
             'Mail/list/zaurus-general',
             'Mail/list/zaurus-dev',
             ]
       maxconnections = 1
       holdconnectionopen = no

   [1mPYTHONFILE CONFIGURATION FILE OPTION[0m
       You  can  have  [1mOfflineIMAP [22mload up a Python file before evaluating the
       configuration file options that are Python expressions.   This  example
       is based on one supplied by Tommi Virtanen for this feature.

       In [4m~/.offlineimaprc[24m, he adds these options:

       [general]
       pythonfile=~/.offlineimap.py
       [Repository foo]
       foldersort=mycmp

       Then, the [4m~/.offlineimap.py[24m file will contain:

       prioritized = ['INBOX', 'personal', 'announce', 'list']

       def mycmp(x, y):
          for prefix in prioritized:
              xsw = x.startswith(prefix)
              ysw = y.startswith(prefix)
              if xsw and ysw:
                 return cmp(x, y)
              elif xsw:
                 return -1
              elif ysw:
                 return +1
          return cmp(x, y)

       def test_mycmp():
          import os, os.path
          folders=os.listdir(os.path.expanduser('~/data/mail/tv@hq.yok.utu.fi'))
          folders.sort(mycmp)
          print folders

       This  code  snippet  illustrates  how the [4mfoldersort[24m option can be cus-
       tomized with a Python function from the [4mpythonfile[24m to  always  synchro-
       nize certain folders first.

[1mSIGNALS[0m
       OfflineIMAP  writes  its current PID into [4m~/.offlineimap/pid[24m when it is
       running.  It is not guaranteed that  this  file  will  not  exist  when
       OfflineIMAP is not running.

[1mERRORS[0m
       If  you  get  one  of  some frequently-encountered or confusing errors,
       please check this section.

   [1mUID VALIDITY PROBLEM FOR FOLDER[0m
       IMAP servers use a unique ID (UID) to  refer  to  a  specific  message.
       This number is guaranteed to be unique to a particular message [1mforever[22m.
       No other message in the same folder will ever get the same  UID.   UIDs
       are  an integral part of [1mOfflineIMAP[22m's synchronization scheme; they are
       used to match up messages on your computer to messages on the server.

       Sometimes, the UIDs on the server might get reset.  Usually  this  will
       happen  if  you  delete  and then recreate a folder.  When you create a
       folder, the  server  will  often  start  the  UID  back  from  1.   But
       [1mOfflineIMAP  [22mmight  still have the UIDs from the previous folder by the
       same name stored.  [1mOfflineIMAP [22mwill detect this condition and skip  the
       folder.  This is GOOD, because it prevents data loss.

       You  can  fix  it  by  removing  your local folder and cache data.  For
       instance, if your folders are under [4m~/Folders[24m and the folder  with  the
       problem is INBOX, you'd type this:

       rm -r ~/Folders/INBOX
       rm -r ~/.offlineimap/Account-[4mAccountName[24m/LocalStatus/INBOX
       rm -r ~/.offlineimap/Repository-[4mRemoteRepositoryName[24m/FolderValidity/INBOX

       (Of course, replace AccountName and RemoteRepositoryName with the names
       as specified in [4m~/.offlineimaprc[24m).

       Next time you run [1mOfflineIMAP[22m, it will re-download the folder with  the
       new  UIDs.  Note that the procedure specified above will lose any local
       changes made to the folder.

       Some IMAP servers are broken and do not support UIDs properly.  If  you
       continue  to  get this error for all your folders even after performing
       the above procedure, it is likely that your IMAP server falls into this
       category.   [1mOfflineIMAP  [22mis  incompatible  with  such  servers.   Using
       [1mOfflineIMAP [22mwith them will not destroy any mail, but at the same  time,
       it  will  not actually synchronize it either.  ([1mOfflineIMAP [22mwill detect
       this condition and abort prior to synchronization.)

       This question comes up  frequently  on  the  [1mOfflineIMAP  [22mmailing  list
       <URL:http://lists.complete.org/offlineimap@complete.org/>.    You   can
       find      a      detailed       discussion       <URL:http://lists.com-
       plete.org/offlineimap@complete.org/2003/04/msg00012.html.gz>   of   the
       problem there.

[1mCONFORMING TO[0m
       o Internet Message Access Protocol version 4rev1 (IMAP 4rev1) as speci-
         fied in RFC2060 and RFC3501

       o CRAM-MD5 as specified in RFC2195

       o Maildir      as      specified     in     the     Maildir     manpage
         <URL:http://www.qmail.org/qmail-manual-html/man5/maildir.html>    and
         the qmail website <URL:http://cr.yp.to/proto/maildir.html>.

       o Standard Python 2.2.1 as implemented on POSIX-compliant systems.

[1mNOTES[0m
   [1mDELETING LOCAL FOLDERS[0m
       [1mOfflineIMAP  [22mdoes  a  two-way  synchronization.  That is, if you make a
       change to the mail on the server, it will be propagated to  your  local
       copy, and vise-versa.  Some people might think that it would be wise to
       just delete all their local mail folders periodically.  If you do  this
       with  [1mOfflineIMAP[22m,  remember  to  also  remove  your local status cache
       ([4m~/.offlineimap[24m by default).  Otherwise, [1mOfflineIMAP [22mwill take this  as
       an intentional deletion of many messages and will interpret your action
       as requesting them to be deleted from the  server  as  well.   (If  you
       don't  understand  this, don't worry; you probably won't encounter this
       situation.)

   [1mMULTIPLE INSTANCES[0m
       [1mOfflineIMAP [22mis not designed to have several instances (for instance,  a
       cron  job  and  an  interactive  invocation)  run over the same mailbox
       simultaneously.  It will perform  a  check  on  startup  and  abort  if
       another  [1mOfflineIMAP  [22mis already running.  If you need to schedule syn-
       chronizations, you'll probably find [4mautorefresh[24m  settings  more  conve-
       nient than cron.  Alternatively, you can set a separate [4mmetadata[24m direc-
       tory for each instance.

   [1mCOPYING MESSAGES BETWEEN FOLDERS[0m
       Normally, when you copy a message between folders or add a new  message
       to  a  folder  locally, [1mOfflineIMAP [22mwill just do the right thing.  How-
       ever, sometimes this can be tricky -- if your IMAP server does not pro-
       vide   the  SEARCH  command,  or  does  not  return  something  useful,
       [1mOfflineIMAP [22mcannot determine the new UID of the message.  So, in  these
       rare  instances, OfflineIMAP will upload the message to the IMAP server
       and delete it from your local folder.  Then, on  your  next  sync,  the
       message  will  be re-downloaded with the proper UID.  [1mOfflineIMAP [22mmakes
       sure that the message was properly  uploaded  before  deleting  it,  so
       there should be no risk of data loss.

   [1mMAILING LIST[0m
       There is an OfflineIMAP mailing list available.  To subscribe, send the
       text  "Subscribe"  in  the  subject   of   a   mail   to   offlineimap-
       request@complete.org.   To  post,  send the message to offlineimap@com-
       plete.org.  Archives are available at
        <URL:http://lists.complete.org/offlineimap@complete.org/>.

   [1mBUGS[0m
       Reports of bugs should be reported online at the [1mOfflineIMAP  [22mhomepage.
       Debian users are encouraged to instead use the Debian bug-tracking sys-
       tem.

[1mUPGRADING TO 4.0[0m
       If you are upgrading from a version of [1mOfflineIMAP  [22mprior  to  3.99.12,
       you  will  find  that  you  will  get errors when [1mOfflineIMAP [22mstarts up
       (relating to ConfigParser or AccountHashGenerator) and  the  configura-
       tion  file.   This  is  because the config file format had to change to
       accommodate new features in 4.0.  Fortunately, it's  not  difficult  to
       adjust it to suit.

       First  thing  you  need to do is stop any running [1mOfflineIMAP [22minstance,
       making sure first that it's synced all your mail.   Then,  modify  your
       [4m~/.offlineimaprc[24m  file.   You'll  need to split up each account section
       (make sure that it now starts with "Account ") into two Repository sec-
       tions  (one  for  the local side and another for the remote side.)  See
       the files [4mofflineimap.conf.minimal[24m and [4mofflineimap.conf[24m in the  distri-
       bution if you need more assistance.

       [1mOfflineIMAP[22m's  status  directory area has also changed.  Therefore, you
       should delete everything in ~/.offlineimap as well as your  local  mail
       folders.

       When  you  start  up [1mOfflineIMAP [22m4.0, it will re-download all your mail
       from the server and then you can continue using it like normal.

[1mCOPYRIGHT[0m
       OfflineIMAP, and this manual,  are  Copyright  (C)  2002  -  2006  John
       Goerzen.

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it  will  be  useful,  but
       WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of MER-
       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
       Public License for more details.

       You should have received a copy of the GNU General Public License along
       with this program; if not, write to the Free Software Foundation, Inc.,
       59 Temple Place, Suite 330, Boston, MA  02111-1307 USA

       imaplib.py  comes  from  the  Python dev tree and is licensed under the
       GPL-compatible PSF license as stated  in  the  file  [4mCOPYRIGHT[24m  in  the
       [1mOfflineIMAP [22mdistribution.

[1mAUTHOR[0m
       [1mOfflineIMAP[22m,  its  libraries,  documentation,  and  all included files,
       except where noted, was written by John Goerzen <jgoerzen@complete.org>
       and copyright is held as stated in the COPYRIGHT section.

       [1mOfflineIMAP [22mmay be downloaded, and information found, from its homepage
       <URL:http://software.complete.org/offlineimap>.

[1mSEE ALSO[0m
       [1mmutt[22m(1), [1mpython[22m(1)

[1mHISTORY[0m
       Detailed history may be found in the file ChangeLog in the  [1mOfflineIMAP[0m
       distribution.   Feature  and  bug  histories  may  be found in the file
       debian/changelog which, despite its name,  is  not  really  Debian-spe-
       cific.  This section provides a large overview.

       Development  on  [1mOfflineIMAP [22mbegan on June 18, 2002.  Version 1.0.0 was
       released three days later on June 21, 2002.  Point  releases  followed,
       including speed optimizations and some compatibility fixes.

       Version  2.0.0  was released on July 3, 2002, and represented the first
       time the synchronization became multithreaded and, to the  best  of  my
       knowledge,  the  first  multithreaded IMAP syncrhonizing application in
       existance.  The last 2.0.x release, 2.0.8, was made on July 9.

       Version 3.0.0 was released on July 11,  2002,  and  introduced  modular
       user interfaces and the first GUI interface for [1mOfflineIMAP[22m.  This man-
       ual also was  introduced  with  3.0.0,  along  with  many  command-line
       options.  Version 3.1.0 was released on July 21, adding the Noninterac-
       tive user interfaces, profiling support, and several  bugfixes.   3.2.0
       was  released  on  July  24,  adding  support for the Blinkenlights GUI
       interface.  [1mOfflineIMAP [22mentered maintenance mode for awhile, as it  had
       reached a feature-complete milestone in my mind.

       The  3.99.x  branch began in on October 7, 2002, to begin work for 4.0.
       The Curses.Blinkenlights interface was added in 3.99.6, and many archi-
       tectural changes were made.

       4.0.0  was released on July 18, 2003, including the ability to synchro-
       nize directly between two IMAP servers, the  first  re-architecting  of
       the  configuration file to refine the notion of an account, and the new
       Curses interface.



John Goerzen                    24 October 2009                 OFFLINEIMAP(1)
