IMAPD.CONF

NAME
DESCRIPTION
FIELD DESCRIPTIONS
SEE ALSO
AUTHOR
COPYRIGHT

NAME

imapd.conf - Cyrus IMAP documentation

IMAP configuration file

DESCRIPTION

/etc/imapd.conf is the configuration file for the Cyrus IMAP server. It defines local parameters for IMAP.
Each line of the /etc/imapd.conf file has the form

option: value

where option is the name of the configuration option being set and value is the value that the configuration option is being set to.

Although there is no limit to the length of a line, a ``\ââ (backslash) character may be used as the last character on a line to force it to continue on the next one. No additional whitespace is inserted before or after the ``\ââ. Note that a line that is split using ``\ââ character(s) is still considered a single line.
For example

option:\

value1 value2 \

value3

is equivalent to

option: value1 value2 value3

Blank lines and lines beginning with ``#ââ are ignored.

For boolean and enumerated options, the values ``yesââ, ``onââ, ``tââ, ``trueââ and ``1ââ turn the option on, the values ``noââ, ``offââ, ``fââ, ``falseââ and ``0ââ turn the option off.

Duration options take the form of a number followed by a unit, for example 32m (32 minutes). Units are d (days), h (hours), m (minutes) and s (seconds). Multiple units can be combined and will be summed together, for example 1h30m is equivalent to 90m. If no unit is specified, an option-specific backward-compatible default unit is assumed (documented on an option-by-option basis). These are simple time units: 1d=24h, 1h=60m, 1m=60s (daylight savings, timezones, leap adjustments, etc are not considered).

FIELD DESCRIPTIONS

The sections below detail options that can be placed in the /etc/imapd.conf file, and show each optionâs default value. Some options have no default value, these are listed with ``<no default>ââ. Some options default to the empty string, these are listed with ``<none>ââ.

acl_admin_implies_write: 0

If enabled, any user with the admin ACL on a mailbox implicitly gets the ability to write to that mailbox as well.

addressbookprefix: #addressbooks

The prefix for the addressbook mailboxes hierarchies. The hierarchy delimiter will be automatically appended. The public addressbook hierarchy will be at the toplevel of the shared namespace. A userâs personal addressbook hierarchy will be a child of their Inbox.

admins: <empty string>

The list of userids with administrative rights. Separate each userid with a space. Sites using Kerberos authentication may use separate âadminâ instances.

Note that accounts used by users should not be administrators. Administrative accounts should not receive mail. That is, if user âjbRoâ is a user reading mail, he should not also be in the admins line. Some problems may occur otherwise, most notably the ability of administrators to create top-level mailboxes visible to users, but not writable by users.

afspts_localrealms: <none>

The list of realms which are to be treated as local, and thus stripped during identifier canonicalization (for the AFSPTS ptloader module). This is different from loginrealms in that it occurs later in the authorization process (as the user id is canonified for PTS lookup)

afspts_mycell: <none>

Cell to use for AFS PTS lookups. Defaults to the local cell.

allowallsubscribe: 0

Allow subscription to nonexistent mailboxes. This option is typically used on backend servers in a Murder so that users can subscribe to mailboxes that donât reside on their âhomeâ server. This option can also be used as a workaround for IMAP clients which donât play well with nonexistent or unselectable mailboxes (e.g., Microsoft Outlook).

allowanonymouslogin: 0

Permit logins by the user âanonymousâ using any password. Also allows use of the SASL ANONYMOUS mechanism.

allowapop: 1

Allow use of the POP3 APOP authentication command.

Note that this command requires that SASL is compiled with APOP support, that the plaintext passwords are available in a SASL auxprop backend (e.g., sasldb), and that the system can provide enough entropy (e.g., from /dev/urandom) to create a challenge in the banner.

allowdeleted: 0

Allow access to deleted and expunged data via vendor.cmu-* access

allownewnews: 0

Allow use of the NNTP NEWNEWS command.

Note that this is a very expensive command and should only be enabled when absolutely necessary.

allowplaintext: 0

If enabled, allows the use of cleartext passwords on the wire.

By default, the use of cleartext passwords requires a TLS/SSL encryption layer to be negotiated prior to any cleartext authentication mechanisms being advertised or allowed. To require a TLS/SSL encryption layer to be negotiated prior to ANY authentication, see the tls_required option.

