123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437 |
- # Offlineimap sample configuration file
- # This file documents *all* possible options and can be quite scary.
- # Looking for a quick start? Take a look at offlineimap.conf.minimal.
- # More details can be found at http://www.offlineimap.org .
- ##################################################
- # Overview
- ##################################################
- # The default configuration file is "~/.offlineimaprc".
- #
- # Offlineimap ships with a file named "offlineimap.conf" that you should copy to
- # that location and then edit.
- #
- # Offlineimap also ships a file named "offlineimap.conf.minimal" that you can
- # also try. It's useful if you want to get started with the most basic feature
- # set, and you can read about other features later with "offlineimap.conf".
- #
- # If you want to be XDG-compatible, you can put your configuration file into
- # "$XDG_CONFIG_HOME/offlineimap/config".
- ##################################################
- # General definitions
- ##################################################
- # NOTE 1: Settings generally support python interpolation. This means
- # values can contain python format strings which refer to other values
- # in the same section, or values in a special DEFAULT section. This
- # allows you for example to use common settings for multiple accounts:
- #
- # [Repository Gmail1]
- # trashfolder: %(gmailtrashfolder)s
- #
- # [Repository Gmail2]
- # trashfolder: %(gmailtrashfolder)s
- #
- # [DEFAULT]
- # gmailtrashfolder = [Gmail]/Papierkorb
- #
- # would set the trashfolder setting for your German Gmail accounts.
- # NOTE 2: Above feature implies that any '%' needs to be encoded as '%%'
- # NOTE 3: Any variable that is subject to the environment variables
- # ($NAME) and tilde (~username/~) expansions will receive tilde
- # expansion first and only after the environment variable will be
- # expanded in the resulting string. This behaviour is intentional
- # as it coincides with typical shell expansion strategy.
- # NOTE 4: multiple same-named sections.
- # The library used to parse the configuration file has known issue when multiple
- # sections have the same name. In such case, only the last section is considered.
- # It is strongly discouraged to have multiple sections with the same name.
- # See https://github.com/OfflineIMAP/offlineimap/issues/143 for more details.
- [general]
- # This specifies where Offlineimap is to store its metadata.
- # This directory will be created if it does not already exist.
- #
- # Tilde and environment variable expansions will be performed.
- #
- #metadata = ~/.offlineimap
- # This option stands in the [general] section.
- #
- # 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.
- #
- # Always use ASCII characters only.
- #
- accounts = Test
- # This option stands in the [general] section.
- #
- # Offlineimap can synchronize more than one account at a time. There are two
- # ways to sync accounts concurrently:
- #
- # 1. By running one offlineimap instance for each account (with the -a CLI
- # option). This is the recommended way. In this case, keep the following option
- # to 1.
- #
- # 2. By allowing offlineimap to sync more than one account for an instance (not
- # recommended). In this case, set the maxsyncaccounts option to a value greater
- # than 1.
- #
- #maxsyncaccounts = 1
- # This option stands in the [general] section.
- #
- # You can specify one or more user interface. Offlineimap will try the first in
- # the list, and if it fails, the second, and so forth.
- #
- # The pre-defined options are:
- # Blinkenlights -- A fancy (terminal) interface
- # TTYUI -- a text-based (terminal) interface
- # Basic -- Noninteractive interface suitable for cron'ing
- # Quiet -- Noninteractive interface, generates no output
- # except for errors.
- # MachineUI -- Interactive interface suitable for machine
- # parsing.
- #
- # See also offlineimapui(7)
- #
- # You can override this with a command-line option -u.
- #
- #ui = basic
- # This option stands in the [general] section.
- #
- # If you try to synchronize messages to a folder which the IMAP server
- # considers read-only, 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 propagating those changes to the IMAP
- # server. Note that ignore-readonly is UNRELATED to the "readonly"
- # setting which prevents a repository from being modified at all.
- #
- #ignore-readonly = no
- ########## Advanced settings
- # This option stands in the [general] section.
- #
- # You can give a Python source filename here and all config file
- # python snippets will be evaluated in the context of that file.
- # This allows you to e.g. define helper functions in the Python
- # source file and call them from this config file. You can find
- # an example of this in the manual.
- #
- # Tilde and environment variable expansions will be performed.
- #
- #pythonfile = ~/.offlineimap.py
- # This option is in the [general] section.
- #
- # By default, Offlineimap will not exit due to a network error until the
- # operating system returns an error code. Operating systems can sometimes take
- # forever to notice this. Here you can activate a timeout on the socket. This
- # timeout applies to individual socket reads and writes, not to an overall sync
- # operation. You could perfectly well have a 30s timeout here and your sync
- # still take minutes.
- #
- # Values in the 30-120 second range are reasonable.
- #
- # The default is to have no timeout beyond the OS. Times are given in seconds.
- #
- #socktimeout = 60
- # This option stands in the [general] section.
- #
- # 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 true. Set it to false to disable fsync.
- #
- # SQLite honors this option since v7.0.8+. However, those SQLite improvements
- # are still EXPERIMENTAL.
- #
- #fsync = true
- ##################################################
- # 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 settings except incremental 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.
- #
- # The incremental setting controls whether the file is written after each
- # account completes or once all synced accounts are complete. This is useful if
- # an account is sightly slower than the other. It allows keeping the previous
- # file rather than having it partially written.
- # This works best with "no" if in one-shot mode started by cron or systemd
- # timers. Default: no.
- #
- # The following hash key are available to the expansion for 'peritem':
- # - accountname: the name of the corresponding account;
- # - foldername: the name of the folder;
- # - localfolders: path to the local directory hosting all Maildir
- # folders for the account.
- #
- # Tilde and environment variable expansions will be performed
- # for "filename" knob.
- #
- #enabled = no
- #filename = ~/Mutt/muttrc.mailboxes
- #header = "mailboxes "
- #peritem = "+%(accountname)s/%(foldername)s"
- #sep = " "
- #footer = "\n"
- #incremental = no
- # This option stands in the [mbnames] section.
- #
- # You can also specify a folderfilter. It will apply to the *translated* folder
- # name here, and it takes TWO arguments: accountname and foldername. In all
- # other ways, it will behave identically to the folderfilter for accounts.
- # Please see the folderfilter option for more information and examples.
- #
- # This filter can be used only to further restrict mbnames to a subset of
- # folders that pass the account's folderfilter.
- #
- # E.g.: with mbnames_folderfilter defined like this in the python file:
- #
- # def mbnames_folderfilter(accountname, foldername):
- # allowed = {'myaccount': ['folderA', 'folderB']}
- # if accountname in allowed:
- # return foldername in allowed[accountname]
- # return False
- #
- # For correct folderfilter with Microsoft servers, please see
- # http://www.offlineimap.org/doc/FAQ.html#exchange-and-office365
- #
- #folderfilter = mbnames_folderfilter
- # This option stands in the [mbnames] section.
- #
- # You can customize the order in which mailbox names are listed in the generated
- # file by specifying a sort_keyfunc, which takes a single dict argument
- # containing keys 'accountname' and 'foldername'. This function will be called
- # once for each mailbox, and should return a suitable sort key that defines this
- # mailbox' position in the custom ordering.
- #
- # This is useful with e.g. Mutt-sidebar, which uses the mailbox order from the
- # generated file when listing mailboxes in the sidebar.
- #
- # Default setting is:
- #sort_keyfunc = lambda d: (d['accountname'], d['foldername'])
- ##################################################
- # Accounts
- ##################################################
- # This is an account definition clause. You'll have one of these for each
- # account listed in the "accounts" option in [general] section (above).
- [Account Test]
- # These settings specify the two folders that you will be syncing.
- # You'll need to have a "Repository ..." section for each one.
- localrepository = LocalExample
- remoterepository = RemoteExample
- ########## Advanced settings
- # This option stands in the [Account Test] section.
- #
- # 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. Fractional minutes (ie, 3.25) is allowed.
- #
- # If you want more than one account concurrently synced in one instance of
- # offlineimap (not recommended), don't forget to increase the maxsyncaccounts
- # option accordingly.
- #
- # NOTE: If you run systemd it's recommended to not enable this option and use
- # the systemd timer instead (see the ./contrib/systemd/ directory in the
- # repository).
- #
- #autorefresh = 5
- # This option stands in the [Account Test] section.
- #
- # OfflineImap can replace a number of full updates by quick synchronizations.
- # This option is ignored if maxage or startdate are used.
- #
- # It only synchronizes a folder if
- #
- # 1) a Maildir folder has changed
- #
- # or
- #
- # 2) if an IMAP folder has received new messages or had messages deleted, ie
- # it does not update if only IMAP flags have changed.
- #
- # Full updates need to fetch ALL flags for all messages, so this makes quite a
- # performance difference (especially if syncing between two IMAP servers).
- #
- # Specify 0 for never, -1 for always (works even in non-autorefresh mode)
- #
- # A positive integer <n> to do <n> quick updates before doing another full
- # synchronization (requires autorefresh). Updates are always performed after
- # <autorefresh> minutes, be they quick or full.
- #
- #quick = 10
- # This option stands in the [Account Test] section.
- #
- # 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.
- #
- # The environment variable OFFLINEIMAPSYNCMODE will be set to either full,
- # quick or idle to communicate the syncmode to the external command.
- #
- #presynchook = imapfilter -c someotherconfig.lua
- #postsynchook = notifysync.sh
- # This option stands in the [Account Test] section.
- #
- # If you have a limited amount of bandwidth available you can exclude larger
- # messages (e.g. those with large attachments etc). If you do this it will
- # appear to Offlineimap that these messages do not exist at all. They will not
- # be copied, have flags changed etc. For this to work on an IMAP server the
- # server must have server side search enabled. This works with Gmail and most
- # imap servers (e.g. cyrus etc)
- #
- # The maximum size should be specified in bytes - e.g. 2000000 for approx 2MB
- #
- #maxsize = 2000000
- # This option stands in the [Account Test] section.
- #
- # maxage enables you to sync only recent messages. There are two ways to specify
- # what "recent" means: if maxage is given as an integer, then only messages from
- # the last maxage days will be synced. If maxage is given as a date, then only
- # messages later than that date will be synced.
- #
- # Messages older than the cutoff will not be synced, their flags will not be
- # changed, they will not be deleted, etc. For Offlineimap it will be like these
- # messages do not exist. This will perform an IMAP search in the case of IMAP or
- # Gmail and therefore requires that the server support server side searching.
- #
- # Known edge cases are described in offlineimap(1).
- #
- # maxage is allowed only when the local folder is of type Maildir. It can't be
- # used with startdate.
- #
- # The maxage option expects an integer (for the number of days) or a date of the
- # form yyyy-mm-dd.
- #
- #maxage = 3
- #maxage = 2015-04-01
- # This option stands in the [Account Test] section.
- #
- # Maildir file format uses colon (:) separator between uniq name and info.
- # Unfortunately colon is not allowed character in windows file name. If you
- # enable maildir-windows-compatible option, Offlineimap will be able to store
- # messages on windows drive, but you will probably loose compatibility with
- # other programs working with the maildir.
- #
- #maildir-windows-compatible = no
- # This option stands in the [Account Test] section.
- #
- # Specifies if we want to sync GMail labels with the local repository.
- # Effective only for GMail IMAP repositories.
- #
- # Non-ASCII characters in labels are bad handled or won't work at all.
- #
- #synclabels = no
- # This option stands in the [Account Test] section.
- #
- # Name of the header to use for label storage. Format for the header
- # value differs for different headers, because there are some de-facto
- # "standards" set by popular clients:
- #
- # - X-Label or Keywords keep values separated with spaces; for these
- # you, obviously, should not have label values that contain spaces;
- #
- # - X-Keywords use comma (',') as the separator.
- #
- # To be consistent with the usual To-like headers, for the rest of header
- # types we use comma as the separator.
- #
- # Use ASCII characters only.
- #
- #labelsheader = X-Keywords
- # This option stands in the [Account Test] section.
- #
- # Set of labels to be ignored. Comma-separated list. GMail-specific
- # labels all start with backslash ('\').
- #
- # Use ASCII characters only.
- #
- #ignorelabels = \Inbox, \Starred, \Sent, \Draft, \Spam, \Trash, \Important
- # This option stands in the [Account Test] section.
- #
- # Offlineimap can strip off some headers when your messages are propagated
- # back to the IMAP server. This option carries the comma-separated list
- # of headers to trim off. Header name matching is case-sensitive.
- #
- # This knob is respected only by IMAP-based accounts. Value of labelsheader
- # for GMail-based accounts is automatically added to this list, you don't
- # need to specify it explicitly.
- #
- # Use ASCII characters only.
- #
- #filterheaders = X-Some-Weird-Header
- # This option stands in the [Account Test] section.
- #
- # Use proxy connection for this account. Useful to bypass the GFW in China.
- # To specify a proxy connection, join proxy type, host and port with colons.
- # Available proxy types are SOCKS5, SOCKS4, HTTP.
- # You also need to install PySocks through pip.
- #
- # Currently, this feature leaks DNS support.
- #
- #proxy = SOCKS5:IP:9999
- # EXPERIMENTAL: This option stands in the [Account Test] section.
- #
- # IMAP defines an encoding for non-ASCII ("international") characters, and most
- # IMAP servers store folder names in this encoding. Note that the IMAP 4rev1
- # specification (RFC 3501) allows both UTF-8 and modified UTF-7 folder names
- # so it is *possible* that an IMAP server already uses UTF-8 encoded folder
- # names. But usually Folders that are shown as, say, "Gäste" will be represented
- # as "G&AOQ-ste", and by default will be synchronized like this by offlineIMAP.
- #
- # This option converts IMAP folder names from IMAP4-UTF-7 to UTF-8 and back
- # in order to have nicely readable UTF-8 folder names in the local copy.
- #
- # WARNING: with this option enabled:
- # - compatibility with any other version is NOT GUARANTEED (including newer);
- # - existing set-ups will probably break.
- # - no support is provided.
- #
- # IMPORTANT: READ THIS SECTION if you intend to enable this feature for an
- # EXISTING ACCOUNT that has already been synchronized!
- # Enabling UTF-8 encoded folder names will change many things on the local
- # repository of an account, so you really have to create a new local repository
- # and review the configuration. The least that would happen otherwise is a
- # duplication of all folders containing non-ASCII characters.
- # But also the following functionality may change, so the configuration in the
- # remote repository configuration has to be reviewed/updated:
- # - decodefoldernames
- # This option is replaced by utf8foldernames and must be removed
- # If both utf8foldernames and decodefoldernames are enabled the synchronization
- # for the given account is aborted before doing any changes.
- # - nametrans
- # With utf8foldernames enabled any nametrans function will operate on the
- # UTF-8 encoded folder names, while even with decodefoldernames enabled they
- # operate on the original IMAP4-UTF-7 encoded names.
- # - folderfilter
- # Folder filters still work on the untranslated names before applying a
- # nametrans function, but still this operates on the UTF-8 encoded names.
- # - folderincludes
- # With utf8foldernames enabled this function expects UTF-8 encoded folder
- # names.
- # - foldersort
- # With utf8foldernames enabled the folder names passed to the sorting routine
- # will be the UTF encoded names.
- # - idlefolders
- # With utf8foldernames enabled folders passed to this function are expected to
- # be UTF-8 encoded.
- #
- #utf8foldernames = no
- # TESTING: This option stands in the [Account Test] section.
- #
- # Use authproxy connection for this account. Useful to bypass the GFW in China.
- # Set this if you wish to use a proxy for authentication but not for IMAP.
- # If not explicitly set, this option defaults to use the proxy socket
- # (so as to be compatible with prior config files).
- # If that is specifically NOT desired, use authproxy = ''
- #
- # To specify a proxy connection, join proxy type, host and port with colons.
- # Available proxy types are SOCKS5, SOCKS4, HTTP.
- # You also need to install PySocks through pip or your distro package manager.
- #
- #authproxy = SOCKS5:IP:9999
- [Repository LocalExample]
- # Each repository requires a "type" declaration. The types supported for
- # local repositories are Maildir, GmailMaildir and IMAP.
- #
- type = Maildir
- # This option stands in the [Repository LocalExample] section.
- #
- # 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
- # This option stands in the [Repository LocalExample] section.
- #
- # You can specify the "folder separator character" used for your Maildir
- # folders. It is inserted in-between the components of the tree. If you
- # want your folders to be nested directories, set it to "/". 'sep' is
- # ignored for IMAP repositories, as it is queried automatically.
- # Otherwise, default value is ".".
- #
- # Don't use quotes.
- #
- #sep = .
- # This option stands in the [Repository LocalExample] section.
- #
- # startdate syncs mails starting from a given date. It applies the date
- # restriction to LocalExample only. The remote repository MUST be empty
- # at the first sync where this option is used.
- #
- # Unlike maxage, this is supported for IMAP-IMAP sync.
- #
- # startdate can't be used with maxage.
- #
- # The startdate option expects a date in the format yyyy-mm-dd.
- #
- #startdate = 2015-04-01
- # This option stands in the [Repository LocalExample] section.
- #
- # Propagate deletions from local to remote. Messages deleted in this repository
- # won't get deleted on remote if set to "no". Default is yes.
- #
- # See sync_deletes in the RemoteExample section, too.
- #
- #sync_deletes = yes
- # This option stands in the [Repository LocalExample] section.
- #
- # Some users may not want the atime (last access time) of folders to be
- # modified by Offlineimap. If 'restoreatime' is set to yes, Offlineimap
- # will restore the atime of the "new" and "cur" folders in each maildir
- # folder to their original value after each sync.
- #
- # In nearly all cases, the default should be fine.
- #
- #restoreatime = no
- # This option stands in the [Repository LocalExample] section.
- #
- # Set modification time of messages basing on the message's "Date" header. This
- # option makes sense for the Maildir type, only.
- #
- # This is useful if you are doing some processing/finding on your Maildir (for
- # example, finding messages older than 3 months), without parsing each
- # file/message content.
- #
- # This option is not compatible with -q (quick mode) CLI option for GmailMaildir
- # types.
- #
- # Default: no.
- #
- #utime_from_header = no
- # This option stands in the [Repository LocalExample] section.
- #
- # This option is similar to "utime_from_header" and could be used as a
- # complementary feature to keep track of a message date. This option only
- # makes sense for the Maildir type.
- #
- # By default each message is stored in a file which prefix is the fetch
- # timestamp and an order rank such as "1446590057_0". In a multithreading
- # environment message are fetched in a random order, then you can't trust
- # the filename to sort your boxes.
- #
- # If set to "yes" the filename prefix is built from the message "Date" header
- # (which should be present) or the "Received-date" if "Date" is not
- # found. If neither "Received-date" nor "Date" is found, the current system
- # date is used. Now you can quickly sort your messages using their filenames.
- #
- # Used in combination with "utime_from_header" all your message would be in
- # order with the correct mtime attribute.
- #
- #filename_use_mail_timestamp = no
- # This option stands in the [Repository LocalExample] section.
- #
- # Map IMAP [user-defined] keywords to lowercase letters, similar to Dovecot's
- # format described in http://wiki2.dovecot.org/MailboxFormat/Maildir . This
- # option makes sense for the Maildir type, only.
- #
- # Configuration example:
- # customflag_x = some_keyword
- #
- # With the configuration example above enabled, all IMAP messages that have
- # 'some_keyword' in their FLAGS field will have an 'x' in the flags part of the
- # maildir filename:
- # 1234567890.M20046P2137.mailserver,S=4542,W=4642:2,Sx
- #
- # Valid fields are customflag_[a-z], valid values are whatever the IMAP server
- # allows.
- #
- # Comparison in Offlineimap is case-sensitive.
- #
- #customflag_a = some_keyword
- #customflag_b = $OtherKeyword
- #customflag_c = NonJunk
- #customflag_d = ToDo
- [Repository GmailLocalExample]
- # This type of repository enables syncing of Gmail. All Maildir
- # configuration settings are also valid here but the utime_from_header.
- #
- # This is a separate Repository type from Maildir because it involves
- # some extra overhead which sometimes may be significant. We look for
- # modified tags in local messages by looking only to the files
- # modified since last run. This is usually rather fast, but the first
- # time Offlineimap runs with synclabels enabled, it will have to check
- # the contents of all individual messages for labels and this may take
- # a while.
- #
- type = GmailMaildir
- [Repository RemoteExample]
- # The remote repository. We only support IMAP or Gmail here.
- #
- type = IMAP
- # This option stands in the [Repository RemoteExample] section.
- #
- # Configure which address family to use for the connection. If not specified,
- # AF_UNSPEC is used as a fallback (default).
- #
- # AF_INET6:
- #ipv6 = True
- #
- # AF_INET:
- #ipv6 = False
- # These options stands in the [Repository RemoteExample] section.
- #
- # 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")
- #
- # The returned value must be int type.
- #remoteporteval = getcredentials("filename", "hostname", "port")
- #
- # The returned value must be unicode type.
- #remoteusereval = getcredentials("filename", "hostname", "user")
- #
- # The returned value must be unicode type.
- #remotepasseval = getcredentials("filename", "hostname", "passwd")
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify the remote hostname.
- #
- remotehost = examplehost
- # This option stands in the [Repository RemoteExample] section.
- #
- # Whether or not to use STARTTLS. STARTTLS allows to upgrade a plain connection
- # to TLS or SSL after negotiation with the server. While a server might pretend
- # to support STARTTLS, the communication might not be properly established or
- # the secure tunnel might be broken in some way. In this case you might want to
- # disable STARTTLS. Unless you hit issues with STARTTLS, you are strongly
- # encouraged to keep STARTTLS enabled.
- #
- # STARTTLS can be used even if the 'ssl' option is disabled. If you want to
- # _force_ STARTTLS, you might need to disable 'ssl'.
- #
- # Default is yes.
- #
- #starttls = yes
- # This option stands in the [Repository RemoteExample] section.
- #
- # Whether or not to use SSL.
- #
- # Note: be care to configure the 'remotehost' line with the domain name defined
- # in the certificate. E.g., if you trust your provider and want to use the
- # certificate it provides on a shared server. Otherwise, Offlineimap will stop
- # and say that the domain is not named in the certificate.
- #
- # Default is yes.
- #
- #ssl = yes
- # This option stands in the [Repository RemoteExample] section.
- #
- # SSL Client certificate (optional).
- #
- # Tilde and environment variable expansions will be performed.
- #
- #sslclientcert = /path/to/file.crt
- # This option stands in the [Repository RemoteExample] section.
- #
- # SSL Client key (optional).
- #
- # Tilde and environment variable expansions will be performed.
- #
- #sslclientkey = /path/to/file.key
- # This option stands in the [Repository RemoteExample] section.
- #
- # SSL CA Cert(s) to verify the server cert against (optional).
- # No SSL verification is done without this option. If it is
- # specified, the CA Cert(s) need to verify the Server cert AND
- # match the hostname (* wildcard allowed on the left hand side)
- # The certificate should be in PEM format.
- #
- # Tilde and environment variable expansions will be performed.
- #
- # Special value OS-DEFAULT makes Offlineimap to automatically
- # determine system-wide location of standard trusted CA roots file
- # for known OS distributions and use the first bundle encountered
- # (if any). If no system-wide CA bundle is found, Offlineimap
- # will refuse to continue; this is done to prevent creation
- # of false security expectations ("I had configured CA bundle,
- # thou certificate verification shalt be present").
- #
- # You can also use fingerprint verification via cert_fingerprint.
- # See below for more verbose explanation.
- #
- #sslcacertfile = /path/to/cacertfile.crt
- # This option stands in the [Repository RemoteExample] section.
- #
- # If you connect via SSL/TLS (ssl = yes) and you have no CA certificate
- # specified, Offlineimap will refuse to sync as it connects to a server
- # with an unknown "fingerprint". If you are sure you connect to the
- # correct server, you can then configure the presented server
- # fingerprint here. Offlineimap will verify that the server fingerprint
- # has not changed on each connect and refuse to connect otherwise.
- #
- # You can also configure fingerprint validation in addition to
- # CA certificate validation above and it will check both:
- # Offlineimap fill verify certificate first and if things will be fine,
- # fingerprint will be validated.
- #
- # Multiple fingerprints can be specified, separated by commas.
- #
- # In Windows, Microsoft uses the term "thumbprint" instead of "fingerprint".
- #
- # Supported fingerprint hashes are sha512, sha384, sha256, sha224 and sha1.
- # Fingerprints must be in hexadecimal form without leading '0x', and may have
- # the separating colons. This is non case-sensitive.
- # Examples:
- # sha1 "bbfe29cf97acb204591edbafe0aa8c8f914287c9".
- # sha1 with colons "BB:FE:29:CF:97:AC:B2:04:59:1E:DB:AF:E0:AA:8C:8F:91:42:87:C9"
- #
- #cert_fingerprint = <SHAn_of_server_certificate_here>[, <another_SHAm>]
- # This option stands in the [Repository RemoteExample] section.
- #
- # Set SSL version to use (optional).
- #
- # It is best to leave this unset, in which case the correct version will be
- # automatically detected. In rare cases, it may be necessary to specify a
- # particular version from: tls1, tls1_1, tls1_2, ssl3, ssl23.
- #
- # tls1_1 and tls1_2 are available with OpenSSL since v1.0.1.
- #
- # ssl23 automatically selects the highest protocol version that both the client
- # and server support. Despite the name, this option can select “TLS” protocols
- # as well as “SSL”.
- #
- # Be aware that a MITM attack can consist in downgrading the protocol version
- # which is used upon client/server agreement. So, they might fallback to the
- # less secure available protocol. Hence, it is considered more safe to manually
- # define the protocol version.
- #
- # See the configuration option tls_level to disable insecure protocols.
- #
- #ssl_version = ssl23
- # This option stands in the [Repository RemoteExample] section.
- #
- # TLS support level (optional).
- #
- # Specify the level of support that should be allowed for this repository.
- # Can be used to enable insecure SSL versions as defined by imaplib2.
- # See, IETF https://tools.ietf.org/html/rfc6176 to know more.
- #
- # Supported values are:
- # tls_secure, tls_no_ssl, tls_compat (default).
- #
- # Current mapping:
- # - tls_secure:
- # - tls1_1
- # - tls1_2
- # - tls_no_ssl:
- # - all tls_secure
- # - tls1 (less desirable than tls1_1 or higher)
- # - tls_compat
- # - all tls_no_ssl
- # - ssl3 (less desirable than tls1)
- # - ssl23 (can fallback up to ssl3)
- #
- # When tls_level is not set to tls_compat and ssl is still enabled,
- # the ssl_version configuration option must be explicitly set.
- #
- #tls_level = tls_compat
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify the port. If not specified, use a default port.
- #
- #remoteport = 993
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify the remote user name.
- #
- remoteuser = username
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify the user to be authorized as. Sometimes we want to
- # authenticate with our login/password, but tell the server that we
- # really want to be treated as some other user; perhaps server will
- # allow us to do that (or maybe not). Some IMAP servers migrate
- # account names using this functionality: your credentials remain
- # intact, but remote identity changes.
- #
- # Currently this variable is used only for SASL PLAIN authentication
- # mechanism, so consider using auth_mechanisms to prioritize PLAIN
- # or even make it the only mechanism to be tried.
- #
- #remote_identity = authzuser
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify which authentication/authorization mechanisms we should try and the
- # order in which Offlineimap will try them.
- #
- # NOTE: any given mechanism will be tried ONLY if it is supported by the remote
- # IMAP server.
- #
- # Default value is ranged is from strongest to more weak ones. Due to technical
- # limitations, if GSSAPI is set, it will be tried first, no matter where it was
- # specified in the list.
- #
- #auth_mechanisms = GSSAPI, XOAUTH2, CRAM-MD5, PLAIN, LOGIN
- # This option stands in the [Repository RemoteExample] section.
- #
- # XOAUTH2 authentication (for instance, to use with Gmail).
- #
- # This option was tested on Gmail only, but should work with type = IMAP for
- # compatible servers.
- #
- # For Gmail (and maybe others), XOAUTH2 requires ssl. This means that STARTTLS
- # won't work and that Offlineimap will perform certificate validation. IOW, the
- # following configuration is used:
- # - sslcacertfile: MUST BE correctly configured
- # - ssl = yes (optional, will be used anyway)
- # - starttls = no (optional, will be tried but won't work anyway)
- #
- # Mandatory parameters are "oauth2_client_id", "oauth2_client_secret" and
- # either "oauth2_refresh_token" or "oauth2_access_token". XOAUTH2 mechanism
- # won't be tried if both oauth2_refresh_token and oauth2_access_token are not
- # set.
- #
- # See below to learn how to get those.
- #
- # Specify the OAuth2 client id and secret to use for the connection..
- # Here's how to register an OAuth2 client for Gmail, as of 2017-05-15:
- # - Go to the Gmail API overview console
- # https://console.developers.google.com/apis/api/gmail.googleapis.com/overview
- # - Create a new project, name doesn't matter, e.g. 'gmail-sync-bob'
- # - In API & Auth, select Credentials
- # - Once created, click 'Enable'
- # - Click 'Create credentials' in the enabled API overview
- # - In 'Add credentials to your project' select 'Gmail API' as the
- # API type, and 'Other UI ...' (not 'Other non-UI ...') for
- # 'Where will you be calling the API from?'. For 'What data will
- # you be accessing?' select 'User data'.
- # - Click 'What credentials do I need?'
- # - Create an arbitrary 'Create an OAuth 2.0 client ID',
- # e.g. 'gmail-sync-bob-client'. For 'Set up the OAuth 2.0 consent
- # screen' select an arbitrary 'Product name shown to users',
- # e.g. 'gmail-sync-bob-client' & click 'Continue'.
- # - This gives you your client ID displayed on the screen. Click
- # 'Download' to get a JSON file that also has the client secret.
- #
- #oauth2_client_id = YOUR_CLIENT_ID
- #oauth2_client_secret = YOUR_CLIENT_SECRET
- #
- # The return values must be str.
- #oauth2_client_id_eval = get_client_id("accountname")
- #oauth2_client_secret_eval = get_client_secret("accountname")
- #
- # Specify the refresh token to use for the connection to the mail server.
- # Here's an example of a way to get a refresh token:
- # - Clone this project: https://github.com/google/gmail-oauth2-tools
- # - Type the following command-line in a terminal and follow the instructions
- # python python/oauth2.py --generate_oauth2_token \
- # --client_id=YOUR_CLIENT_ID --client_secret=YOUR_CLIENT_SECRET
- # - Access token can be obtained using refresh token with command
- # python python/oauth2.py --user=YOUR_EMAIL --client_id=YOUR_CLIENT_ID
- # --client_secret=YOUR_CLIENT_SECRET --refresh_token=REFRESH_TOKEN
- #
- # Access tokens have limited lifetimes. If you need access beyond the lifetime
- # of a single access token, you should use a refresh token. A refresh token
- # allows Offlineimap to obtain new access tokens.
- #
- # If you want to use a refresh token, make sure you disabled/removed any
- # oauth2_access_token option. The access token is downloaded from the URL
- # defined in the oauth2_request_url configuration option.
- #
- # If the type of the remote is IMAP, oauth2_request_url MUST be defined.
- # For Gmail, the default URL is https://accounts.google.com/o/oauth2/token.
- #
- # If you're experiencing issues, please read the "Known issues" section of the
- # manual.
- #
- #oauth2_access_token = ACCESS_TOKEN
- #oauth2_request_url = https://accounts.google.com/o/oauth2/token
- #oauth2_refresh_token = REFRESH_TOKEN
- #
- # The returned values must be str.
- #oauth2_access_token_eval = get_access_token("accountname")
- #oauth2_refresh_token_eval = get_refresh_token("accountname")
- ########## Passwords
- # There are six ways to specify the password for the IMAP server:
- #
- # 1. No password at all specified in the config file.
- # If a matching entry is found in ~/.netrc (see netrc (5) for
- # information) this password will be used. Do note that netrc only
- # allows one entry per hostname. 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 when using a UI that supports this.
- #
- # 2. The remote password stored in this file with the remotepass
- # option. Save this file with the UTF-8 encoding if your server expect UTF-8
- # encoded password.
- #
- # Any '%' needs to be encoded as '%%'. Example:
- #remotepass = myp%%ssword # Real password is myp%ssword
- #
- # 3. The remote password stored as a single line in an external file, which is
- # referenced by the remotefile option. Must be UTF-8 encoded. 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 protocol 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'
- #
- # 5. If you are using Kerberos and have the Python gssapi 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.
- #
- # 6. Using arbitrary python code. With this method, you invoke a
- # function from your pythonfile. To use this method assign the name
- # of the function to the variable 'remotepasseval'. Example:
- #remotepasseval = get_password("imap.example.net")
- # You can also query for the username:
- #remoteusereval = get_username("imap.example.net")
- # This method can be used to design more elaborate setups, e.g. by
- # querying the gnome-keyring via its python bindings.
- ########## Advanced settings
- # These options stands in the [Repository RemoteExample] section.
- #
- # Tunnels. There are two types:
- #
- # - preauth: they teleport your connection to the remote system
- # and you don't need to authenticate yourself there; the sole
- # fact that you succeeded to get the tunnel running is enough.
- # This tunnel type was explained above in the 'Passwords' section.
- #
- # - transport: the just provide the transport (probably encrypted)
- # to the IMAP server, but you still need to authenticate at the
- # IMAP server.
- #
- # Tunnels are currently working only with IMAP servers and their
- # derivatives (GMail currently). Additionally, for GMail accounts
- # preauth tunnel settings are ignored: we don't believe that there
- # are ways to preauthenticate at Google mail system IMAP servers.
- #
- # You must choose at most one tunnel type, be wise M'Lord!
- #
- #preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
- #transporttunnel = openssl s_client -host myimap -port 993 -quiet
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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. The 'reference' value will be prefixed
- # to all folder paths referring to that repository. E.g. accessing folder 'INBOX'
- # with "reference = Mail" will try to access Mail/INBOX.
- #
- # The nametrans and folderfilter functions will apply to the full path,
- # including the reference prefix. Most users will not need this.
- #
- #reference = Mail
- # DEPRECATED: This option stands in the [Repository RemoteExample] section.
- #
- # IMAP defines an encoding for non-ASCII ("international") characters. Enable
- # this option if you want to decode them to the nowadays ubiquitous UTF-8.
- #
- # Note that the IMAP 4rev1 specification (RFC 3501) allows both UTF-8 and
- # modified UTF-7 folder names.
- #
- # This option converts IMAP folder names from IMAP4-UTF-7 to UTF-8.
- #
- # NOTE/LIMITATION:
- # - The reencoding is applied *after* a nametrans function that may be given,
- # so it is important to note that nametrans will work on the undecoded
- # UTF-7 names.
- # - This option only works from a remote IMAP to a local Maildir repository
- # - It only works *once*, so it can only be used for one-off backups
- # (see https://github.com/OfflineIMAP/offlineimap/issues/299 and especially
- # https://github.com/OfflineIMAP/offlineimap/issues/299#issuecomment-331243827)
- #
- # WARNING: with this option enabled:
- # - compatibility with any other version is NOT GUARANTED (including newer);
- # - no support is provided.
- #
- # DEPRECATION:
- # This option is only there for backward compatibility with existing set-ups.
- # For newly created accounts please use the utf8foldernames option on account
- # level.
- #
- # This feature was merged because it's small changes in the code. However, this
- # might seriously decrease the stability of the program. That's why it will
- # likely never be marked stable. The approach is: if it works for you, you're
- # lucky and you might choose to go for it. If it doesn't, sorry but this feature
- # is known to not work in many cases and it's not available to you. Enabling
- # this feature might really be a poor choice for the future since it's not
- # supported at all and new releases might break the setup.
- #
- #decodefoldernames = no
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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. 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
- # - singlethreadperfolder: to be true
- #
- # The presynchook and postsynchook are executed for each new synchronisation per
- # folder.
- #
- # This feature isn't complete and may well have problems. See the "Known Issues"
- # entry in the manual for more details.
- #
- # This option should return a Python list. For example
- #
- #idlefolders = ['INBOX', 'INBOX.Alerts']
- # This option stands in the [Repository RemoteExample] section.
- #
- # Offlineimap can use a compressed connection to the IMAP server.
- # This can result in faster downloads for some cases.
- #
- #usecompression = yes
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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 = 2
- # This option stands in the [Repository RemoteExample] section.
- #
- # If you want to ensure that only one single thread is used to synchronize each
- # folder, set this to 'yes'. If this is set, only one thread will be used to
- # copy messages for each folder, but up to maxconnections threads will be used
- # overall, copying different folders in parallel. This option is required to
- # download in UIDs order.
- #
- # If this is unset (the default), then up to maxconnections threads are used
- # across all currently syncing folders. This option is sightly recommended in
- # IMAP/IMAP mode (no maildir).
- #
- #singlethreadperfolder = no
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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
- # This option stands in the [Repository RemoteExample] section.
- #
- # Normally, Offlineimap will expunge deleted messages from the server. You can
- # disable that if you wish. This means that Offlineimap will mark them deleted
- # on the server, but not actually delete them. You must use some other IMAP
- # client to delete them if you use this setting; otherwise, the messages will
- # just pile up there forever. Therefore, this setting is definitely NOT
- # recommended for a long term.
- #
- # Default is yes.
- #
- #expunge = no
- # This option stands in the [Repository RemoteExample] section.
- #
- # Specify whether to process all mail folders on the server, or only
- # those listed as "subscribed".
- #
- # Default is no.
- #
- #subscribedonly = no
- # This option stands in the [Repository RemoteExample] section.
- #
- # You can specify a folder translator. This must be a eval-able.
- #
- # Python expression that takes a foldername arg and returns the new value. A
- # lambda function is suggested.
- #
- # WARNING: you MUST construct it so 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.
- #
- # If you enable nametrans, you will likely need to set the reversed nametrans on
- # the other side. See the user documentation for details and use cases. They
- # are also online at: http://www.offlineimap.org/doc/nametrans.html
- #
- # This example below will remove "INBOX." from the leading edge of folders
- # (great for Courier IMAP users).
- #
- #nametrans = lambda foldername: re.sub('^INBOX\.', '', foldername)
- #
- # Using Courier remotely and want to duplicate its mailbox naming locally? Try
- # this:
- #
- #nametrans = lambda foldername: re.sub('^INBOX\.*', '.', foldername)
- # This option stands in the [Repository RemoteExample] section.
- #
- # Determines if folderfilter will be invoked on each run (dynamic folder
- # filtering) or filtering status will be determined at startup (default
- # behaviour).
- #
- #dynamic_folderfilter = False
- # This option stands in the [Repository RemoteExample] section.
- #
- # You can specify which folders to sync using the folderfilter setting. You can
- # provide any python function (e.g. a lambda function) which will be invoked for
- # each foldername. If the filter function returns True, the folder will be
- # synced, if it returns False, it.
- #
- # The folderfilter operates on the *UNTRANSLATED* name (before any nametrans
- # translation takes place).
- #
- # 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']
- # This option stands in the [Repository RemoteExample] section.
- #
- # 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.
- #
- # The 'reference' value will not be prefixed to this folder name, even if you
- # have specified one. For example:
- #
- #folderincludes = ['debian.user', 'debian.personal']
- # This option stands in the [Repository RemoteExample] section.
- #
- # If you do not want to have any folders created on this repository,
- # set the createfolders variable to False, the default is True. Using
- # this feature you can e.g. disable the propagation of new folders to
- # the new repository.
- #
- #createfolders = True
- # This option stands in the [Repository RemoteExample] section.
- #
- # Propagate deletions from remote to local. Messages deleted in this repository
- # won't get deleted on the local repository if set to "no". Default is yes.
- #
- # See sync_deletes in the LocalExample section, too.
- #
- #sync_deletes = yes
- # This option stands in the [Repository RemoteExample] section.
- #
- # 'foldersort' determines how folders are sorted.
- #
- # This affects order of synchronization and mbnames. The expression should
- # return -1, 0, or 1, as the default Python cmp() does. The two arguments, x
- # and y, are strings representing the names of the folders to be sorted. The
- # sorting is applied *AFTER* nametrans, if any. The default is to sort IMAP
- # folders alphabetically (case-insensitive). Usually, you should never have to
- # modify this. To eg. reverse the sort:
- #
- #foldersort = lambda x, y: -cmp(x, y)
- # This option stands in the [Repository RemoteExample] section.
- #
- # Enable 1-way synchronization. When setting 'readonly' to True, this
- # repository will not be modified during synchronization. Usefull to
- # e.g. backup an IMAP server. The readonly setting can be applied to any
- # type of Repository (Maildir, Imap, etc).
- #
- # Notice that this does NOT mean that the local Maildir can be used with a
- # read-only filesystem When OfflineImap uploads a new email, it is assigned a
- # new UID by the remote which is stored in the filename. Otherwise, Offlineimap
- # would have no way to map the UID to the file.
- #
- #readonly = False
- # This option stands in the [Repository RemoteExample] section.
- #
- # You can specify a newmail hook to execute an external command upon receipt
- # of new mail in the INBOX.
- #
- # The pythonfile must be set to import any required library.
- #
- # This example plays a sound file of your chosing when new mail arrives.
- #
- #newmail_hook = lambda: os.system(
- #"cvlc --play-and-stop --play-and-exit /path/to/sound/file.mp3 > /dev/null 2>&1")
- # This option stands in the [Repository RemoteExample] section. [TESTING]
- #
- # Operating under extreme network conditions (China) network connectivity
- # especially for SSL can be so bad and so slow that absolutely every possible
- # kind of connectivity error that can occur does occur.
- #
- # Rather than have offlineimap exit on errors it may be preferable to have it
- # simply retry fetching of messages dozens of times. The alternative is to
- # restart offlineimap in a constant loop, which may involve using significant
- # CPU cycles (if the repository is large) to load up the UID database again.
- #
- # This option is best utilised in combination with socktimeout, which catches
- # instances of interference by e.g. the GFW at the TCP layer, as well as China
- # ISPs simply not coping.
- #
- # Default value: retrycount = 2
- #
- #retrycount = 2
- # This option stands in the [Repository RemoteExample] section.
- #
- # If offlineimap is having troubles to download some UIDS, it's possible to get
- # them ignored in a list. This only ignore the download.
- #
- # The function must return the list of UIDs (integers), None otherwise. It is
- # passed the folder name (using the remote name with the remote separator,
- # likely '/').
- #
- #copy_ignore_eval = lambda foldername: {'INBOX': [2, 3, 4]}.get(foldername)
- [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 provides default values for "remotehost",
- # "remoteport", "tunnel" and "ssl". For the defaults we use, see:
- #
- # http://mail.google.com/support/bin/answer.py?answer=78799&topic=12814
- #
- # This means ssl is enabled and must be configured correctly when connecting to
- # Gmail.
- #
- # In addition we provide defaults for "oauth2_request_url",
- # "trashfolder" and "spamfolder".
- #
- # All of the defaults we provide can be overriden. E.g. you can
- # override "remotehost"/"remoteport"/"ssl" if you'd like to connect to
- # imap.gmail.com via a local stunnel instead of directly.
- #
- # To enable GMail labels synchronisation, set the option "synclabels" in the
- # corresponding "Account" section.
- #
- # Side note: Gmail will keep the deleted emails in "Gmail\All Mail" unless you
- # defined it differently in your online settings.
- #
- type = Gmail
- # This option stands in the [Repository GmailExample] section.
- #
- # Specify the Gmail user name. This is the only mandatory parameter.
- #
- remoteuser = username@gmail.com
- # This option stands in the [Repository GmailExample] section.
- #
- # The trash folder name may be different from [Gmail]/Trash due to localization.
- # You should look for the localized names of the spam folder too: "spamfolder"
- # tunable will help you to override the standard name.
- #
- # For example on German Gmail, this setting should be:
- #
- #trashfolder = [Gmail]/Papierkorb
|