# Sample configuration file # Copyright (C) 2002 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 # MERCHANTABILITY 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 ################################################## # General definitions ################################################## [general] # This specifies where offlineimap is to store its metadata. # This directory will be created if it does not already exist. metadata = ~/.offlineimap # This variable specifies which accounts are defined. Separate them # with commas. Account names should be alphanumeric only. # You will need to specify one section per account below. You may # not use "general" for an account name. # accounts = Test # You can have offlineimap continue running indefinately, automatically # syncing your mail periodically. If you want that, specify how # frequently to do that (in minutes) here. # autorefresh = 5 # Offlineimap can synchronize more the one account at a time. If you # want to enable this feature, set the below value to something # greater than 1. To force it to synchronize only one account at a # time, leave it at 1. # maxsyncaccounts = 1 # You can specify one or more user interface modules for OfflineIMAP # to use. OfflineIMAP will try the first in the list, and if it # fails, the second, and so forth. # # The pre-defined options are: # Tk.Blinkenlights -- A graphical interface, shows LEDs and a single log # Tk.VerboseUI -- A graphical interface, shows logs per thread # TTY.TTYUI -- a text-based (terminal) interface # Noninteractive.Basic -- Noninteractive interface suitable for cronning # Noninteractive.Quiet -- Noninteractive interface, generates no output # except for errors. # # You can override this with a command-line option -u. ui = Tk.Blinkenlights, Tk.VerboseUI, TTY.TTYUI, Noninteractive.Basic, Noninteractive.Quiet # If you try to synchronize messages to a read-only folder, # OfflineIMAP will generate a warning. If you want to suppress these # warnings, set ignore-readonly to yes. Read-only IMAP folders allow # reading but not modification, so if you try to change messages in # the local copy of such a folder, the IMAP server will prevent # OfflineIMAP from propogating those changes to the IMAP server. ignore-readonly = no ################################################## # Mailbox name recorder ################################################## [mbnames] # offlineimap can record your mailbox names in a format you specify. # You can define the header, each mailbox item, the separator, # and the footer. Here is an example for Mutt. # If enabled is yes, all six setting must be specified, even if they # are just the empty string "". # # The header, peritem, sep, and footer are all Python expressions passed # through eval, so you can (and must) use Python quoting. enabled = no filename = ~/Mutt/muttrc.mailboxes header = "mailboxes " peritem = "+%(accountname)s/%(foldername)s" sep = " " footer = "\n" ################################################## # Blinkenlights configuration ################################################## [ui.Tk.Blinkenlights] # Specifies the default number of lines in the log. loglines = 5 # Specifies how many lines are in the scrollback log buffer. bufferlines = 500 # If true, says that the log should be enabled by default. # Otherwise, you have to click "Show Log" to enable the log. showlog = false ################################################## # Accounts ################################################## # This is an account definition clause. You'll have one of these # for each account listed in general/accounts above. [Test] ########## Basic settings # Specify local repository. Your IMAP folders will be synchronized # to maildirs created under this path. OfflineIMAP will create the # maildirs for you as needed. localfolders = ~/Test # Specify the remote hostname. remotehost = examplehost # Whether or not to use SSL. ssl = yes # Specify the port. If not specified, use a default port. # remoteport = 993 # Specify the remote user name. remoteuser = username # There are three ways to specify the password for the remote IMAP # server: # # 1. No password at all specified in the config file. You will # be prompted for the password when OfflineIMAP starts. # # 2. The remote password stored in this file with the remotepass # option. Example: # # remotepass = mypassword # # 3. The remote password stored as a single line in an external # file, which is referenced by the remotefile option. Example: # # remotepassfile = ~/Password.IMAP.Account1 # # 4. With a preauth tunnel. With this method, you invoke an external # program that is guaranteed *NOT* to ask for a password, but rather # to read from stdin and write to stdout an IMAP procotol stream # that begins life in the PREAUTH state. When you use a tunnel, # you do NOT specify a user or password (if you do, they'll be # ignored.) Instead, you specify a preauthtunnel, as this # example illustrates for Courier IMAP on Debian: # # preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir' # ########## Advanced settings # Some IMAP servers need a "reference" which often refers to the # "folder root". This is most commonly needed with UW IMAP, where # you might need to specify the directory in which your mail is # stored. Most users will not need this. # # reference = Mail # You can specify a folder translator. This must be a eval-able # Python expression that takes a foldername arg and returns the new # value. I suggest a lambda. This example below will remove "INBOX." from # the leading edge of folders (great for Courier IMAP users) # # WARNING: you MUST construct this such that it NEVER returns # the same value for two folders, UNLESS the second values are # filtered out by folderfilter below. Failure to follow this rule # will result in undefined behavior # # nametrans = lambda foldername: re.sub('^INBOX.', '', foldername) # You can specify which folders to sync. You can do it several ways. # I'll provide some examples. The folderfilter operates on the # *UNTRANSLATED* name, if you specify nametrans. It should return # true if the folder is to be included; false otherwise. # # Example 1: synchronizing only INBOX and Sent. # # folderfilter = lambda foldername: foldername in ['INBOX', 'Sent'] # # Example 2: synchronizing everything except Trash. # # folderfilter = lambda foldername: foldername not in ['Trash'] # # Example 3: Using a regular expression to exclude Trash and all folders # containing the characters "Del". # # folderfilter = lambda foldername: not re.search('(^Trash$|Del)', foldername) # # If folderfilter is not specified, ALL remote folders will be # synchronized. # # You can span multiple lines by indenting the others. (Use backslashes # at the end when required by Python syntax) For instance: # # folderfilter = lambda foldername: foldername in # ['INBOX', 'Sent Mail', 'Deleted Items', # 'Received'] # # FYI, you could also include every folder with: # # folderfilter = lambda foldername: 1 # # And exclude every folder with: # # folderfilter = lambda foldername: 0 # You can specify folderincludes to include additional folders. # It should return a Python list. This might be used to include a # folder that was excluded by your folderfilter rule, to include a # folder that your server does not specify with its LIST option, or # to include a folder that is outside your basic reference. Some examples: # # To include debian.user and debian.personal: # # folderincludes = ['debian.user', 'debian.personal'] # # To include your INBOX (UW IMAPd users will find this useful if they # specify a reference): # # folderincludes = ['INBOX'] # # To specify a long list: # # folderincludes = ['box1', 'box2', 'box3', 'box4', # 'box5', 'box6'] # OfflineIMAP can use multiple connections to the server in order # to perform multiple synchronization actions simultaneously. # This may place a higher burden on the server. In most cases, # setting this value to 2 or 3 will speed up the sync, but in some # cases, it may slow things down. The safe answer is 1. You should # probably never set it to a value more than 5. maxconnections = 1 # OfflineIMAP normally closes IMAP server connections between refreshes if # the global option autorefresh is specified. If you wish it to keep the # connection open, set this to true. If not specified, the default is # false. Keeping the connection open means a faster sync start the # next time and may use fewer server resources on connection, but uses # more server memory. This setting has no effect if autorefresh is not set. holdconnectionopen = no # If you want to have "keepalives" sent while waiting between syncs, # specify the amount of time IN SECONDS between keepalives here. Note that # sometimes more than this amount of time might pass, so don't make it # tight. This setting has no effect if autorefresh and holdconnectionopen # are not both set. # keepalive = 60 # You can specify the "path separator character" used for your Maildir # folders. This is inserted in-between the components of the tree. # It defaults to ".". If you want your Maildir folders to be nested, # set it to "/". sep = .