allowsetacl: 1

Defaults to enabled. If disabled, disallows the use of the SETACL command at all via IMAP.

allowusermoves: 0

Allow moving user accounts (with associated meta-data) via RENAME or XFER.

Note that measures should be taken to make sure that the user being moved is not logged in, and cannot login during the move. Failure to do so may result in the userâs meta-data (seen state, subscriptions, etc) being corrupted or out of date.

altnamespace: 1

Use the alternate IMAP namespace, where personal folders reside at the same level in the hierarchy as INBOX.

This option ONLY applies where interaction takes place with the client/user. Currently this is limited to the IMAP protocol (imapd) and Sieve scripts (lmtpd). This option does NOT apply to admin tools such as cyradm (admins ONLY), reconstruct, quota, etc., NOR does it affect LMTP delivery of messages directly to mailboxes via plus-addressing. The default changed in 3.0 from off to on.

altprefix: Alt Folders

Alternative INBOX spellings that canât be accessed in altnamespace otherwise go under here

annotation_db: twoskip

The cyrusdb backend to use for mailbox annotations.

Allowed values: skiplist, twoskip, zeroskip

annotation_db_path: <none>

The absolute path to the annotations db file. If not specified, will be configdirectory/annotations.db

anyoneuseracl: 1

Should non-admin users be allowed to set ACLs for the âanyoneâ user on their mailboxes? In a large organization this can cause support problems, but itâs enabled by default.

annotation_allow_undefined: 0

Allow clients to store values for entries which are not defined either by Cyrus or in the annotations_definitions file.

annotation_definitions: <none>

File containing external (third-party) annotation definitions.

Each line of the file specifies the properties of an annotation and has the following form:

name, scope, attrib-type, proxy-type, attrib-names, acl

name

is the hierarchical name as in RFC 5257 or RFC 5464 (in the latter case, without the leading /shared or /private). For example, /vendor/acme/blurdybloop.

scope

specifies whether the annotation is for the server, a mailbox, or a message.

attrib-type

specifies the attribute data type, which is used only to check the string value passed by clients when setting annotations. The attrib-type is one of:

string

any value is accepted.

content-type

this obsolete data type, which was useful for early drafts of the standard, is accepted but silently translated to string.

boolean

only the strings âtrueâ or âfalseâ are accepted. Checking is case-insensitive but the value is forced to lowercase.

int

integers are accepted.

uint

non-negative integers are accepted.

proxy-type

specifies whether this attribute is for the backend or proxy servers or both (proxy_and_backend)

attrib-names

is the space-separated list of available attributes for the annotation. Possible attribute names are value.shared, value.priv, and value (which permits both value.priv and value.shared). The attribute names size, size.shared, and size.priv are accepted but ignored; these attributes are automatically provided by the server if the corresponding value attribute is specified. Some obsolete attributes, which were defined early drafts of the standard, are accepted and ignored with a warning.

extra-permissions

is the extra ACL permission bits required for setting this annotation, in standard IMAP ACL permission bit string format. Note that this is in addition to the permission bits specified in RFC 5257 and RFC 5464, so leaving this field empty is harmless. Note also that there is no way to specify that an annotation can only be set by an admin user; in particular the a permission bit does not achieve this.

Blank lines and lines beginning with ``#ââ are ignored.

annotation_callout: <none>

The pathname of a callout to be used to automatically add annotations or flags to a message when it is appended to a mailbox. The path can be either an executable (including a script), or a UNIX domain socket.

annotation_callout_disable_append: 0

Disables annotations on append with xrunannotator

annotation_enable_legacy_commands: 0

Whether to enable the legacy GETANNOTATION/SETANNOTATION commands. These commands are deprecated and will be removed in the future, but might be useful in the meantime for supporting old clients that do not implement the RFC 5464 IMAP METADATA extension.

aps_topic: <none>

Topic for Apple Push Service registration.

aps_topic_caldav: <none>

Topic for Apple Push Service registration for CalDAV.

aps_topic_carddav: <none>

Topic for Apple Push Service registration for CardDAV.

archive_enabled: 0

Is archiving enabled for this server. You also need to have an archivepartition for the mailbox. Archiving allows older email to be stored on slower, cheaper disks - even within the same mailbox, as distinct from partitions.

