imapc_cmd_timeout
| Default | 5 mins |
|---|---|
| Value | time |
How long to wait for a reply to an IMAP command sent to the remote IMAP server before disconnecting and retrying.
The imapc storage accesses a remote IMAP server as if it were a regular (local) Dovecot mailbox format. Dovecot can treat it as a dummy storage or optionally a more capable storage.
imapc_cmd_timeout| Default | 5 mins |
|---|---|
| Value | time |
How long to wait for a reply to an IMAP command sent to the remote IMAP server before disconnecting and retrying.
imapc_connection_retry_count| Default | [None] |
|---|---|
| Value | unsigned integer |
How many times to retry connection against a remote IMAP server?
imapc_connection_retry_interval| Default | 1 secs |
|---|---|
| Value | time (milliseconds) |
How long to wait between retries against a remote IMAP server?
imapc_connection_timeout_interval| Default | 30secs |
|---|---|
| Value | time (milliseconds) |
How long to wait before considering a connection attempt as timed out.
imapc_features| Default | [None] |
|---|---|
| Value | Boolean List |
| Changes |
|
List of features, optimizations, and workarounds that can be enabled.
no-aclIf the imap-acl plugin is loaded, the imapc acl feature is automatically enabled. With it IMAP ACL commands (MYRIGHTS, GETACL, SETACL, DELETEACL) are proxied to the imapc remote location. Note that currently these commands are attempted to be used even if the remote IMAP server doesn't advertise the ACL capability.
To disable this feature either unload the imap-acl plugin or provide this feature.
Changed: 2.4.0
Earlier versions had an "acl" feature, which is now enabled by default.
no-delay-loginImmediately connect to the remote server. By default this is delayed until a command requires a connection.
Changed: 2.4.0
Earlier versions had a "delay-login" feature, which is now enabled by default.
gmail-migrationX-GM-MSGID as POP3 UIDL.
Add $GMailHaveLabels keyword to mails that have X-GM-LABELS
except for Muted keyword (to be used for migrating only archived
emails in All Mails). Add pop3_deleted_flag to
mails that don't exist in POP3 server.no-modseqDisable access to MODSEQ and HIGHESTMODSEQ fields. By default
these fields are available if the remote server advertises the
CONDSTORE or the QRESYNC capability. If modseqs are disabled, or not
supported by the new server, they can still be used if imapc is
configured to have local index files.
Changed: 2.4.0
Earlier versions had a "modseq" feature, which is now enabled by default.
proxyauthPROXYAUTH 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 shrunk 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 the previous value.
no-fetch-bodystructureDisable fetching of IMAP BODY and BODYSTRUCTURE from the
remote server. Instead, the whole message body is fetched to
regenerate them.
Changed: 2.4.0
Earlier versions had a "fetch-bodystructure" feature, which is now enabled by default.
no-fetch-headersDisable fetching of specific message headers from the remote server
using the IMAP FETCH BODY.PEEK[HEADER.FIELDS(...)] command.
Instead, the whole header is fetched and the wanted headers are
parsed from it.
Changed: 2.4.0
Earlier versions had a "fetch-headers" feature, which is now enabled by default.
no-fetch-sizeDisable fetching of message sizes from the remote server using the
IMAP FETCH RFC822.SIZE command. Instead, the whole message body
is fetched to calculate the size.
Changed: 2.4.0
Earlier versions had a "rfc822.size" feature, which is now enabled by default.
no-metadataMETADATA capability from the
remote server. The client will receive a NO [UNAVAILABLE]
response for any request that requires access to metadata on the
remote server (the same happens if the server does not announce
the capability at all).no-searchDisable searching messages using the IMAP SEARCH command.
Instead, all the message headers/bodies are fetched to perform
the search locally.
Changed: 2.4.0
Earlier versions had a "search" feature, which is now enabled by default.
fetch-fix-broken-mailsIf 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.
DANGER
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.
fetch-msn-workaroundsFETCH replies
whenever possible, preferring to use the returned UID number instead.no-examineSELECT 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.no-qresync Added: 2.4.0zimbra-workaroundsBODY.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 this should no longer
be a problem and there's probably no need to enable this workaround.imapc_host| Default | [None] |
|---|---|
| Value | string |
The remote IMAP host to connect to.
imapc_list_prefix| Default | [None] |
|---|---|
| Value | string |
Access only mailboxes under this prefix.
Example, for a source IMAP server that uses an INBOX namespace prefix:
imapc_list_prefix = INBOX
imapc_master_user| Default | [None] |
|---|---|
| Value | string |
| See Also |
The master username to authenticate as on the remote IMAP host.
To authenticate as a master user but use a separate login user, the following configuration should be employed, where the credentials are represented by masteruser and masteruser-secret:
imapc_user = %{user}
imapc_master_user = masteruser
imapc_password = masteruser-secret
Mail user variables can be used.
imapc_max_idle_time| Default | 29 mins |
|---|---|
| Value | time |
Send a command to the source IMAP server as a keepalive after no other command has been sent for this amount of time.
Dovecot will send either NOOP or DONE to the source IMAP server.
imapc_max_line_length| Default | unlimited |
|---|---|
| Value | size |
The maximum line length to accept from the remote IMAP server.
This setting is used to limit maximum memory usage.
imapc_password| Default | [None] |
|---|---|
| Value | string |
| See Also |
The authentication password for the remote IMAP server.
If using master users, this setting will be the password of the master user.
imapc_port| Default | [None] |
|---|---|
| Value | Port Number |
The port on the remote IMAP host to connect to.
imapc_rawlog_dir| Default | [None] |
|---|---|
| Value | string |
| See Also |
Log all IMAP traffic input/output to this directory.
imapc_sasl_mechanisms| Default | plain |
|---|---|
| Value | Boolean List |
The SASL mechanisms to use for authentication when connection to a remote IMAP server.
The first one advertised by the remote IMAP sever is used.
imapc_sasl_mechanisms {
external = yes
plain = yes
login = yes
}
imapc_ssl| Default | no |
|---|---|
| Value | string |
| Allowed Values | noimapsstarttls |
Use TLS to connect to the remote IMAP server.
| Value | Description |
|---|---|
no |
No TLS |
imaps |
Explicitly connect to remote IMAP port using TLS |
starttls |
Use IMAP STARTTLS command to switch to TLS connection |
imapc_ssl_verify| Default | yes |
|---|---|
| Value | boolean |
| See Also | |
| Changes |
|
Verify remote IMAP TLS certificate?
Verification may be disabled during testing, but should be enabled during production use.
Only used if imapc_ssl is enabled.
imapc_user| Default | %{owner_user} |
|---|---|
| Value | string |
| See Also |
The user identity to be used for performing a regular IMAP LOGIN to the source IMAP server.
Mail user variables can be used.
Do a regular IMAP LOGIN, using STARTTLS, to imap.example.com:
# In-memory index files:
mail_driver = imapc
mail_path =
# OR, Store index files locally:
#mail_path = ~/imapc
imapc_host = imap.example.com
imapc_password = secret
imapc_port = 143
imapc_ssl = starttls
imapc_user = user@example.comUsing the imapc quota driver allows asking for the quota from remote IMAP server. By default it uses GETQUOTAROOT INBOX to retrieve the quota.
There are two parameters that can be used to control how the quota is looked up:
quota_imapc_mailbox_name| Default | INBOX |
|---|---|
| Value | string |
| See Also |
If non-empty, use GETQUOTAROOT <mailbox> to get the imapc quota root.
Used only with Quota Driver: Imapc.
quota_imapc_root_name| Default | [None] |
|---|---|
| Value | string |
| See Also |
If quota_imapc_mailbox_name is empty, use GETQUOTA <name>
to get the imapc quota.
Some servers may have an empty quota root name. This is why if this setting and
quota_imapc_mailbox_name both have empty values, this setting is
used. Used only with Quota Driver: Imapc.
quota "User Quota" {
driver = imapc
}