This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.
Differences between revisions 4 and 6 (spanning 2 versions)
Revision 4 as of 2017-07-13 09:56:49
Size: 4931
Editor: TimoSirainen
Comment:
Revision 6 as of 2019-02-13 12:35:03
Size: 4929
Editor: AkiTuomi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 40: Line 40:
imapc_ssl_verify = yes imapc_ssl_verify = no
Line 73: Line 73:
 delay-login:: Don't connect to the remote server until some command requires it. By default the server is connected to immediately on logout. (v2.2.29+)  delay-login:: Don't connect to the remote server until some command requires it. By default the server is connected to immediately on login. (v2.2.29+)

imapc storage

The imapc storage accesses a remote IMAP server as if it were a regular Dovecot mailbox format. Dovecot can treat it as a very dummy storage or optionally a more capable storage.

# In-memory index files:
mail_location = imapc:

# Store index files locally:
mail_location = imapc:~/imapc

Connection settings

Do a regular IMAP LOGIN to imap.example.com using a LOGIN user@example.com secret:

imapc_host = imap.example.com
imapc_password = secret
imapc_port = 143
imapc_user = user@example.com

If you want to use a master user login, set:

imapc_master_user = masteruser

For SSL, use either:

  • imapc_ssl = imaps
    imapc_port = 993
  • imapc_ssl = starttls
    imapc_port = 143

For testing you may want to disable all SSL certificate checks:

imapc_ssl_verify = no

You can use other SASL mechanisms besides PLAIN by specifying (the first one advertised by IMAP server is used):

imapc_sasl_mechanisms = external plain login

The SASL client mechanisms are implemented in Dovecot's lib-sasl/ code. It's possible to add more with plugins.

Other settings

imapc_cmd_timeout
How long to wait for an IMAP command to reply before disconnecting and retrying (default: 5 mins).
imapc_list_prefix

Access only mailboxes under this prefix. For example imapc_list_prefix=INBOX/

imapc_max_idle_time
Send something (NOOP/DONE) to server after not sending anything for this amount of time (default: 29 mins).
imapc_rawlog_dir
Log all IMAP traffic input/output to this directory.

Features and workarounds

imapc_features setting is a space-separated list of features and workarounds that can be enabled.

Optimizations

rfc822.size

Allow passing through message sizes using FETCH RFC822.SIZE

fetch-headers

Allow fetching specific message headers using FETCH BODY.PEEK[HEADER.FIELDS (..)]

fetch-bodystructure
Allow fetching BODY and BODYSTRUCTURE from remote server. (v2.2.30+)
search

Allow using SEARCH command.

Features

gmail-migration
Enable GMail-specific migration: Use IMAP X-GM-MSGID as POP3 UIDL. Add $GMailHaveLabels keyword to mails that have X-GM-LABELS except for \Muted (to be used for migrating only archived emails in "All Mails"). Add pop3_deleted_flag to mails that don't exist in POP3 server.
proxyauth
Use Sun/Oracle IMAP-server specific PROXYAUTH command to do master user authentication. Normally this would be done using the SASL PLAIN authentication.
throttle:INIT:MAX:SHRINK
When receiving [THROTTLED] response (from GMail), throttling is applied. INIT = initial throttling msecs (default: 50 ms), afterwards each subsequent [THROTTLED] doubles the throttling until MAX is reached (default: 16000 ms). When [THROTTLED] is not received for a while, it's shrank again. The initial shrinking is done after SHRINK (default: 500 ms). If [THROTTLED] is received again within this timeout, it's doubled, otherwise both throttling and the next shrinking timeout is shrank to 3/4.
modseq
Access MODSEQ and HIGHESTMODSEQ (v2.2.24+)
delay-login
Don't connect to the remote server until some command requires it. By default the server is connected to immediately on login. (v2.2.29+)

Quota

Using the "imapc" quota backend allows asking for the quota from remote IMAP server (v2.2.30+). By default it uses GETQUOTAROOT INBOX for getting the quota. There are also two parameters that can be used to control how the quota is looked up:

  • box=<mailbox>: Use GETQUOTAROOT <mailbox>

  • root=<name>: Use GETQUOTA <name>

For example:

plugin {
  quota = imapc:root=User Quota
}

Workarounds

zimbra-workarounds

Fetch full message using BODY.PEEK[HEADER] BODY.PEEK[TEXT] instead of just BODY.PEEK[] because the header differs between these two when there are illegal control chars or 8bit chars. This mainly caused problems with dsync, but as of v2.2.22+ this should no longer be a problem and there's probably no need to enable this workaround.

no-examine
Use SELECT instead of EXAMINE even when we don't want to modify anything in the mailbox. This is a Courier-workaround where it didn't permanently assign UIDVALIDITY to an EXAMINEd mailbox, but assigned it for SELECTed mailbox.
fetch-msn-workarounds
Try to ignore wrong message sequence numbers in FETCH replies whenever possible, preferring to use the returned UID number instead.
fetch-fix-broken-mails

If a FETCH returns NO (but not NO [LIMIT] or NO [SERVERBUG]), assume the mail is broken in server and just treat it as if it were an empty email. NOTE: This is often a dangerous option! It's not safe to assume that NO means a permanent error rather than a temporary error. This feature should be enabled only for specific users who have been determined to be broken.

None: MailboxFormat/imapc (last edited 2019-02-13 12:35:03 by AkiTuomi)