archive_days: <none>

Deprecated in favour of archive_after.

archive_after: 7d

The duration after which to move messages to the archive partition if archiving is enabled.

For backward compatibility, if no unit is specified, days is assumed.

archive_maxsize: 1024

The size in kilobytes of the largest message that wonât be archived immediately. Default is 1Mb

archive_keepflagged: 0

If set, messages with the \Flagged system flag wonât be archived, provided they are smaller than archive_maxsize.

archivepartition-name: <none>

The pathname of the archive partition name, corresponding to spool partition partition-name. For any mailbox residing in a directory on partition-name, the archived messages will be stored in a corresponding directory on archivepartition-name. Note that not every partition-name option is strictly required to have a corresponding archivepartition-name option, but that without one thereâs no benefit to enabling archiving.

auditlog: 0

Should cyrus output log entries for every action taken on a message file or mailboxes list entry? Itâs noisy so disabled by default, but can be very useful for tracking down what happened if things look strange

auth_mech: unix

The authorization mechanism to use.

Allowed values: unix, pts, krb, krb5

autocreateinboxfolders: <none>

Deprecated in favor of autocreate_inbox_folders.

autocreatequota: 0

Deprecated in favor of autocreate_quota.

autocreatequotamsg: -1

Deprecated in favor of autocreate_quota_messages.

autosievefolders: <none>

Deprecated in favor of autocreate_sieve_folders.

generate_compiled_sieve_script: 0

Deprecated in favor of autocreate_sieve_script_compile.

autocreate_sieve_compiled_script: <none>

Deprecated in favor of autocreate_sieve_script_compiled.

autosubscribeinboxfolders: <none>

Deprecated in favor of autocreate_subscribe_folders.

autosubscribesharedfolders: <none>

Deprecated in favor of autocreate_subscribe_sharedfolders.

autosubscribe_all_sharedfolders: 0

Deprecated in favor of autocreate_subscribe_sharedfolders_all.

autocreate_acl: <none>

If folders are to be created by autocreate_inbox_folders, this setting can be used to apply additional ACLs to the autocreated folders. The syntax is âautocreate_acl folder identifier rightsâ, where folder must match one of the autocreate_inbox_folders folders, identifier must be a valid cyrus identifier, and rights must be a valid cyrus rights string. Multiple identifier|rights pairs can be assigned to a single folder by providing this setting multiple times.

For example, âautocreate_acl Plus anyone pâ would allow lmtp delivery to a folder named âPlusâ.

autocreate_inbox_folders: <none>

If a user does not have an INBOX already, and the INBOX is to be created, create the list of folders in this setting as well. autocreate_inbox_folders is a list of INBOXâs subfolders separated by a â|â, that are automatically created by the server under the following two scenarios. Leading and trailing whitespace is stripped, so âJunk | Trashâ results in two folders: âJunkâ and âTrashâ. See also the xlist-flag option, for setting special-use flags on autocreated folders.

INBOX folders are created under both the following conditions:

1.

The user logins via the IMAP or the POP3 protocol. autocreate_quota option must have a value of zero or greater.

2.

A message arrives for the user through the lmtpd(8). autocreate_post option must be enabled.

autocreate_post: 0

If enabled, when lmtpd(8) receives an incoming mail for an INBOX that does not exist, then the INBOX is automatically created by lmtpd(8) and delivery of the message continues.

autocreate_quota: -1

If set to a value of zero or higher, users have their INBOX folders created upon a successful login event or upon lmtpd(8) message delivery if autocreate_post is enabled, provided their INBOX did not yet already exist.

The userâs quota is set to the value if it is greater than zero, otherwise the user has unlimited quota.

Note that quota is specified in kilobytes.

autocreate_quota_messages: -1

If set to a value of zero or higher, users who have their INBOX folders created upon a successful login event (see autocreate_quota), or upon lmtpd(8) message delivery if autocreate_post is enabled, receive the message quota configured in this option.

The default of -1 disables assigning message quota.

For consistency with autocreate_quota, a value of zero is treated as unlimited message quota, rather than a message quota of zero.

autocreate_sieve_folders: <none>

A â|â separated list of subfolders of INBOX that will be automatically created, if requested by a sieve filter, through the âfileintoâ action. The default is to create no folders automatically.

