# greater than 1. To force it to synchronize only one account at a
# time, set it to 1.
#
+# Note: if you are using autorefresh and have more than one account,
+# you must set this number to be >= to the number of accounts you have;
+# since any given sync run never "finishes" due to a timer, you will never
+# sync your additional accounts if this is 1.
maxsyncaccounts = 1
# 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.
+# OfflineIMAP from propagating those changes to the IMAP server.
ignore-readonly = no
#
# socktimeout = 60
+# By default, OfflineIMAP will use fsync() to force data out to disk at
+# opportune times to ensure consistency. This can, however, reduce
+# performance. Users where /home is on SSD (Flash) may also wish to reduce
+# write cycles. Therefore, you can disable OfflineIMAP's use of fsync().
+# Doing so will come at the expense of greater risk of message duplication
+# in the event of a system crash or power loss. Default is fsync = true.
+# Set fsync = false ot disable fsync.
+#
+# fsync = true
+
##################################################
# Mailbox name recorder
##################################################
########## Advanced settings
-# You can have offlineimap continue running indefinately, automatically
+# You can have offlineimap continue running indefinitely, automatically
# syncing your mail periodically. If you want that, specify how
# frequently to do that (in minutes) here. You can also specify
# fractional minutes (ie, 3.25).
# autorefresh = 5
+# You can tell offlineimap to do a number of quicker synchronizations
+# between full updates. A quick synchronization only synchronizes
+# if a Maildir folder has changed, or if an IMAP folder has received
+# new messages or had messages deleted. It does not update if the
+# only changes were to IMAP flags. Specify 0 to never do quick updates,
+# -1 to always do quick updates, or a positive integer to do that many
+# quick updates between each full synchronization (requires autorefresh).
+
+# quick = 10
+
+# You can specify a pre and post sync hook to execute a external command.
+# in this case a call to imapfilter to filter mail before the sync process
+# starts and a custom shell script after the sync completes.
+# The pre sync script has to complete before a sync to the account will
+# start.
+
+# presynchook = imapfilter
+# postsynchook = notifysync.sh
+
+# You can also specify parameters to the commands
+# presynchook = imapfilter -c someotherconfig.lua
+
+
[Repository LocalExample]
# This is one of the two repositories that you'll work with given the
localfolders = ~/Test
+# Specify whether to process all mail folders on the server, or only
+# those listed as "subscribed".
+subscribedonly = no
+
# 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,
[Repository RemoteExample]
-# And this is the remote repository. For now, we only support IMAP here.
+# And this is the remote repository. We only support IMAP or Gmail here.
type = IMAP
+# The following can fetch the account credentials via a python expression that
+# is parsed from the pythonfile parameter. For example, a function called
+# "getcredentials" that parses a file "filename" and returns the account
+# details for "hostname".
+# remotehosteval = getcredentials("filename", "hostname", "hostname")
+# remoteusereval = getcredentials("filename", "hostname", "user")
+# remotepasseval = getcredentials("filename", "hostname", "passwd")
+
# Specify the remote hostname.
remotehost = examplehost
# Whether or not to use SSL.
ssl = yes
+# SSL Client certificate (optional)
+# sslclientcert = /path/to/file.crt
+
+# SSL Client key (optional)
+# sslclientkey = /path/to/file.key
+
# Specify the port. If not specified, use a default port.
# remoteport = 993
# Specify the remote user name.
remoteuser = username
-# There are four ways to specify the password for the remote IMAP
+# There are five ways to give 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.
+# 1. No password at all specified in the config file. If a matching entry is
+# found in ~/.netrc (see netrc (5) for information) the password from the
+# matching entry will be used. If there is no ~/.netrc file but there is an
+# /etc/netrc file, the password will instead be taken from there. Otherwise
+# you will be prompted for the password when OfflineIMAP starts.
#
# 2. The remote password stored in this file with the remotepass
# option. Example:
#
# preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
#
+# 5. If you are using Kerberos and have the Python Kerberos package installed,
+# you should not specify a remotepass. If the user has a valid
+# Kerberos TGT, OfflineIMAP will figure out the rest all by itself, and
+# fall back to password authentication if needed.
########## Advanced settings
#
# reference = Mail
+# In between synchronisations, OfflineIMAP can monitor mailboxes for new
+# messages using the IDLE command. If you want to enable this, specify here
+# the folders you wish to monitor. Note that the IMAP protocol requires a
+# separate connection for each folder monitored in this way, so setting
+# this option will force settings for:
+# maxconnections - to be at least the number of folders you give
+# holdconnectionopen - to be true
+# keepalive - to be 29 minutes unless you specify otherwise
+# This option should return a Python list. For example
+#
+# idlefolders = ['INBOX', 'INBOX.Alerts']
+#
+
# 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,
#
# foldersort = lambda x, y: -cmp(x, y)
+
+[Repository GmailExample]
+
+# A repository using Gmail's IMAP interface. Any configuration
+# parameter of `IMAP` type repositories can be used here. Only
+# `remoteuser` (or `remoteusereval` ) is mandatory. Default values
+# for other parameters are OK, and you should not need fiddle with
+# those.
+#
+# The Gmail repository will use hard-coded values for `remotehost`,
+# `remoteport`, `tunnel` and `ssl`. (See
+# http://mail.google.com/support/bin/answer.py?answer=78799&topic=12814)
+# Any attempt to set those parameters will be silently ignored.
+#
+
+type = Gmail
+
+# Specify the Gmail user name. This is the only mandatory parameter.
+remoteuser = username@gmail.com
+
+# Deleting a message from a Gmail folder via the IMAP interface will
+# just remove that folder's label from the message: the message will
+# continue to exist in the '[Gmail]/All Mail' folder. If `realdelete`
+# is set to `True`, then deleted messages will really be deleted
+# during `offlineimap` sync, by moving them to the '[Gmail]/Trash'
+# folder. BEWARE: this will delete a messages from *all folders* it
+# belongs to!
+#
+# See http://mail.google.com/support/bin/answer.py?answer=77657&topic=12815
+realdelete = no
+
+# The trash folder name may be different from [Gmail]/Trash
+# for example on german googlemail, this setting should be
+#
+# trashfolder = [Google Mail]/Papierkorb
+#
+# The same is valid for the spam folder
+#
+# spamfolder = [Google Mail]/Spam
+