| 1 | # Sample configuration file
|
| 2 | # Copyright (C) 2002-2005 John Goerzen
|
| 3 | # <jgoerzen@complete.org>
|
| 4 | #
|
| 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.
|
| 9 | #
|
| 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.
|
| 14 | #
|
| 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
|
| 18 |
|
| 19 | # Looking for a quick start? Take a look at offlineimap.conf.minimal.
|
| 20 |
|
| 21 |
|
| 22 | ##################################################
|
| 23 | # General definitions
|
| 24 | ##################################################
|
| 25 |
|
| 26 | [general]
|
| 27 |
|
| 28 | # This specifies where offlineimap is to store its metadata.
|
| 29 | # This directory will be created if it does not already exist.
|
| 30 |
|
| 31 | metadata = ~/.offlineimap
|
| 32 |
|
| 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.
|
| 37 | #
|
| 38 |
|
| 39 | accounts = Test
|
| 40 |
|
| 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
|
| 44 | # time, set it to 1.
|
| 45 | #
|
| 46 |
|
| 47 | maxsyncaccounts = 1
|
| 48 |
|
| 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.
|
| 52 | #
|
| 53 | # The pre-defined options are:
|
| 54 | # Curses.Blinkenlights -- A text-based (terminal) interface similar to
|
| 55 | # Tk.Blinkenlights
|
| 56 | # TTY.TTYUI -- a text-based (terminal) interface
|
| 57 | # Noninteractive.Basic -- Noninteractive interface suitable for cronning
|
| 58 | # Noninteractive.Quiet -- Noninteractive interface, generates no output
|
| 59 | # except for errors.
|
| 60 | # Machine.MachineUI -- Interactive interface suitable for machine
|
| 61 | # parsing.
|
| 62 | #
|
| 63 | # You can override this with a command-line option -u.
|
| 64 |
|
| 65 | ui = Curses.Blinkenlights, TTY.TTYUI,
|
| 66 | Noninteractive.Basic, Noninteractive.Quiet
|
| 67 |
|
| 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.
|
| 74 |
|
| 75 | ignore-readonly = no
|
| 76 |
|
| 77 | ########## Advanced settings
|
| 78 |
|
| 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.
|
| 84 | #
|
| 85 | # pythonfile = ~/.offlineimap.py
|
| 86 | #
|
| 87 |
|
| 88 | # By default, OfflineIMAP will not exit due to a network error until
|
| 89 | # the operating system returns an error code. Operating systems can sometimes
|
| 90 | # take forever to notice this. Here you can activate a timeout on the
|
| 91 | # socket. This timeout applies to individual socket reads and writes,
|
| 92 | # not to an overall sync operation. You could perfectly well have a 30s
|
| 93 | # timeout here and your sync still take minutes.
|
| 94 | #
|
| 95 | # Values in the 30-120 second range are reasonable.
|
| 96 | #
|
| 97 | # The default is to have no timeout beyond the OS. Times are given in seconds.
|
| 98 | #
|
| 99 | # socktimeout = 60
|
| 100 |
|
| 101 | ##################################################
|
| 102 | # Mailbox name recorder
|
| 103 | ##################################################
|
| 104 |
|
| 105 | [mbnames]
|
| 106 |
|
| 107 | # offlineimap can record your mailbox names in a format you specify.
|
| 108 | # You can define the header, each mailbox item, the separator,
|
| 109 | # and the footer. Here is an example for Mutt.
|
| 110 | # If enabled is yes, all six setting must be specified, even if they
|
| 111 | # are just the empty string "".
|
| 112 | #
|
| 113 | # The header, peritem, sep, and footer are all Python expressions passed
|
| 114 | # through eval, so you can (and must) use Python quoting.
|
| 115 |
|
| 116 | enabled = no
|
| 117 | filename = ~/Mutt/muttrc.mailboxes
|
| 118 | header = "mailboxes "
|
| 119 | peritem = "+%(accountname)s/%(foldername)s"
|
| 120 | sep = " "
|
| 121 | footer = "\n"
|
| 122 |
|
| 123 | # You can also specify a folderfilter. It will apply to the
|
| 124 | # *translated* folder name here, and it takes TWO arguments:
|
| 125 | # accountname and foldername. In all other ways, it will
|
| 126 | # behave identically to the folderfilter for accounts. Please see
|
| 127 | # that section for more information and examples.
|
| 128 | #
|
| 129 | # Note that this filter can be used only to further restrict mbnames
|
| 130 | # to a subset of folders that pass the account's folderfilter.
|
| 131 |
|
| 132 | [ui.Curses.Blinkenlights]
|
| 133 | # Character used to indicate thread status.
|
| 134 |
|
| 135 | statuschar = .
|
| 136 |
|
| 137 | ##################################################
|
| 138 | # Accounts
|
| 139 | ##################################################
|
| 140 |
|
| 141 | # This is an account definition clause. You'll have one of these
|
| 142 | # for each account listed in general/accounts above.
|
| 143 |
|
| 144 | [Account Test]
|
| 145 | ########## Basic settings
|
| 146 |
|
| 147 | # These settings specify the two folders that you will be syncing.
|
| 148 | # You'll need to have a "Repository ..." section for each one.
|
| 149 |
|
| 150 | localrepository = LocalExample
|
| 151 | remoterepository = RemoteExample
|
| 152 |
|
| 153 | ########## Advanced settings
|
| 154 |
|
| 155 | # You can have offlineimap continue running indefinately, automatically
|
| 156 | # syncing your mail periodically. If you want that, specify how
|
| 157 | # frequently to do that (in minutes) here. You can also specify
|
| 158 | # fractional minutes (ie, 3.25).
|
| 159 |
|
| 160 | # autorefresh = 5
|
| 161 |
|
| 162 | # You can tell offlineimap to do a number of quicker synchronizations
|
| 163 | # between full updates. A quick synchronization only synchronizes
|
| 164 | # if a Maildir folder has changed, or if an IMAP folder has received
|
| 165 | # new messages or had messages deleted. It does not update if the
|
| 166 | # only changes were to IMAP flags. Specify 0 to never do quick updates,
|
| 167 | # -1 to always do quick updates, or a positive integer to do that many
|
| 168 | # quick updates between each full synchronization (requires autorefresh).
|
| 169 |
|
| 170 | # quick = 10
|
| 171 |
|
| 172 | [Repository LocalExample]
|
| 173 |
|
| 174 | # This is one of the two repositories that you'll work with given the
|
| 175 | # above example. Each repository requires a "type" declaration.
|
| 176 | #
|
| 177 | # The types supported are Maildir and IMAP.
|
| 178 | #
|
| 179 |
|
| 180 | type = Maildir
|
| 181 |
|
| 182 | # Specify local repository. Your IMAP folders will be synchronized
|
| 183 | # to maildirs created under this path. OfflineIMAP will create the
|
| 184 | # maildirs for you as needed.
|
| 185 |
|
| 186 | localfolders = ~/Test
|
| 187 |
|
| 188 | # You can specify the "path separator character" used for your Maildir
|
| 189 | # folders. This is inserted in-between the components of the tree.
|
| 190 | # It defaults to ".". If you want your Maildir folders to be nested,
|
| 191 | # set it to "/".
|
| 192 |
|
| 193 | sep = .
|
| 194 |
|
| 195 | # Some users on *nix platforms may not want the atime (last access
|
| 196 | # time) to be modified by OfflineIMAP. In these cases, they would
|
| 197 | # want to set restoreatime to yes. OfflineIMAP will make an effort
|
| 198 | # to not touch the atime if you do that.
|
| 199 | #
|
| 200 | # In most cases, the default of no should be sufficient.
|
| 201 |
|
| 202 | restoreatime = no
|
| 203 |
|
| 204 | [Repository RemoteExample]
|
| 205 |
|
| 206 | # And this is the remote repository. We only support IMAP or Gmail here.
|
| 207 |
|
| 208 | type = IMAP
|
| 209 |
|
| 210 | # The following can fetch the account credentials via a python expression that
|
| 211 | # is parsed from the pythonfile parameter. For example, a function called
|
| 212 | # "getcredentials" that parses a file "filename" and returns the account
|
| 213 | # details for "hostname".
|
| 214 | # remotehosteval = getcredentials("filename", "hostname", "hostname")
|
| 215 | # remoteusereval = getcredentials("filename", "hostname", "user")
|
| 216 | # remotepasseval = getcredentials("filename", "hostname", "passwd")
|
| 217 |
|
| 218 | # Specify the remote hostname.
|
| 219 | remotehost = examplehost
|
| 220 |
|
| 221 | # Whether or not to use SSL.
|
| 222 | ssl = yes
|
| 223 |
|
| 224 | # SSL Client certificate (optional)
|
| 225 | # sslclientcert = /path/to/file.crt
|
| 226 |
|
| 227 | # SSL Client key (optional)
|
| 228 | # sslclientkey = /path/to/file.key
|
| 229 |
|
| 230 | # Specify the port. If not specified, use a default port.
|
| 231 | # remoteport = 993
|
| 232 |
|
| 233 | # Specify the remote user name.
|
| 234 | remoteuser = username
|
| 235 |
|
| 236 | # There are five ways to give the password for the remote IMAP
|
| 237 | # server:
|
| 238 | #
|
| 239 | # 1. No password at all specified in the config file. If a matching
|
| 240 | # entry is found in ~/.netrc (see netrc (5) for information) the
|
| 241 | # password from the matching entry will be used. Otherwise you
|
| 242 | # will be prompted for the password when OfflineIMAP starts.
|
| 243 | #
|
| 244 | # 2. The remote password stored in this file with the remotepass
|
| 245 | # option. Example:
|
| 246 | #
|
| 247 | # remotepass = mypassword
|
| 248 | #
|
| 249 | # 3. The remote password stored as a single line in an external
|
| 250 | # file, which is referenced by the remotefile option. Example:
|
| 251 | #
|
| 252 | # remotepassfile = ~/Password.IMAP.Account1
|
| 253 | #
|
| 254 | # 4. With a preauth tunnel. With this method, you invoke an external
|
| 255 | # program that is guaranteed *NOT* to ask for a password, but rather
|
| 256 | # to read from stdin and write to stdout an IMAP procotol stream
|
| 257 | # that begins life in the PREAUTH state. When you use a tunnel,
|
| 258 | # you do NOT specify a user or password (if you do, they'll be
|
| 259 | # ignored.) Instead, you specify a preauthtunnel, as this
|
| 260 | # example illustrates for Courier IMAP on Debian:
|
| 261 | #
|
| 262 | # preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
|
| 263 | #
|
| 264 | # 5. If you are using Kerberos and have the Python Kerberos package installed,
|
| 265 | # you should not specify a remotepass. If the user has a valid
|
| 266 | # Kerberos TGT, OfflineIMAP will figure out the rest all by itself, and
|
| 267 | # fall back to password authentication if needed.
|
| 268 |
|
| 269 | ########## Advanced settings
|
| 270 |
|
| 271 | # Some IMAP servers need a "reference" which often refers to the
|
| 272 | # "folder root". This is most commonly needed with UW IMAP, where
|
| 273 | # you might need to specify the directory in which your mail is
|
| 274 | # stored. Most users will not need this.
|
| 275 | #
|
| 276 | # reference = Mail
|
| 277 |
|
| 278 | # OfflineIMAP can use multiple connections to the server in order
|
| 279 | # to perform multiple synchronization actions simultaneously.
|
| 280 | # This may place a higher burden on the server. In most cases,
|
| 281 | # setting this value to 2 or 3 will speed up the sync, but in some
|
| 282 | # cases, it may slow things down. The safe answer is 1. You should
|
| 283 | # probably never set it to a value more than 5.
|
| 284 |
|
| 285 | maxconnections = 1
|
| 286 |
|
| 287 | # OfflineIMAP normally closes IMAP server connections between refreshes if
|
| 288 | # the global option autorefresh is specified. If you wish it to keep the
|
| 289 | # connection open, set this to true. If not specified, the default is
|
| 290 | # false. Keeping the connection open means a faster sync start the
|
| 291 | # next time and may use fewer server resources on connection, but uses
|
| 292 | # more server memory. This setting has no effect if autorefresh is not set.
|
| 293 |
|
| 294 | holdconnectionopen = no
|
| 295 |
|
| 296 | # If you want to have "keepalives" sent while waiting between syncs,
|
| 297 | # specify the amount of time IN SECONDS between keepalives here. Note that
|
| 298 | # sometimes more than this amount of time might pass, so don't make it
|
| 299 | # tight. This setting has no effect if autorefresh and holdconnectionopen
|
| 300 | # are not both set.
|
| 301 |
|
| 302 | # keepalive = 60
|
| 303 |
|
| 304 | # Normally, OfflineIMAP will expunge deleted messages from the server.
|
| 305 | # You can disable that if you wish. This means that OfflineIMAP will
|
| 306 | # mark them deleted on the server, but not actually delete them.
|
| 307 | # You must use some other IMAP client to delete them if you use this
|
| 308 | # setting; otherwise, the messgaes will just pile up there forever.
|
| 309 | # Therefore, this setting is definately NOT recommended.
|
| 310 | #
|
| 311 | # expunge = no
|
| 312 | # You can specify a folder translator. This must be a eval-able
|
| 313 | # Python expression that takes a foldername arg and returns the new
|
| 314 | # value. I suggest a lambda. This example below will remove "INBOX." from
|
| 315 | # the leading edge of folders (great for Courier IMAP users)
|
| 316 | #
|
| 317 | # WARNING: you MUST construct this such that it NEVER returns
|
| 318 | # the same value for two folders, UNLESS the second values are
|
| 319 | # filtered out by folderfilter below. Failure to follow this rule
|
| 320 | # will result in undefined behavior
|
| 321 | #
|
| 322 | # nametrans = lambda foldername: re.sub('^INBOX\.', '', foldername)
|
| 323 |
|
| 324 | # Using Courier remotely and want to duplicate its mailbox naming
|
| 325 | # locally? Try this:
|
| 326 | #
|
| 327 | # nametrans = lambda foldername: re.sub('^INBOX\.*', '.', foldername)
|
| 328 |
|
| 329 | # You can specify which folders to sync. You can do it several ways.
|
| 330 | # I'll provide some examples. The folderfilter operates on the
|
| 331 | # *UNTRANSLATED* name, if you specify nametrans. It should return
|
| 332 | # true if the folder is to be included; false otherwise.
|
| 333 | #
|
| 334 | # Example 1: synchronizing only INBOX and Sent.
|
| 335 | #
|
| 336 | # folderfilter = lambda foldername: foldername in ['INBOX', 'Sent']
|
| 337 | #
|
| 338 | # Example 2: synchronizing everything except Trash.
|
| 339 | #
|
| 340 | # folderfilter = lambda foldername: foldername not in ['Trash']
|
| 341 | #
|
| 342 | # Example 3: Using a regular expression to exclude Trash and all folders
|
| 343 | # containing the characters "Del".
|
| 344 | #
|
| 345 | # folderfilter = lambda foldername: not re.search('(^Trash$|Del)', foldername)
|
| 346 | #
|
| 347 | # If folderfilter is not specified, ALL remote folders will be
|
| 348 | # synchronized.
|
| 349 | #
|
| 350 | # You can span multiple lines by indenting the others. (Use backslashes
|
| 351 | # at the end when required by Python syntax) For instance:
|
| 352 | #
|
| 353 | # folderfilter = lambda foldername: foldername in
|
| 354 | # ['INBOX', 'Sent Mail', 'Deleted Items',
|
| 355 | # 'Received']
|
| 356 | #
|
| 357 | # FYI, you could also include every folder with:
|
| 358 | #
|
| 359 | # folderfilter = lambda foldername: 1
|
| 360 | #
|
| 361 | # And exclude every folder with:
|
| 362 | #
|
| 363 | # folderfilter = lambda foldername: 0
|
| 364 |
|
| 365 | # You can specify folderincludes to include additional folders.
|
| 366 | # It should return a Python list. This might be used to include a
|
| 367 | # folder that was excluded by your folderfilter rule, to include a
|
| 368 | # folder that your server does not specify with its LIST option, or
|
| 369 | # to include a folder that is outside your basic reference. Some examples:
|
| 370 | #
|
| 371 | # To include debian.user and debian.personal:
|
| 372 | #
|
| 373 | # folderincludes = ['debian.user', 'debian.personal']
|
| 374 | #
|
| 375 | # To include your INBOX (UW IMAPd users will find this useful if they
|
| 376 | # specify a reference):
|
| 377 | #
|
| 378 | # folderincludes = ['INBOX']
|
| 379 | #
|
| 380 | # To specify a long list:
|
| 381 | #
|
| 382 | # folderincludes = ['box1', 'box2', 'box3', 'box4',
|
| 383 | # 'box5', 'box6']
|
| 384 |
|
| 385 | # You can specify foldersort to determine how folders are sorted.
|
| 386 | # This affects order of synchronization and mbnames. The expression
|
| 387 | # should return -1, 0, or 1, as the default Python cmp() does. The
|
| 388 | # two arguments, x and y, are strings representing the names of the folders
|
| 389 | # to be sorted. The sorting is applied *AFTER* nametrans, if any.
|
| 390 | #
|
| 391 | # To reverse the sort:
|
| 392 | #
|
| 393 | # foldersort = lambda x, y: -cmp(x, y)
|
| 394 |
|
| 395 |
|
| 396 | [Repository GmailExample]
|
| 397 |
|
| 398 | # A repository using Gmail's IMAP interface. Any configuration
|
| 399 | # parameter of `IMAP` type repositories can be used here. Only
|
| 400 | # `remoteuser` (or `remoteusereval` ) is mandatory. Default values
|
| 401 | # for other parameters are OK, and you should not need fiddle with
|
| 402 | # those.
|
| 403 | #
|
| 404 | # The Gmail repository will use hard-coded values for `remotehost`,
|
| 405 | # `remoteport`, `tunnel` and `ssl`. (See
|
| 406 | # http://mail.google.com/support/bin/answer.py?answer=78799&topic=12814)
|
| 407 | # Any attempt to set those parameters will be silently ignored.
|
| 408 | #
|
| 409 |
|
| 410 | type = Gmail
|
| 411 |
|
| 412 | # Specify the Gmail user name. This is the only mandatory parameter.
|
| 413 | remoteuser = username@gmail.com
|
| 414 |
|
| 415 | # Deleting a message from a Gmail folder via the IMAP interface will
|
| 416 | # just remove that folder's label from the message: the message will
|
| 417 | # continue to exist in the '[Gmail]/All Mail' folder. If `realdelete`
|
| 418 | # is set to `True`, then deleted messages will really be deleted
|
| 419 | # during `offlineimap` sync, by moving them to the '[Gmail]/Trash'
|
| 420 | # folder. BEWARE: this will deleted a messages from *all folders* it
|
| 421 | # belongs to!
|
| 422 | #
|
| 423 | # See http://mail.google.com/support/bin/answer.py?answer=77657&topic=12815
|
| 424 | realdelete = no
|