Leading and trailing whitespace is stripped from each folder, so a setting of âJunk | Trashâ will create two folders: âJunkâ and âTrashâ.

autocreate_sieve_script: <none>

The full path of a file that contains a sieve script. This script automatically becomes a userâs initial default sieve filter script.

When this option is not defined, no default sieve filter is created. The file must be readable by the Cyrus daemon.

autocreate_sieve_script_compile: 0

If set to yes and no compiled sieve script file exists, the sieve script which is compiled on the fly will be saved in the file name that autocreate_sieve_compiledscript option points to. In order a compiled script to be generated, autocreate_sieve_script and autocreate_sieve_compiledscript must have valid values

autocreate_sieve_script_compiled: <none>

The full path of a file that contains a compiled in bytecode sieve script. This script automatically becomes a userâs initial default sieve filter script. If this option is not specified, or the filename doesnât exist then the script defined by autocreate_sieve_script is compiled on the fly and installed as the userâs default sieve script

autocreate_subscribe_folders: <none>

A list of folder names, separated by â|â, that the users get automatically subscribed to, when their INBOX is created. These folder names must have been included in the autocreateinboxfolders option of the imapd.conf.

autocreate_subscribe_sharedfolders: <none>

A list of shared folders (bulletin boards), separated by â|â, that the users get automatically subscribed to, after their INBOX is created. The shared folder must have been created and the user must have the required permissions to get subscribed to it. Otherwise, subscribing to the shared folder fails.

autocreate_subscribe_sharedfolders_all: 0

If set to yes, the user is automatically subscribed to all shared folders, one has permission to subscribe to.

autocreate_users: anyone

A space separated list of users and/or groups that are allowed their INBOX to be automatically created.

autoexpunge: 0

If set to yes, then all Deleted messages will be automatically expunged whenever an index is closed, whether CLOSE, UNSELECT, SELECT or on disconnect

backuppartition-name: <none>

The pathname of the backup partition name. At least one backup partition pathname MUST be specified if backups are in use. Note that there is no relationship between spool partitions and backup partitions.

backup_compact_minsize: 0

The minimum size in kilobytes of chunks in each backup. The compact tool will try to combine adjacent chunks that are smaller than this.

Setting this value to zero or negative disables combining of chunks.

backup_compact_maxsize: 0

The maximum size in kilobytes of chunks in each backup. The compact tool will try to split chunks larger than this into smaller chunks.

Setting this value to zero or negative disables splitting of chunks.

backup_compact_work_threshold: 1

The number of chunks that must obviously need compaction before the compact tool will go ahead with the compaction. If set to less than one, the value is treated as being one.

backup_staging_path: <none>

The absolute path of the backup staging area. If not specified, will be temp_path/backup

backup_retention_days: <none>

Deprecated in favor of backup_retention.

backup_retention: 7d

How long to keep content in backup after it has been deleted from the source. If set to a negative value or zero, deleted content will be kept indefinitely.

For backward compatibility, if no unit is specified, days is assumed.

backup_db: twoskip

The cyrusdb backend to use for the backup locations database.

Allowed values: skiplist, sql, twoskip, zeroskip

backup_db_path: <none>

The absolute path to the backup db file. If not specified, will be configdirectory/backups.db

backup_keep_previous: 0

Whether the ctl_backups compact and ctl_backups reindex commands should preserve the original file. The original file will be named with a timestamped suffix. This is mostly useful for debugging.

Note that with this enabled, compacting a backup will actually increase the disk used by it (because there will now be an extra copy: the original version, and the compacted version).

boundary_limit: 1000

messages are parsed recursively and a deep enough MIME structure can cause a stack overflow. Do not parse deeper than this many layers of MIME structure. The default of 1000 is much higher than any sane message should have.

caldav_accept_invalid_rrules: 0

Accept invalid RRULEs (e.g. FREQ=WEEKLY;BYMONTHDAY=15) rather than rejecting them as errors.

caldav_allowattach: 1

Enable managed attachments support on the CalDAV server.

caldav_allowcalendaradmin: 0

Enable per-user calendar administration web UI on the CalDAV server.

caldav_allowscheduling: on

Enable calendar scheduling operations. If set to âappleâ, the server will emulate Apple CalendarServer behavior as closely as possible. Allowed values: off, on, apple

