1 # Sample configuration file
2 # Copyright (C) 2002-2005 John Goerzen
3 # <jgoerzen@complete.org>
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 # Looking for a quick start? Take a look at offlineimap.conf.minimal.
22 ##################################################
24 ##################################################
28 # This specifies where offlineimap is to store its metadata.
29 # This directory will be created if it does not already exist.
31 metadata = ~/.offlineimap
33 # This variable specifies which accounts are defined. Separate them
34 # with commas. Account names should be alphanumeric only.
35 # You will need to specify one section per account below. You may
36 # not use "general" for an account name.
41 # Offlineimap can synchronize more the one account at a time. If you
42 # want to enable this feature, set the below value to something
43 # greater than 1. To force it to synchronize only one account at a
49 # You can specify one or more user interface modules for OfflineIMAP
50 # to use. OfflineIMAP will try the first in the list, and if it
51 # fails, the second, and so forth.
53 # The pre-defined options are:
54 # Tk.Blinkenlights -- A graphical interface, shows LEDs and a single log
55 # Tk.VerboseUI -- A graphical interface, shows logs per thread
56 # Curses.Blinkenlights -- A text-based (terminal) interface similar to
58 # TTY.TTYUI -- a text-based (terminal) interface
59 # Noninteractive.Basic -- Noninteractive interface suitable for cronning
60 # Noninteractive.Quiet -- Noninteractive interface, generates no output
63 # You can override this with a command-line option -u.
65 ui = Tk.Blinkenlights, Tk.VerboseUI, Curses.Blinkenlights, TTY.TTYUI,
66 Noninteractive.Basic, Noninteractive.Quiet
68 # If you try to synchronize messages to a read-only folder,
69 # OfflineIMAP will generate a warning. If you want to suppress these
70 # warnings, set ignore-readonly to yes. Read-only IMAP folders allow
71 # reading but not modification, so if you try to change messages in
72 # the local copy of such a folder, the IMAP server will prevent
73 # OfflineIMAP from propogating those changes to the IMAP server.
77 ########## Advanced settings
79 # You can give a Python source filename here and all config file
80 # python snippets will be evaluated in the context of that file.
81 # This allows you to e.g. define helper functions in the Python
82 # source file and call them from this config file. You can find
83 # an example of this in the manual.
85 # pythonfile = ~/.offlineimap.py
88 ##################################################
89 # Mailbox name recorder
90 ##################################################
94 # offlineimap can record your mailbox names in a format you specify.
95 # You can define the header, each mailbox item, the separator,
96 # and the footer. Here is an example for Mutt.
97 # If enabled is yes, all six setting must be specified, even if they
98 # are just the empty string "".
100 # The header, peritem, sep, and footer are all Python expressions passed
101 # through eval, so you can (and must) use Python quoting.
104 filename = ~/Mutt/muttrc.mailboxes
105 header = "mailboxes "
106 peritem = "+%(accountname)s/%(foldername)s"
110 # You can also specify a folderfilter. It will apply to the
111 # *translated* folder name here, and it takes TWO arguments:
112 # accountname and foldername. In all other ways, it will
113 # behave identically to the folderfilter for accounts. Please see
114 # that section for more information and examples.
116 # Note that this filter can be used only to further restrict mbnames
117 # to a subset of folders that pass the account's folderfilter.
119 ##################################################
120 # Blinkenlights configuration
121 ##################################################
123 [ui.Tk.Blinkenlights]
125 # Specifies the default number of lines in the log.
129 # Specifies how many lines are in the scrollback log buffer.
133 # If true, says that the log should be enabled by default.
134 # Otherwise, you have to click "Show Log" to enable the log.
138 # Sets the font information.
140 fontfamily = Helvetica
143 ##################################################
145 ##################################################
147 # This is an account definition clause. You'll have one of these
148 # for each account listed in general/accounts above.
151 ########## Basic settings
153 # These settings specify the two folders that you will be syncing.
154 # You'll need to have a "Repository ..." section for each one.
156 localrepository = LocalExample
157 remoterepository = RemoteExample
159 ########## Advanced settings
161 # You can have offlineimap continue running indefinately, automatically
162 # syncing your mail periodically. If you want that, specify how
163 # frequently to do that (in minutes) here. You can also specify
164 # fractional minutes (ie, 3.25).
168 [Repository LocalExample]
170 # This is one of the two repositories that you'll work with given the
171 # above example. Each repository requires a "type" declaration.
173 # The types supported are Maildir and IMAP.
178 # Specify local repository. Your IMAP folders will be synchronized
179 # to maildirs created under this path. OfflineIMAP will create the
180 # maildirs for you as needed.
182 localfolders = ~/Test
184 # You can specify the "path separator character" used for your Maildir
185 # folders. This is inserted in-between the components of the tree.
186 # It defaults to ".". If you want your Maildir folders to be nested,
191 [Repository RemoteExample]
193 # And this is the remote repository. For now, we only support IMAP here.
197 # Specify the remote hostname.
198 remotehost = examplehost
200 # Whether or not to use SSL.
203 # Specify the port. If not specified, use a default port.
206 # Specify the remote user name.
207 remoteuser = username
209 # There are three ways to specify the password for the remote IMAP
212 # 1. No password at all specified in the config file. You will
213 # be prompted for the password when OfflineIMAP starts.
215 # 2. The remote password stored in this file with the remotepass
218 # remotepass = mypassword
220 # 3. The remote password stored as a single line in an external
221 # file, which is referenced by the remotefile option. Example:
223 # remotepassfile = ~/Password.IMAP.Account1
225 # 4. With a preauth tunnel. With this method, you invoke an external
226 # program that is guaranteed *NOT* to ask for a password, but rather
227 # to read from stdin and write to stdout an IMAP procotol stream
228 # that begins life in the PREAUTH state. When you use a tunnel,
229 # you do NOT specify a user or password (if you do, they'll be
230 # ignored.) Instead, you specify a preauthtunnel, as this
231 # example illustrates for Courier IMAP on Debian:
233 # preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
236 ########## Advanced settings
238 # Some IMAP servers need a "reference" which often refers to the
239 # "folder root". This is most commonly needed with UW IMAP, where
240 # you might need to specify the directory in which your mail is
241 # stored. Most users will not need this.
245 # OfflineIMAP can use multiple connections to the server in order
246 # to perform multiple synchronization actions simultaneously.
247 # This may place a higher burden on the server. In most cases,
248 # setting this value to 2 or 3 will speed up the sync, but in some
249 # cases, it may slow things down. The safe answer is 1. You should
250 # probably never set it to a value more than 5.
254 # OfflineIMAP normally closes IMAP server connections between refreshes if
255 # the global option autorefresh is specified. If you wish it to keep the
256 # connection open, set this to true. If not specified, the default is
257 # false. Keeping the connection open means a faster sync start the
258 # next time and may use fewer server resources on connection, but uses
259 # more server memory. This setting has no effect if autorefresh is not set.
261 holdconnectionopen = no
263 # If you want to have "keepalives" sent while waiting between syncs,
264 # specify the amount of time IN SECONDS between keepalives here. Note that
265 # sometimes more than this amount of time might pass, so don't make it
266 # tight. This setting has no effect if autorefresh and holdconnectionopen
271 # Normally, OfflineIMAP will expunge deleted messages from the server.
272 # You can disable that if you wish. This means that OfflineIMAP will
273 # mark them deleted on the server, but not actually delete them.
274 # You must use some other IMAP client to delete them if you use this
275 # setting; otherwise, the messgaes will just pile up there forever.
276 # Therefore, this setting is definately NOT recommended.
279 # You can specify a folder translator. This must be a eval-able
280 # Python expression that takes a foldername arg and returns the new
281 # value. I suggest a lambda. This example below will remove "INBOX." from
282 # the leading edge of folders (great for Courier IMAP users)
284 # WARNING: you MUST construct this such that it NEVER returns
285 # the same value for two folders, UNLESS the second values are
286 # filtered out by folderfilter below. Failure to follow this rule
287 # will result in undefined behavior
289 # nametrans = lambda foldername: re.sub('^INBOX\.', '', foldername)
291 # Using Courier remotely and want to duplicate its mailbox naming
294 # nametrans = lambda foldername: re.sub('^INBOX\.*', '.', foldername)
296 # You can specify which folders to sync. You can do it several ways.
297 # I'll provide some examples. The folderfilter operates on the
298 # *UNTRANSLATED* name, if you specify nametrans. It should return
299 # true if the folder is to be included; false otherwise.
301 # Example 1: synchronizing only INBOX and Sent.
303 # folderfilter = lambda foldername: foldername in ['INBOX', 'Sent']
305 # Example 2: synchronizing everything except Trash.
307 # folderfilter = lambda foldername: foldername not in ['Trash']
309 # Example 3: Using a regular expression to exclude Trash and all folders
310 # containing the characters "Del".
312 # folderfilter = lambda foldername: not re.search('(^Trash$|Del)', foldername)
314 # If folderfilter is not specified, ALL remote folders will be
317 # You can span multiple lines by indenting the others. (Use backslashes
318 # at the end when required by Python syntax) For instance:
320 # folderfilter = lambda foldername: foldername in
321 # ['INBOX', 'Sent Mail', 'Deleted Items',
324 # FYI, you could also include every folder with:
326 # folderfilter = lambda foldername: 1
328 # And exclude every folder with:
330 # folderfilter = lambda foldername: 0
332 # You can specify folderincludes to include additional folders.
333 # It should return a Python list. This might be used to include a
334 # folder that was excluded by your folderfilter rule, to include a
335 # folder that your server does not specify with its LIST option, or
336 # to include a folder that is outside your basic reference. Some examples:
338 # To include debian.user and debian.personal:
340 # folderincludes = ['debian.user', 'debian.personal']
342 # To include your INBOX (UW IMAPd users will find this useful if they
343 # specify a reference):
345 # folderincludes = ['INBOX']
347 # To specify a long list:
349 # folderincludes = ['box1', 'box2', 'box3', 'box4',
352 # You can specify foldersort to determine how folders are sorted.
353 # This affects order of synchronization and mbnames. The expression
354 # should return -1, 0, or 1, as the default Python cmp() does. The
355 # two arguments, x and y, are strings representing the names of the folders
356 # to be sorted. The sorting is applied *AFTER* nametrans, if any.
358 # To reverse the sort:
360 # foldersort = lambda x, y: -cmp(x, y)