1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
5 >OfflineIMAP Manual
</TITLE
8 CONTENT=
"Modular DocBook HTML Stylesheet Version 1.77+"></HEAD
25 >I. OfflineIMAP Manual
</H1
37 > --
Powerful IMAP/Maildir synchronization
38 and reader support
</DT
54 >OfflineIMAP
--
Powerful IMAP/Maildir synchronization
55 and reader support
</DIV
57 CLASS=
"REFSYNOPSISDIV"
110 > is a tool to simplify your e-mail
114 >, you can read the same mailbox
115 from multiple computers. You get a current copy of your
116 messages on each computer, and changes you make one place will be
117 visible on all other systems. For instance, you can delete a message
118 on your home computer, and it will appear deleted on your work
119 computer as well.
<SPAN
122 > is also useful if you want to
123 use a mail reader that does not have IMAP support, has poor IMAP
124 support, or does not provide disconnected operation.
137 my two accounts with over
50 folders in
3 seconds. Other
138 similar tools might take over a minute, and achieve a
139 less-reliable result. Some mail readers can take over
10
140 minutes to do the same thing, and some don't even support it
141 at all. Unlike other mail tools,
<SPAN
145 multi-threaded synchronization algorithm that can dramatically
146 speed up performance in many situations by synchronizing
147 several different things simultaneously.
160 customize which folders are synced via regular expressions,
161 lists, or Python expressions; a versatile and comprehensive
162 configuration file is used to control behavior; two user
163 interfaces are built-in; fine-tuning of synchronization
164 performance is possible; internal or external automation is
165 supported; SSL and PREAUTH tunnels are both supported; offline
166 (or
"unplugged") reading is supported; and esoteric IMAP
167 features are supported to ensure compatibility with the widest
168 variety of IMAP servers.
181 algorithm designed to prevent mail loss at all costs. Because
182 of the design of this algorithm, even programming errors
183 should not result in loss of mail. I am so confident in the
184 algorithm that I use my own personal and work accounts for
188 > pre-release, development, and beta
189 releases. Of course, legally speaking,
<SPAN
193 with no warranty, so I am not responsible if this turns out
202 >Method of Operation
</H3
207 > operates by maintaining a hierarchy of
208 mail folders in Maildir format locally. Your own mail
209 reader will read mail from this tree, and need never know
210 that the mail comes from IMAP.
<SPAN
214 changes to the mail folders on your IMAP server and your own
215 computer and bi-directionally synchronize them, copying,
216 marking, and deleting messages as necessary.
228 >If you have already installed
<SPAN
232 or your system adminstrator has done that for you, your task
236 > for the first time is quite
237 simple. You just need to set up your configuration file, make
238 your folder directory, and run it!
241 >You can quickly set up your configuration file. The distribution
244 >offlineimap.conf.minimal
</TT
250 >/usr/share/doc/offlineimap/examples/offlineimap.conf.minimal
</TT
251 >) that is a basic example of setting of
<SPAN
255 simply copy this file into your home directory and name it
259 > (note the leading period). A
262 >cp offlineimap.conf.minimal ~/.offlineimaprc
</B
263 > will do it. Or, if you prefer, you can just copy this text to
266 >~/.offlineimaprc
</TT
270 CLASS=
"PROGRAMLISTING"
275 localfolders = ~/Test
276 remotehost = examplehost
277 remoteuser = jgoerzen
</PRE
281 >~/.offlineimaprc
</TT
283 your favorite editor. All you have to do is specify a directory
284 for your folders to be in (on the
<SPAN
288 line), the host name of your IMAP server (on the
292 > line), and your login name on
293 the remote (on the
<SPAN
302 >, you just have to say
306 > -- it will fire up, ask you for
307 a login password if necessary, synchronize your folders, and exit.
308 See? You can just throw away the rest of this finely-crafted,
309 perfectly-honed manual! Of course, if you want to see how you can
313 > FIVE TIMES FASTER FOR JUST $
19.95 (err, well,
314 $
0), you have to read on!
325 >If you are reading this document via the
"man" command, it is
327 that you have no installation tasks to perform; your system
328 administrator has already installed it. If you need to install it
329 yourself, you have three options: a system-wide installation with
330 Debian, system-wide installation with other systems, and a single-user
331 installation. You can download the latest version of
<SPAN
336 HREF=
"http://quux.org/devel/offlineimap/"
353 >In order to use
<SPAN
356 >, you need to have these conditions
364 >Your mail server must support IMAP. Most Internet Service
366 and corporate networks do, and most operating systems
368 implementation readily available.
373 > You must have Python version
2.2.1 or above installed.
375 running on Debian GNU/Linux, this requirement will automatically be
376 taken care of for you. If you do not have Python already, check with
377 your system administrator or operating system vendor; or, download it from
379 HREF=
"http://www.python.org/"
381 >the Python website
</A
383 If you intend to use the Tk interface, you must have Tkinter
384 (python-tk) installed. If you intend to use the SSL interface, your
385 Python must have been built with SSL support.
390 > Have a mail reader that supports the Maildir mailbox format. Most
391 modern mail readers have this support built-in, so you can choose from
392 a wide variety of mail servers. This format is also known as the
393 "qmail" format, so any mail reader compatible with it will work with
408 >System-Wide Installation, Debian
</H3
410 > If you are tracking Debian unstable, you may install
414 > by simply running the following command as root:
419 >apt-get install offlineimap
</B
423 > If you are not tracking Debian unstable, download the Debian .deb
425 HREF=
"http://quux.org/devel/offlineimap/"
435 > to install the downloaded
436 package. Then, skip to
<A
437 HREF=
"#CONFIGURATION"
441 > below. You will type
<B
454 >System-Wide Installation, Other
</H3
456 > Download the tar.gz version of the package from the
458 HREF=
"http://quux.org/devel/offlineimap/"
463 these commands, making sure that you are the
"root" user first:
466 CLASS=
"PROGRAMLISTING"
467 >tar -zxvf offlineimap_x.y.z.tar.gz
469 python2.2 setup.py install
</PRE
471 >On some systems, you will need to use
480 HREF=
"#CONFIGURATION"
484 > below. You will type
<B
497 >Single-Account Installation
</H3
499 > Download the tar.gz version of the package from the
501 HREF=
"http://quux.org/devel/offlineimap/"
505 Then run these commands:
508 CLASS=
"PROGRAMLISTING"
509 >tar -zxvf offlineimap_x.y.z.tar.gz
510 cd offlineimap-x.y.z
</PRE
512 >When you want to run
<SPAN
515 >, you will issue the
519 > command as above and then type
523 >; there is no installation
539 > is regulated by a configuration file that is normally
542 >~/.offlineimaprc
</TT
547 ships with a file named
<TT
549 >offlineimap.conf
</TT
551 that you should copy to that location and then edit. This file is
552 vital to proper operation of the system; it sets everything you need
556 >. Full documentation for the configuration file
557 is included within the sample file.
563 > also ships a file named
566 >offlineimap.conf.minimal
</TT
567 > that you can also try.
568 It's useful if you want to get started with
569 the most basic feature set, and you can read about other features
572 >offlineimap.conf
</TT
584 > Most configuration is done via the configuration file. Nevertheless,
585 there are a few command-line options that you may set for
600 >Disable most multithreading operations and use
601 solely a single-connection
602 sync. This effectively sets the
<SPAN
604 >maxsyncaccounts
</SPAN
608 >maxconnections
</SPAN
625 > into profile mode. The program
632 (it must not already exist). As it runs, Python profiling
634 about each thread is logged into profiledir. Please note: This option
635 is present for debugging and optimization only, and should NOT be used
636 unless you have a specific reason to do so. It will significantly
637 slow program performance, may reduce reliability, and can generate
638 huge amounts of data. You must use the
<TT
664 > section of the configuration
665 file. You might use this to exclude certain accounts, or to sync
666 some accounts that you normally prefer not to. Separate the
667 accounts by commas, and use no embedded spaces.
679 >Specifies a configuration file to use in lieu of
682 >~/.offlineimaprc
</TT
695 >Enables debugging for OfflineIMAP. This is useful if
696 you are trying to track down a malfunction or figure out what is going
697 on under the hood. I suggest that you use this with
701 > to make the results more sensible.
</P
706 > requires one or more debugtypes,
707 separated by commas. These define what exactly will be
708 debugged, and include two options:
<SPAN
719 option will enable IMAP protocol stream and parsing debugging. Note
720 that the output may contain passwords, so take care to remove that
721 from the debugging output before sending it to anyone else. The
725 > option will enable debugging for
726 certain Maildir operations.
733 >Run only once, ignoring all
737 > settings in the configuration
744 >Show summary of options.
</P
755 >Specifies an alternative user interface module
756 to use. This overrides the defailt specified in the
757 configuration file. The pre-defined options are listed in
758 the User Interfaces section.
</P
774 > has a pluggable user interface system that lets you choose how the
775 program communicates information to you. There are two graphical
776 interfaces, two terminal interfaces, and two noninteractive interfaces
777 suitable for scripting or logging purposes. The
781 > option in the configuration file specifies
782 user interface preferences. The
<TT
786 option can override the configuration file setting. The available
787 values for the configuration file or command-line are described
795 >Tk.Blinkenlights
</H3
797 >Tk.Blinkenlights is an interface designed to be sleek, fun to watch, and
798 informative of the overall picture of what
<SPAN
802 is doing. I consider it to be the best general-purpose interface in
809 > Tk.Blinkenlights contains, by default, a small window with a row of
810 LEDs, a small log, and a row of command buttons.
811 The total size of the window is
812 very small, so it uses little desktop space, yet it is quite
813 functional. The optional, toggleable, log shows more
814 detail about what is happening and is color-coded to match the color
818 > Tk.Blinkenlights is the only user interface that has configurable
819 parameters; see the example
<TT
821 >offlineimap.conf
</TT
826 > Each light in the Blinkenlights interface represents a thread
827 of execution -- that is, a particular task that
<SPAN
831 is performing right now. The colors indicate what task
832 the particular thread is performing, and are as follows:
843 >indicates that this light's thread has terminated; it will light up
844 again later when new threads start up. So, black indicates no
852 >is the color of the main program's thread, which basically does
853 nothing but monitor the others. It might remind you of HAL
9000 in
864 >indicates that the thread is establishing a new connection to the IMAP
872 >is the color of an account synchronization thread that is monitoring
873 the progress of the folders in that account (not generating any I/O).
880 >indicates that the thread is syncing a folder.
887 >means that a folder's message list is being loaded.
894 >is the color of a message synchronization controller thread.
901 >indicates that an actual message is being copied.
902 (We use fuschia for fake messages.)
909 >indicates that a message is being deleted.
913 >Yellow / bright orange
</DT
916 >indicates that message flags are being added.
920 >Pink / bright red
</DT
923 >indicates that message flags are being removed.
927 >Red / Black Flashing
</DT
930 >corresponds to the countdown timer that runs between
937 >The name of this interfaces derives from a bit of computer
938 history. Eric Raymond's [
<SPAN
953 >Front-panel diagnostic
954 lights on a computer, esp. a dinosaur. Now that dinosaurs are rare,
955 this term usually refers to status lights on a modem, network hub, or
959 > This term derives from the last word of the famous blackletter-Gothic
960 sign in mangled pseudo-German that once graced about half the computer
961 rooms in the English-speaking world. One version ran in its entirety as
969 >ACHTUNG! ALLES LOOKENSPEEPERS!
</I
974 > Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
975 Ist easy schnappen der springenwerk, blowenfusen und poppencorken
976 mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen.
977 Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
978 pockets muss; relaxen und watchen das blinkenlichten.
988 >Curses.Blinkenlights
</H3
990 > Curses.Blinkenlights is an interface very similar to Tk.Blinkenlights,
991 but is designed to be run in a console window (an xterm, Linux virtual
992 terminal, etc.) Since it doesn't have access to graphics, it isn't
993 quite as pretty, but it still gets the job done.
996 >Please see the Tk.Blinkenlights section above for more
997 information about the colors used in this interface.
1008 > Tk.VerboseUI (formerly known as Tk.TkUI) is a graphical interface
1009 that presents a variable-sized window. In the window, each
1010 currently-executing thread has a section where its name and current
1011 status are displayed. This interface is best suited to people running
1012 on slower connections, as you get a lot of detail, but for fast
1013 connections, the detail may go by too quickly to be useful. People
1014 with fast connections may wish to use Tk.Blinkenlights instead.
1025 > TTY.TTYUI interface is for people running in basic, non-color terminals. It
1026 prints out basic status messages and is generally friendly to use on a console
1036 >Noninteractive.Basic
</H3
1038 > Noninteractive.Basic is designed for situations in which
<SPAN
1042 will be run non-attended and the status of its execution will be
1043 logged. You might use it, for instance, to have the system run
1045 e-mail you the results of the synchronization. This user interface
1046 is not capable of reading a password from the keyboard; account
1047 passwords must be specified using one of the configuration file options.
1056 >Noninteractive.Quiet
</H3
1058 > Noninteractive.Quiet is designed for non-attended running in situations
1059 where normal status messages are not desired. It will output nothing
1060 except errors and serious warnings. Like Noninteractive.Basic,
1062 is not capable of reading a password from the keyboard; account
1063 passwords must be specified using one of the configuration file options.
1075 >Here are some example configurations for various situations.
1076 Please e-mail any other examples you have that may be useful to
1085 >Multiple Accounts with Mutt
</H3
1087 > This example shows you how to set up
<SPAN
1091 synchronize multiple accounts with the mutt mail reader.
1094 > Start by creating a directory to hold your folders by running
1101 >~/.offlineimaprc
</TT
1105 CLASS=
"PROGRAMLISTING"
1106 >accounts = Personal, Work
</PRE
1108 > Make sure that you have both a
<SPAN
1115 > section, each with different
1119 > path names. Also, make sure
1126 > In each account section, write something like this:
1129 CLASS=
"PROGRAMLISTING"
1130 >localfolders = ~/Mail/Personal
</PRE
1132 > Finally, add these lines to your
<TT
1138 CLASS=
"PROGRAMLISTING"
1139 >source ~/path-to-mbnames-muttrc-mailboxes
1140 folder-hook Personal set
from=
"youremail@personal.com"
1141 folder-hook Work set
from=
"youremail@work.com"
1142 set mbox_type=Maildir
1143 set folder=$HOME/Mail
1144 spoolfile=+Personal/INBOX
</PRE
1155 >UW-IMAPD and References
</H3
1157 >Some users with a UW-IMAPD server need to use
<SPAN
1161 "reference" feature to get at their mailboxes, specifying a reference
1162 of
"~/Mail" or
"#mh/" depending on the configuration. The below
1163 configuration from docwhat@gerf.org
1172 the leading Mail/ off incoming folder names, and a
1177 limits the folders synced to just three.
1180 CLASS=
"PROGRAMLISTING"
1182 localfolders = ~/Mail
1183 remotehost = gerf.org
1185 remoteuser = docwhat
1187 # Trims off the preceeding Mail on all the folder names.
1188 nametrans = lambda foldername: \
1189 re.sub('^Mail/', '', foldername)
1190 # Yeah, you have to mention the Mail dir, even though it
1191 # would seem intuitive that reference would trim it.
1192 folderfilter = lambda foldername: foldername in [
1194 'Mail/list/zaurus-general',
1195 'Mail/list/zaurus-dev',
1198 holdconnectionopen = no
</PRE
1206 >pythonfile Configuration File Option
</H3
1212 load up a Python file before evaluating the
1213 configuration file options that are Python expressions. This example
1214 is based on one supplied by Tommi Virtanen for this feature.
1219 >~/.offlineimap.rc
</TT
1220 >, he adds these options:
1223 CLASS=
"PROGRAMLISTING"
1225 pythonfile=~/.offlineimap.py
1227 foldersort=mycmp
</PRE
1231 >~/.offlineimap.py
</TT
1236 CLASS=
"PROGRAMLISTING"
1237 >prioritized = ['INBOX', 'personal', 'announce', 'list']
1240 for prefix in prioritized:
1241 if x.startswith(prefix):
1243 elif y.startswith(prefix):
1249 folders=os.listdir(os.path.expanduser('~/data/mail/tv@hq.yok.utu.fi'))
1253 > This code snippet illustrates how the
<SPAN
1257 option can be customized with a Python function from the
1261 > to always synchronize certain
1274 > If you get one of some frequently-encountered or confusing errors,
1275 please check this section.
1283 >UID validity problem for folder
</H3
1285 >IMAP servers use a unique ID (UID) to refer to a specific message.
1286 This number is guaranteed to be unique to a particular message
1294 No other message in the same folder will ever get the same
1295 UID. UIDs are an integral part of
<SPAN
1299 scheme; they are used to match up messages on your computer to
1300 messages on the server.
1303 > Sometimes, the UIDs on the server might get reset. Usually this will
1304 happen if you delete and then recreate a folder. When you create a
1305 folder, the server will often start the UID back from
1. But
1309 > might still have the UIDs from the previous folder by the
1310 same name stored.
<SPAN
1313 > will detect this condition and skip the
1314 folder. This is GOOD, because it prevents data loss.
1317 > You can fix it by removing your local folder and cache data. For
1318 instance, if your folders are under
<TT
1322 and the folder with the problem is INBOX, you'd type this:
1325 CLASS=
"PROGRAMLISTING"
1326 >rm -r ~/Folders/INBOX
1327 rm -r ~/.offlineimap/AccountName/INBOX
</PRE
1329 > (Of course, replace AccountName with the account name as specified
1332 >~/.offlineimaprc
</TT
1336 >Next time you run
<SPAN
1339 >, it will re-download
1341 new UIDs. Note that the procedure specified above will lose any local
1342 changes made to the folder.
1345 > Some IMAP servers are broken and do not support UIDs properly. If you
1346 continue to get this error for all your folders even after performing
1347 the above procedure, it is likely that your IMAP server falls into
1348 this category.
<SPAN
1351 > is incompatible with such servers.
1355 > with them will not destroy any mail, but at the same time,
1356 it will not actually synchronize it either. (
<SPAN
1360 this condition and abort prior to synchronization.)
1370 >Other Frequently Asked Questions
</H2
1372 >There are some other FAQs that might not fit into another section
1373 of the document, so they are discussed here.
1378 CLASS=
"VARIABLELIST"
1381 >What platforms does
<SPAN
1387 > It should run on most platforms supported by Python, which are quite a
1392 >I'm using Mutt. Other IMAP sync programs require me to use
"set maildir_trash=yes". Do I need to do that with
<SPAN
1401 > is smart enough to figure out message deletion without this extra
1402 crutch. You'll get the best results if you don't use this setting, in
1407 >How do I specify the names of my folders?
</DT
1410 > You do not need to.
<SPAN
1414 enough to automatically figure out what folders are present
1415 on the IMAP server and synchronize them. You can use the
1423 configuration file options to request certain folders and rename them
1424 as they come in if you like.
1428 >How can I prevent certain folders from being synced?
</DT
1434 > option in the configuration file.
1438 >How can I add or delete a folder?
</DT
1444 > does not currently provide this feature, but if you create a new
1445 folder on the IMAP server, it will be created locally automatically.
1449 >Are there any other warnings that I should be aware of?
</DT
1452 > Yes; see the Notes section below.
1456 >What is the mailbox name recorder (mbnames) for?
</DT
1459 >Some mail readers, such as Mutt, are not capable
1460 of automatically determining the names of your mailboxes.
1464 > can help these programs by writing the names
1465 of the folders ni a format you specify. See the example
1468 >offlineimap.conf
</TT
1473 >Can I synchronize multiple accounts with
<SPAN
1479 >Sure. Just name them all in the
1487 section of the configuration file, and add a per-account section
1498 >No. POP is not robust enough to do a completely reliable
1499 multi-machine synchronization like
<SPAN
1506 will not support it.
1513 > support mailbox formats other than Maildir?
</DT
1516 >Not at present. There is no technical reason not to; just no
1517 demand yet. Maildir is a superior format anyway.
1521 >[technical] Why are your Maildir message filenames so huge?
</DT
1527 > has two relevant principles:
1) never modifying your
1528 messages in any way and
2) ensuring
100% reliable synchronizations.
1529 In order to do a reliable sync,
<SPAN
1534 uniquely identify each e-mail. Three pieces of information are
1535 required to do this: your account name, the folder name, and the
1536 message UID. The account name can be calculated from the path in
1537 which your messages are. The folder name can usually be as well, BUT
1538 some mail clients move messages between folders by simply moving the
1539 file, leaving the name intact.
1545 > must store both a UID folder ID. The folder ID is
1549 > can detect a message moved to a different
1553 > stores the UID (U= number) and an md5sum of the
1554 foldername (FMD5= number) to facilitate this.
1558 >What is the speed of
<SPAN
1565 versions
2.0 and above contain a multithreaded system. A good way to
1566 experiment is by setting
<SPAN
1568 >maxsyncaccounts
</SPAN
1571 >maxconnections
</SPAN
1573 in each account clause.
1576 >This lets OfflineIMAP open up multiple connections simultaneously.
1577 That will let it process multiple folders and messages at once. In
1578 most cases, this will increase performance of the sync.
1581 >Don't set the number too high. If you do that, things might actually
1582 slow down as your link gets saturated. Also, too many connections can
1583 cause mail servers to have excessive load. Administrators might take
1584 unkindly to this, and the server might bog down. There are many
1585 variables in the optimal setting; experimentation may help.
1588 >An informal benchmark yields these results for my setup:
1595 >10 minutes with MacOS X Mail.app
"manual cache"
1600 >5 minutes with GNUS agent sync
</P
1604 >20 seconds with OfflineIMAP
1.x
</P
1608 >9 seconds with OfflineIMAP
2.x
</P
1612 >3 seconds with OfflineIMAP
3.x
"cold start"</P
1616 >2 seconds with OfflineIMAP
3.x
"held connection"</P
1635 >Internet Message Access Protocol version
4rev1 (IMAP
4rev1) as
1636 specified in RFC2060
</P
1640 >CRAM-MD5 as specified in RFC2195
</P
1644 >Maildir as specified in
1646 HREF=
"http://www.qmail.org/qmail-manual-html/man5/maildir.html"
1648 >the Maildir manpage
</A
1651 HREF=
"http://cr.yp.to/proto/maildir.html"
1653 >the qmail website
</A
1658 >Standard Python
2.2.1 as implemented on POSIX-compliant systems.
</P
1675 >Deleting Local Folders
</H3
1680 > does a two-way synchronization. That is, if you
1681 make a change to the mail on the server, it will be propogated to your
1682 local copy, and vise-versa. Some people might think that it would be
1683 wise to just delete all their local mail folders periodically. If you
1687 >, remember to also remove your local status
1691 > by default). Otherwise,
<SPAN
1695 this as an intentional deletion of many messages and will interpret
1696 your action as requesting them to be deleted from the server as well.
1697 (If you don't understand this, don't worry; you probably won't
1698 encounter this situation)
1707 >Multiple Instances
</H3
1712 > is not designed to have several instances (for instance, a cron job and an interactive invocation) run over the same
1713 mailbox simultaneously. It will perform a check on startup and
1714 abort if another
<SPAN
1717 > is already running. If you need
1718 to schedule synchronizations, please use the
1722 > settings rather than cron.
1723 Alternatively, you can set a separate
<SPAN
1727 directory for each instance.
1736 >Copying Messages Between Folders
</H3
1738 > Normally, when you copy a message between folders or add a new message
1739 to a folder locally,
<SPAN
1743 will just do the right thing. However, sometimes this can be tricky
1744 -- if your IMAP server does not provide the SEARCH command, or does
1745 not return something useful,
<SPAN
1749 cannot determine the new UID of the message. So, in these rare
1750 instances, OfflineIMAP will upload the message to the IMAP server and
1751 delete it from your local folder. Then, on your next sync, the
1752 message will be re-downloaded with the proper UID.
1756 > makes sure that the message was properly uploaded before deleting it,
1757 so there should be no risk of data loss.
1766 >Use with Evolution
</H3
1771 > can work with Evolution. To do so, first configure
1779 > in its configuration. Then, configure
1781 "Maildir-format mail directories" server type. For the path, you will need to
1782 specify the name of the top-level folder
1804 >At this time, I believe that
<SPAN
1808 with KMail. KMail cannot work in any mode other than to move
1809 all messages out of all folders immediately, which (besides being annoying
1810 and fundamentally broken) is incompatible with
<SPAN
1824 >There is an OfflineIMAP mailing list available.
1825 To subscribe, send the text
"Subscribe" in the subject of a mail to
1826 offlineimap-request@complete.org. To post, send the message to
1827 offlineimap@complete.org.
1838 >Reports of bugs should be sent via e-mail to the
1842 > bug-tracking system (BTS) at
1843 offlineimap@bugs.complete.org or submitted online using
1845 HREF=
"http://bugs.complete.org/"
1851 > The Web site also lists all current bugs, where you can check their
1852 status or contribute to fixing them.
1864 >OfflineIMAP, and this manual, are Copyright
© 2002,
2003 John Goerzen.
</P
1866 > This program is free software; you can redistribute it and/or modify
1867 it under the terms of the GNU General Public License as published by
1868 the Free Software Foundation; version
2 of the License.
1871 > This program is distributed in the hope that it will be useful,
1872 but WITHOUT ANY WARRANTY; without even the implied warranty of
1873 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1874 GNU General Public License for more details.
1877 > You should have received a copy of the GNU General Public License
1878 along with this program; if not, write to the Free Software
1879 Foundation, Inc.,
59 Temple Place, Suite
330, Boston, MA
02111-
1307 USA
</P
1881 >imaplib.py comes from the Python dev tree and is licensed under
1882 the GPL-compatible PSF license as stated in the file
1904 >, its libraries, documentation, and all included files, except where
1905 noted, was written by John Goerzen
<TT
1908 HREF=
"mailto:jgoerzen@complete.org"
1909 >jgoerzen@complete.org
</A
1912 copyright is held as stated in the COPYRIGHT section.
1918 > may be downloaded, and information found, from its
1919 homepage via either
<A
1920 HREF=
"gopher://quux.org/1/devel/offlineimap"
1925 HREF=
"http://quux.org/devel/offlineimap"
1934 > may also be downloaded using Subversion. Additionally,
1935 the distributed tar.gz may be updated with a simple
"svn update"
1936 command; it is ready to go. For information on getting OfflineIMAP
1937 with Subversion, please visit the
1939 HREF=
"http://svn.complete.org/"
1941 >complete.org Subversion page
</A