caldav_create_attach: 1

Create the âAttachmentsâ collection if it doesnât already exist

caldav_create_default: 1

Create the âDefaultâ calendar if it doesnât already exist

caldav_create_sched: 1

Create the âInboxâ and âOutboxâ calendars if they donât already exist

caldav_historical_age: 7d

How long after an occurrence of event or task has concluded that it is considered âhistoricalâ. Changes to historical occurrences of events or tasks WILL NOT have invite or reply messages sent for them. A negative value means that events and tasks are NEVER considered historical.

For backward compatibility, if no unit is specified, days is assumed.

caldav_maxdatetime: 20380119T031407Z

The latest date and time accepted by the server (ISO format). This value is also used for expanding non-terminating recurrence rules.

Note that increasing this value will require the DAV databases for calendars to be reconstructed with the dav_reconstruct utility in order to see its effect on serer-side time-based queries.

caldav_mindatetime: 19011213T204552Z

The earliest date and time accepted by the server (ISO format).

caldav_realm: <none>

The realm to present for HTTP authentication of CalDAV resources. If not set (the default), the value of the âservernameâ option will be used.

calendarprefix: #calendars

The prefix for the calendar mailboxes hierarchies. The hierarchy delimiter will be automatically appended. The public calendar hierarchy will be at the toplevel of the shared namespace. A userâs personal calendar hierarchy will be a child of their Inbox.

calendar_default_displayname: personal

The displayname to be used when creating a userâs âDefaultâ calendar.

calendar_user_address_set: <none>

Space-separated list of domains corresponding to calendar user addresses for which the server is responsible. If not set (the default), the value of the âservernameâ option will be used.

calendar_component_set: VEVENT VTODO VJOURNAL VFREEBUSY VAVAILABILITY VPOLL

Space-separated list of iCalendar component types that calendar object resources may contain in a calendar collection. This restriction is only set at calendar creation time and only if the CalDAV client hasnât specified a restriction in the creation request. Allowed values: VEVENT, VTODO, VJOURNAL, VFREEBUSY, VAVAILABILITY, VPOLL

carddav_allowaddmember: 0

Enable support for POST add-member on the CardDAV server.

carddav_allowaddressbookadmin: 0

Enable per-user addressbook administration web UI on the CardDAV server.

carddav_realm: <none>

The realm to present for HTTP authentication of CardDAV resources. If not set (the default), the value of the âservernameâ option will be used.

carddav_repair_vcard: 0

If enabled, VCARDs with invalid content are attempted to be repaired during creation.

chatty: 0

If yes, syslog tags and commands for every IMAP command, mailboxes for every lmtp connection, every POP3 command, etc

client_bind: 0

If enabled, a specific IP will be bound when performing a client connection. client_bind_name is used if it is set, otherwise servername is used. This is useful on multi-homed servers where Cyrus should not use other servicesâ interfaces.

If not enabled (the default), no bind will be performed. Client connections will use an IP chosen by the operating system.

client_bind_name: <none>

IPv4, IPv6 address or hostname to bind for client connections when client_bind is enabled. If not set (the default), servername will be used.

client_timeout: 10s

Time to wait before returning a timeout failure when performing a client connection (e.g. in a murder environment).

For backward compatibility, if no unit is specified, seconds is assumed.

commandmintimer: <none>

Time in floating point seconds. Any imap command that takes longer than this time is logged.

configdirectory: <none>

The pathname of the IMAP configuration directory. This field is required.

createonpost: 0

Deprecated in favor of autocreate_post.

conversations: 0

Enable the XCONVERSATIONS extensions. Extract conversation tracking information from incoming messages and track them in per-user databases.

conversations_counted_flags: <none>

space-separated list of flags for which per-conversation counts will be kept. Note that you need to reconstruct the conversations database with ctl_conversationsdb if you change this option on a running server, or the counts will be wrong.

conversations_db: skiplist

The cyrusdb backend to use for the per-user conversations database.

Allowed values: skiplist, sql, twoskip, zeroskip

conversations_expire_days: <none>

Deprecated in favor of conversations_expire_after.

conversations_expire_after: 90d

How long the conversations database keeps the message tracking information needed for receiving new messages in existing conversations.

For backward compatibility, if no unit is specified, days is assumed.

