/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.
Blank lines and lines beginning with ``#'' are ignored.
For boolean options, the values ``yes'', ``on'', ``t'', and ``1'' turn the
option on, the values ``no'', ``off'', ``f'', and ``0'' turn the option off.
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>''.
"configdirectory:
The pathname of the IMAP configuration directory. This field is required.
"defaultpartition:
The partition name used by default for new mailboxes.
"partition-name:
The pathname of the partition name. At least one field, for the
partition named in the defaultpartition option, is required.
For example, if the value of the defaultpartion option is
default, then the partition-default field is required.
"unixhierarchysep:
Use the UNIX separator character '/' for delimiting levels of mailbox
hierarchy. The default is to use the netnews separator character '.'.
"altnamespace:
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.
"userprefix:
If using the alternate IMAP namespace, the prefix for the other users
namespace. The hierarchy delimiter will be automatically appended.
"sharedprefix:
If using the alternate IMAP namespace, the prefix for the shared
namespace. The hierarchy delimiter will be automatically appended.
"umask:
The umask value used by various Cyrus IMAP programs.
"servername:
This is the hostname visible in the greeting messages of the POP, IMAP and LMTP
daemons. If it is unset, then the result returned from gethostname(2) is used.
"allowallsubscribe:
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 (eg. Microsoft Outlook).
"allowanonymouslogin:
Permit logins by the user "anonymous" using any password. Also allows
use of the SASL ANONYMOUS mechanism.
"allowplaintext:
Allow the use of cleartext passwords on the wire.
"allowapop:
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 (eg. sasldb), and that the system can provide enough entropy
(eg. from /dev/urandom) to create a challenge in the banner.
"quotawarn:
The percent of quota utilization over which the server generates
warnings.
"quotawarnkb:
The maximum amount of free space (in kB) in which to give a quota warning
(if this value is 0, or if the quota is smaller than this amount,
than warnings are always given).
"timeout:
The length of the IMAP server's inactivity autologout timer,
in minutes. The minimum value is 30, the default.
"imapidlepoll:
The interval (in seconds) for polling the mailbox for changes while
running the IDLE command. This option is used when idled can not be
contacted or when polling is used exclusively. The minimum value is
1. A value of 0 will disable polling (and disable IDLE if polling is
the only method available).
"imapidresponse:
If enabled, the server responds to an ID command with a parameter
list containing: version, vendor, support-url, os, os-version,
command, arguments, environment. Otherwise the server returns NIL.
"poptimeout:
Set the length of the POP server's inactivity autologout timer,
in minutes. The minimum value is 10, the default.
"popminpoll:
Set the minimum amount of time the server forces users to wait between
successive POP logins,
in minutes. The default is 0.
"popexpiretime:
The number of days advertised as being the minimum a message may be left on
the POP server before it is deleted (via the CAPA command, defined in the POP3
Extension Mechanism, which some clients may support). "NEVER", the default,
may be specified with a negative number. The Cyrus POP3 server never deletes
mail, no matter what the value of this parameter is. However, if a site
implements a less liberal policy, it needs to change this parameter
accordingly.
"admins:
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.
"imap_admins:
A list of users that have imap admin rights, in addition to those listed
in the admins: entry.
"lmtp_admins:
A list of users that have LMTP admin rights, in addition to those listed
in the admins: entry. Only lmtp admins can deliver to lmtpd through
TCP/IP sockets.
"mupdate_admins:
A list of users that have mupdate admin rights, in addition to those listed
in the admins: entry. Only mupdate admins can connect to the mupdate master.
"sieve_admins:
A list of users that have sieve admin rights, in addition to those listed
in the admins: entry.
"proxyservers:
A list of users and groups that are allowed to proxy for other users,
seperated by spaces. Any user listed in this will be allowed to login
for any other user: use with caution.
"imap_proxyservers
A list of users and groups that are allowed to proxy for other users for
imap, seperated by spaces. Any user listed in this will be allowed to login
in imapd or pop3d for any other user: use with caution.
"sieve_proxyservers
A list of users and groups that are allowed to proxy for other users for sieve,
seperated by spaces. Any user listed in this will be allowed to login in
timsieved for any other user: use with caution.
"defaultacl:
The Access Control List (ACL) placed on a newly-created (non-user)
mailbox that does not have a parent mailbox.
"newsspool:
The pathname of the news spool directory. Only used if the
partition-news configuration option is set.
"newsprefix:
Prefix to be prepended to newsgroup names to make the corresponding
IMAP mailbox names.
"autocreatequota:
If nonzero, normal users may create their own IMAP accounts by
creating the mailbox INBOX. The user's quota is set to the value if
it is positive, otherwise the user has unlimited quota.
"logtimestamps:
Include notations in the protocol telemetry logs indicating the number of
seconds since the last command or response.
"plaintextloginpause:
Number of seconds to pause after a successful plaintext login. For
systems that support strong authentication, this permits users to
perceive a cost of using plaintext passwords. (This does not effect
the use of PLAIN in SASL authentications.)
"srvtab:
The pathname of srvtab file containing the server's private
key. This option is passed to the SASL library and overrides its
default setting.
"loginrealms:
The list of remote realms whose users may log in using
cross-realm authentications. Seperate each realm name
by a space. (A cross-realm identity is considered any identity
returned by SASL with an "@" in it.)
"loginuseacl:
If enabled, any authentication identity which has a rights on a
user's INBOX may log in as that user.
"singleinstancestore:
If enabled, lmtpd attempts to only write one copy of a message per
partition and create hard links, resulting in a potentially large disk
savings.
"duplicatesuppression:
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.
"reject8bit:
If enabled, lmtpd rejects messages with 8-bit characters in the headers.
"munge8bit:
If enabled, lmtpd changes 8-bit characters in the headers to `X'
(A proper soultion to non-ASCII characters in headers is offered by
RFC 2047 and its predecessors. Disabling this option may cause problems
with the IMAP SEARCH feature).
"rfc2046_strict:
If enabled, imapd will be strict (per RFC 2046) when matching MIME
boundary strings. This means that boundaries containing other
boundaries as substrings will be treated as identical. Since enabling
this option will break some messages created by Eudora 5.1 (and
earlier), it is recommended that it be left disabled unless there is
good reason to do otherwise.
"maxmessagesize:
Maximum incoming LMTP message size. If set, lmtpd will
reject messages larger than maxmessagesize bytes. The default
is to allow messages of any size.
"lmtp_overquota_perm_failure:
If enabled, lmtpd returns a permanent failure code when a user's
mailbox is over quota. By default, the failure is temporary.
"lmtp_allowplaintext:
Allow the use of the SASL PLAIN mechanism for LMTP.
"lmtp_downcase_rcpt:
If enabled, lmtpd will convert the recipient address to lowercase (up to
a '+' character, if present).
"postuser:
Userid used to deliver messages to shared folders. For example, if
set to "bb", email sent to "bb+shared.blah" would be delivered to the
"shared.blah" folder. By default, an email address of "+shared.blah"
would be used.
"netscapeurl:
If enabled at compile time, this specifies a URL to reply when
Netscape asks the server where the mail administration HTTP server is.
Administrators should set this to a local resource with some
useful information for end users. If not set, no URL is advertised.
"mailnotifier:
Notifyd(8) method to use for "MAIL" notifications. If not set, "MAIL"
notifications are disabled.
"sievenotifier:
Notifyd(8) method to use for "SIEVE" notifications. If not set, "SIEVE"
notifications are disabled.
This method is only used when no method is specified in the script.
"sieveusehomedir:
If enabled, lmtpd will look for Sieve scripts in user's home
directories: ~user/.sieve.
"sievedir:
If sieveusehomedir is false, this directory is searched for Sieve
scripts.
"sendmail:
The pathname of the sendmail executable. Sieve uses sendmail for sending
rejections, redirects and vacation responses.
"postmaster:
Username that is used as the 'From' address in rejection MDNs produced
by sieve.
"hashimapspool:
If enabled, the partitions will also be hashed, in addition to the
hashing done on configuration directories. This is recommended if one
partition has a very bushy mailbox tree.
"sieve_maxscriptsize:
Maximum size (in kilobytes) any sieve script can be, enforced at
submission by timsieved(8) .
"sieve_maxscripts:
Maximum number of sieve scripts any user may have, enforced at
submission by timsieved(8) .
"sasl_maximum_layer:
Maximum SSF (security strength factor) that the server will allow a
client to negotiate.
"sasl_minimum_layer:
The minimum SSF that the server will allow a client to negotiate. A
value of 1 requires integrity protection; any higher value requires
some amount of encryption.
"sasl_pwcheck_method:
The mechanism used by the server to verify plaintext passwords.
Possible values also include "saslauthd" and "pwcheck".
"sasl_auto_transition:
If enabled, the SASL library will automatically create authentication
secrets when given a plaintext password. See the SASL documentation.
"sasl_option:"
Any other SASL option can be set by preceeding it with "sasl_". This
file overrides the SASL configuration file.
"tls_cert_file:
File containing the global certificate used for ALL services (imap,
pop3, lmtp, sieve).
"tls_key_file:
File containing the private key belonging to the global server
certificate.
"tls_require_cert:
Require a client certificate for ALL services (imap, pop3, lmtp, sieve).
"tls_imap_cert_file:
File containing the certificate used for imap ONLY. If not specified,
the global certificate is used. A value of "disabled" will disable
SSL/TLS for imap.
"tls_imap_key_file:
File containing the private key belonging to the imap-specific server
certificate. If not specified, the global private key is used. A
value of "disabled" will disable SSL/TLS for imap.
"tls_imap_require_cert:
Require a client certificate for imap ONLY.
"tls_pop3_cert_file:
File containing the certificate used for pop3 ONLY. If not specified,
the global certificate is used. A value of "disabled" will disable
SSL/TLS for pop3.
"tls_pop3_key_file:
File containing the private key belonging to the pop3-specific server
certificate. If not specified, the global private key is used. A
value of "disabled" will disable SSL/TLS for pop3.
"tls_pop3_require_cert:
Require a client certificate for pop3 ONLY.
"tls_lmtp_cert_file:
File containing the certificate used for lmtp ONLY. If not specified,
the global certificate is used. A value of "disabled" will disable
TLS for lmtp.
"tls_lmtp_key_file:
File containing the private key belonging to the lmtp-specific server
certificate. If not specified, the global private key is used. A
value of "disabled" will disable TLS for lmtp.
"tls_lmtp_require_cert:
Require a client certificate for lmtp ONLY.
"tls_sieve_cert_file:
File containing the certificate used for sieve ONLY. If not specified,
the global certificate is used. A value of "disabled" will disable
TLS for sieve.
"tls_sieve_key_file:
File containing the private key belonging to the sieve-specific server
certificate. If not specified, the global private key is used. A
value of "disabled" will disable TLS for sieve.
"tls_sieve_require_cert:
Require a client certificate for sieve ONLY.
"tls_ca_file:
File containing one or more Certificate Authority (CA) certificates.
"tls_ca_path:
Path to directory with certificates of CAs.
"tls_session_timeout:
The length of time (in minutes) that a TLS session will be cached for
later reuse. The maximum value is 1440 (24 hours), the default. A
value of 0 will disable session caching.
"tls_cipher_list:
The list of SSL/TLS ciphers to allow. The format of the string is
described in ciphers(1) .
"deleteright:
The right that a user needs to delete a mailbox.
"lmtpsocket:
Unix domain socket that lmtpd listens on, used by cyrdeliver(8) .
"idlesocket:
Unix domain socket that idled listens on.
"notifysocket:
Unix domain socket that the new mail notification daemon listens on.
"debug_command:
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 (without path). The second is the pid (integer) and the third
is the service ID. Example: /usr/local/bin/gdb /usr/cyrus/bin/%s %d
"proxyd_allow_status_referral:
Set to true to allow proxyd to issue referrals to clients that support it
when answering the STATUS command. This is disabled by default since
some clients issue many STATUS commands in a row, and do not cache the
connections that these referrals would cause, thus resulting in a higher
authentication load on the respective backend server.
"mupdate_server:
The mupdate server for the Cyrus Murder
"mupdate_port:
The port of the mupdate server for the Cyrus Murder
"mupdate_username:
The SASL username (Authorization Name) to use when authenticating to the mupdate server.
"mupdate_authname:
The SASL username (Authentication Name) to use when authenticating to the
mupdate server (if needed).
"mupdate_realm:
The SASL realm (if needed) to use when authenticating to the mupdate server.
"mupdate_password:
The SASL password (if needed) to use when authenticating to the mupdate server.
"mupdate_retry_delay:
The time to wait between connection retries to the mupdate server.
"dracinterval:
If nonzero, enables the use of DRAC (Dynamic Relay Authorization Control)
by the pop3d and imapd daemons. Also sets the interval (in minutes) between
re-authorization requests made by imapd.