conversations_keep_existing: 1

during conversations cleanup, donât clean up if there are still existing emails with one of the mentioned CIDs

conversations_max_thread: 100

maximum size for a single thread. Threads will split if they have this many messages in them and another message arrives

conversations_max_guidrecords: 5000

maximum records with the same guid. This is just a sanity check to stop the same email being added and removed over and over, so the default is 5000

conversations_max_guidexists: 100

maximum records with the same guid. This maps to âlabelsâ, so with the default of 100, you can only have 100 labels on an email in JMAP

conversations_max_guidinfolder: 10

maximum records with the same guid in the same folder. You canât do this via JMAP, but could via IMAP. The default of 10 should be heaps normally!

crossdomains: 0

Enable cross domain sharing. This works best with alt namespace and unix hierarchy separators on, so you get Other Users/foo@example.com/â¦

crossdomains_onlyother: 0

only show the domain for users in other domains than your own (for backwards compatibility if youâre already sharing

cyrus_group: <none>

The name of the group Cyrus services will run as. If not configured, the primary group of cyrus_user will be used. Can be further overridden by setting the $CYRUS_GROUP environment variable.

cyrus_user: <none>

The username to use as the âcyrusâ user. If not configured, the compile time default will be used. Can be further overridden by setting the $CYRUS_USER environment variable.

davdriveprefix: #drive

The prefix for the DAV storage mailboxes hierarchies. The hierarchy delimiter will be automatically appended. The public storage hierarchy will be at the toplevel of the shared namespace. A userâs personal storage hierarchy will be a child of their Inbox.

davnotificationsprefix: #notifications

The prefix for the DAV notifications hierarchy. The hierarchy delimiter will be automatically appended. The public notifications hierarchy will be at the toplevel of the shared namespace. A userâs personal notifications hierarchy will be a child of their Inbox.

dav_realm: <none>

The realm to present for HTTP authentication of generic DAV resources (principals). If not set (the default), the value of the âservernameâ option will be used.

dav_lock_timeout: 20s

The maximum time to wait for a write lock on the per-user DAV database before timeout. For HTTP requests, the HTTP status code 503 is returned if the lock can not be obtained within this time.

For backward compatibility, if no unit is specified, seconds is assumed.

debug: 0

If enabled, allow syslog() to pass LOG_DEBUG messages.

debug_command: <none>

Debug command to be used by processes started with -D option. The string is a C format string that gets 3 options: the first is the name of the executable (as specified in the cmd parameter in cyrus.conf). The second is the pid (integer) and the third is the service ID. Example: /usr/local/bin/gdb /usr/cyrus/bin/%s %d

debug_writefail_guid: <none>

If set, any arriving message with this guid will fail as if the underlying disk write had failed, pretending to be a disk full condition. This is mainly useful for regression testing certain edge case handling. Currently only implemented for replication uploads.

defaultacl: anyone lrs

The Access Control List (ACL) placed on a newly-created (non-user) mailbox that does not have a parent mailbox.

defaultdomain: internal

The default domain for virtual domain support

defaultpartition: <none>

The partition name used by default for new mailboxes. If not specified, the partition with the most free space will be used for new mailboxes.

Note that the partition specified by this option must also be specified as partition-name, where you substitute ânameâ for the alphanumeric string you set defaultpartition to.

defaultsearchtier: <empty string>

Name of the default tier that messages will be indexed to. Search indexes can be organized in tiers to allow index storage in different directories and physical media. See the man page of squatter for details. The default search tier also requires the definition of an according searchtierpartition-name entry.

This option MUST be specified for xapian search.

defaultserver: <none>

The backend server name used by default for new mailboxes. If not specified, the server with the most free space will be used for new mailboxes.

deletedprefix: DELETED

With delete_mode set to delayed, the deletedprefix setting defines the prefix for the hierarchy of deleted mailboxes.

The hierarchy delimiter will be automatically appended.

delete_mode: delayed

The manner in which mailboxes are deleted. In the default delayed mode, mailboxes that are being deleted are renamed to a special mailbox hierarchy under the deletedprefix, to be removed later by cyr_expire(8).

In immediate mode, the mailbox is removed from the filesystem immediately.

Allowed values: immediate, delayed

delete_unsubscribe: 0

Whether to also unsubscribe from mailboxes when they are deleted. Note that this behaviour contravenes RFC 3501 section 6.3.9, but may be useful for avoiding user/client software confusion. The default is ânoâ.

deleteright: c

Deprecated - only used for backwards compatibility with existing installations. Lists the old RFC 2086 right which was used to grant the user the ability to delete a mailbox. If a user has this right, they will automatically be given the new âxâ right.

disable_user_namespace: 0

Preclude list command on user namespace. If set to âyesâ, the LIST response will never include any other userâs mailbox. Admin users will always see all mailboxes. The default is ânoâ

disable_shared_namespace: 0

Preclude list command on shared namespace. If set to âyesâ, the LIST response will never include any non-user mailboxes. Admin users will always see all mailboxes. The default is ânoâ

disconnect_on_vanished_mailbox: 0

If enabled, IMAP/POP3/NNTP clients will be disconnected by the server if the currently selected mailbox is (re)moved by another session. Otherwise, the missing mailbox is treated as empty while in use by the client.

ischedule_dkim_domain: <none>

The domain to be reported as doing iSchedule DKIM signing.

ischedule_dkim_key_file: <none>

File containing the private key for iSchedule DKIM signing.

ischedule_dkim_required: 1

A DKIM signature is required on received iSchedule requests.

ischedule_dkim_selector: <none>

Name of the selector subdividing the domain namespace. This specifies the actual key used for iSchedule DKIM signing within the domain.

duplicate_db: twoskip

The cyrusdb backend to use for the duplicate delivery suppression and sieve. Allowed values: skiplist, sql, twoskip, zeroskip

duplicate_db_path: <none>

The absolute path to the duplicate db file. If not specified, will be configdirectory/deliver.db

duplicatesuppression: 1

If enabled, lmtpd will suppress delivery of a message to a mailbox if a message with the same message-id (or resent-message-id) is recorded as having already been delivered to the mailbox. Records the mailbox and message-id/resent-message-id of all successful deliveries.

event_content_inclusion_mode: standard

The mode in which message content may be included with MessageAppend and MessageNew. âstandardâ mode is the default behavior in which message is included up to a size with the notification. In âmessageâ mode, the message is included and may be truncated to a size. In âheaderâ mode, it includes headers truncated to a size. In âbodyâ mode, it includes body truncated to a size. In âheaderbodyâ mode, it includes full headers and body truncated to a size Allowed values: standard, message, header, body, headerbody

event_content_size: 0

Truncate the message content that may be included with MessageAppend and MessageNew. Set 0 to include the entire message itself

event_exclude_flags: <none>

Donât send event notification for given IMAP flag(s)

event_exclude_specialuse: \Junk

Donât send event notification for folder with given special-use attributes. Set ALL for any folder

event_extra_params: timestamp

Space-separated list of extra parameters to add to any appropriated event.

Allowed values: bodyStructure, clientAddress, diskUsed, flagNames, messageContent, messageSize, messages, modseq, service, timestamp, uidnext, vnd.cmu.midset, vnd.cmu.unseenMessages, vnd.cmu.envelope, vnd.cmu.sessionId, vnd.cmu.mailboxACL, vnd.cmu.mbtype, vnd.cmu.davFilename, vnd.cmu.davUid, vnd.fastmail.clientId, vnd.fastmail.sessionId, vnd.fastmail.convExists, vnd.fastmail.convUnseen, vnd.fastmail.cid, vnd.fastmail.counters, vnd.fastmail.jmapEmail, vnd.fastmail.jmapStates, vnd.cmu.emailid, vnd.cmu.threadid

event_groups: message mailbox

Space-separated list of groups of related events to turn on notification

Allowed values: message, quota, flags, access, mailbox, subscription, calendar, applepushservice

event_notifier: <none>

Notifyd(8) method to use for âEVENTâ notifications which are based on the RFC 5423. If not set, âEVENTâ notifications are disabled.

expunge_mode: delayed

The mode in which messages (and their corresponding cache entries) are expunged. âsemidelayedâ mode is the old behavior in which the message files are purged at the time of the EXPUNGE, but index and cache records are retained to facilitate QRESYNC. In âdelayedâ mode, which is the default since Cyrus 2.5.0, the message files are also retained, allowing unexpunge to rescue them. I