1IMAPD.CONF(5)                     Cyrus IMAP                     IMAPD.CONF(5)
2
3
4

NAME

6       imapd.conf - Cyrus IMAP documentation
7
8       IMAP configuration file
9

DESCRIPTION

11          /etc/imapd.conf is the configuration file for the Cyrus IMAP server.
12          It defines local parameters for IMAP.
13
14          Each line of the /etc/imapd.conf file has the form
15                 option: value
16
17          where option is the name of the configuration option being  set  and
18          value is the value that the configuration option is being set to.
19
20          Although  there  is no limit to the length of a line, a ``\'' (back‐
21          slash) character may be used as the last  character  on  a  line  to
22          force  it  to continue on the next one.  No additional whitespace is
23          inserted before or after the ``\''.  Note that a line that is  split
24          using ``\'' character(s) is still considered a single line.
25
26          For example
27                 option:\
28                     value1 value2 \
29                        value3
30
31          is equivalent to
32                 option: value1 value2   value3
33
34          Blank lines and lines beginning with ``#'' are ignored.
35
36          For  boolean  and  enumerated  options,  the values ``yes'', ``on'',
37          ``t'', ``true'' and ``1'' turn the option  on,  the  values  ``no'',
38          ``off'', ``f'', ``false'' and ``0'' turn the option off.
39
40          Duration  options  take the form of a number followed by a unit, for
41          example 32m (32 minutes).  Units are d (days), h  (hours),  m  (min‐
42          utes)  and  s (seconds).  Multiple units can be combined and will be
43          summed together, for example 1h30m is equivalent to 90m.  If no unit
44          is specified, an option-specific backward-compatible default unit is
45          assumed (documented on an option-by-option basis).  These are simple
46          time  units:  1d=24h,  1h=60m,  1m=60s (daylight savings, timezones,
47          leap adjustments, etc are not considered).
48
49          Byte size options take the form of a number followed by a unit,  for
50          example  1KiB  (1  kibibyte).  Units are B (bytes), KiB (kibibytes),
51          MiB (mebibytes), and GiB (gibibytes), which may also  be  spelt  KB,
52          MB, and GB.  Units are parsed without regard to case.  Note that re‐
53          gardless of spelling, these units are always powers of 2, and  never
54          metric.   That is, 1GiB = 1024MiB, 1MiB = 1024KiB, 1KiB = 1024B.  If
55          no unit is specified, an option-specific backward-compatible default
56          unit is assumed (documented on an option-by-option basis).
57

FIELD DESCRIPTIONS

59          The  sections  below  detail  options  that  can  be  placed  in the
60          /etc/imapd.conf file, and show each option's  default  value.   Some
61          options  have  no  default  value,  these  are listed with ``<no de‐
62          fault>''.  Some options default  to  the  empty  string,  these  are
63          listed with ``<none>''.
64
65          acl_admin_implies_write: 0
66              If  enabled, any user with the admin ACL on a mailbox implicitly
67              gets the ability to write to that mailbox as well.
68
69          addressbookprefix: #addressbooks
70              The prefix for the addressbook mailboxes hierarchies.  The hier‐
71              archy  delimiter will be automatically appended.  The public ad‐
72              dressbook hierarchy will be at the toplevel of the shared  name‐
73              space.   A user's personal addressbook hierarchy will be a child
74              of their Inbox.
75
76          admins: <empty string>
77              The list of userids with administrative rights.   Separate  each
78              userid  with  a  space.  Sites using Kerberos authentication may
79              use separate "admin" instances.
80
81              Note that accounts used by users should not  be  administrators.
82              Administrative  accounts  should  not receive mail.  That is, if
83              user "jbRo" is a user reading mail, he should not also be in the
84              admins  line.   Some  problems may occur otherwise, most notably
85              the ability of administrators to create top-level mailboxes vis‐
86              ible to users, but not writable by users.
87
88          afspts_localrealms: <none>
89              The  list  of  realms which are to be treated as local, and thus
90              stripped during identifier canonicalization (for the AFSPTS  pt‐
91              loader  module).   This is different from loginrealms in that it
92              occurs later in the authorization process (as  the  user  id  is
93              canonified for PTS lookup)
94
95          afspts_mycell: <none>
96              Cell to use for AFS PTS lookups.  Defaults to the local cell.
97
98          allowallsubscribe: 0
99              Allow  subscription  to  nonexistent  mailboxes.  This option is
100              typically used on backend servers in a Murder so that users  can
101              subscribe to mailboxes that don't reside on their "home" server.
102              This option can also be used as a workaround  for  IMAP  clients
103              which don't play well with nonexistent or unselectable mailboxes
104              (e.g., Microsoft Outlook).
105
106          allowanonymouslogin: 0
107              Permit logins by the user "anonymous" using any password.   Also
108              allows use of the SASL ANONYMOUS mechanism.
109
110          allowapop: 1
111              Allow use of the POP3 APOP authentication command.
112
113              Note  that this command requires that SASL is compiled with APOP
114              support, that the plaintext passwords are available  in  a  SASL
115              auxprop  backend (e.g., sasldb), and that the system can provide
116              enough entropy (e.g., from /dev/urandom) to create  a  challenge
117              in the banner.
118
119          allowdeleted: 0
120              Allow  access  to deleted and expunged data via vendor.cmu-* ac‐
121              cess
122
123          allownewnews: 0
124              Allow use of the NNTP NEWNEWS command.
125
126              Note that this is a very expensive command and  should  only  be
127              enabled when absolutely necessary.
128
129          allowplaintext: 0
130              If enabled, allows the use of cleartext passwords on the wire.
131
132              By  default,  the  use of cleartext passwords requires a TLS/SSL
133              encryption layer to be negotiated prior to any cleartext authen‐
134              tication  mechanisms  being advertised or allowed.  To require a
135              TLS/SSL encryption layer to be negotiated prior to ANY authenti‐
136              cation, see the tls_required option.
137
138          allowsetacl: 1
139              Defaults  to enabled.  If disabled, disallows the use of the SE‐
140              TACL command at all via IMAP.
141
142          allowusermoves: 0
143              Allow moving user accounts (with associated meta-data)  via  RE‐
144              NAME or XFER.
145
146              Note  that  measures  should be taken to make sure that the user
147              being moved is not logged in, and cannot login during the  move.
148              Failure to do so may result in the user's meta-data (seen state,
149              subscriptions, etc) being corrupted or out of date.
150
151          altnamespace: 1
152              Use the alternate IMAP namespace, where personal folders  reside
153              at the same level in the hierarchy as INBOX.
154
155              This  option ONLY applies where interaction takes place with the
156              client/user.  Currently this is limited  to  the  IMAP  protocol
157              (imapd)  and  Sieve scripts (lmtpd).  This option does NOT apply
158              to admin tools such as cyradm (admins ONLY), reconstruct, quota,
159              etc.,  NOR  does it affect LMTP delivery of messages directly to
160              mailboxes via plus-addressing.  The default changed in 3.0  from
161              off to on.
162
163          altprefix: Alt Folders
164              Alternative  INBOX spellings that can't be accessed in altnames‐
165              pace otherwise go under here
166
167          annotation_db: twoskip
168              The cyrusdb backend to use for mailbox annotations.
169
170              Allowed values: skiplist, twoskip, zeroskip
171
172          annotation_db_path: <none>
173              The absolute path to the annotations db file.  If not specified,
174              will be configdirectory/annotations.db
175
176          anyoneuseracl: 1
177              Should  non-admin  users be allowed to set ACLs for the 'anyone'
178              user on their mailboxes?  In a large organization this can cause
179              support problems, but it's enabled by default.
180
181          annotation_allow_undefined: 0
182              Allow  clients to store values for entries which are not defined
183              either by Cyrus or in the annotations_definitions file.
184
185          annotation_definitions: <none>
186              File containing external (third-party) annotation definitions.
187
188              Each line of the file specifies the properties of an  annotation
189              and has the following form:
190                 name, scope, attrib-type, proxy-type, attrib-names, acl
191
192              name   is  the  hierarchical name as in RFC 5257 or RFC 5464 (in
193                     the latter case, without the  leading  /shared  or  /pri‐
194                     vate).  For example, /vendor/acme/blurdybloop.
195
196              scope  specifies  whether  the  annotation  is for the server, a
197                     mailbox, or a message.
198
199              attrib-type
200                        specifies the attribute data type, which is used  only
201                        to  check the string value passed by clients when set‐
202                        ting annotations.  The attrib-type is one of:
203
204                     string any value is accepted.
205
206                     content-type
207                            this obsolete data  type,  which  was  useful  for
208                            early  drafts  of  the  standard,  is accepted but
209                            silently translated to string.
210
211                     boolean
212                            only the strings "true" or "false"  are  accepted.
213                            Checking  is  case-insensitive  but  the  value is
214                            forced to lowercase.
215
216                     int    integers are accepted.
217
218                     uint   non-negative integers are accepted.
219
220              proxy-type
221                     specifies whether this attribute is for  the  backend  or
222                     proxy servers or both (proxy_and_backend)
223
224              attrib-names
225                     is  the  space-separated list of available attributes for
226                     the   annotation.   Possible    attribute    names    are
227                     value.shared,  value.priv,  and value (which permits both
228                     value.priv and value.shared).  The attribute names  size,
229                     size.shared,  and  size.priv  are  accepted  but ignored;
230                     these attributes are automatically provided by the server
231                     if  the corresponding value attribute is specified.  Some
232                     obsolete attributes, which were defined early  drafts  of
233                     the standard, are accepted and ignored with a warning.
234
235              extra-permissions
236                     is  the  extra  ACL  permission bits required for setting
237                     this annotation, in  standard  IMAP  ACL  permission  bit
238                     string format.  Note that this is in addition to the per‐
239                     mission bits specified in RFC 5257 and RFC 5464, so leav‐
240                     ing  this  field empty is harmless.  Note also that there
241                     is no way to specify that an annotation can only  be  set
242                     by an admin user; in particular the a permission bit does
243                     not achieve this.
244
245                     Blank lines and lines beginning with ``#'' are ignored.
246
247          annotation_callout: <none>
248              The pathname of a callout to be used to automatically add  anno‐
249              tations  or flags to a message when it is appended to a mailbox.
250              The path can be either an executable (including a script), or  a
251              UNIX domain socket.
252
253          annotation_callout_disable_append: 0
254              Disables annotations on append with xrunannotator
255
256          annotation_enable_legacy_commands: 0
257              Whether  to  enable  the legacy GETANNOTATION/SETANNOTATION com‐
258              mands.  These commands are deprecated and will be removed in the
259              future,  but  might be useful in the meantime for supporting old
260              clients that do not implement the RFC 5464 IMAP METADATA  exten‐
261              sion.
262
263          aps_topic: <none>
264              Topic for Apple Push Service registration.
265
266          aps_topic_caldav: <none>
267              Topic for Apple Push Service registration for CalDAV.
268
269          aps_topic_carddav: <none>
270              Topic for Apple Push Service registration for CardDAV.
271
272          archive_enabled: 0
273              Is  archiving enabled for this server.  You also need to have an
274              archivepartition for the mailbox.  Archiving allows older  email
275              to  be  stored  on  slower, cheaper disks - even within the same
276              mailbox, as distinct from partitions.
277
278          archive_days: <none>
279              Deprecated in favour of archive_after.
280
281          archive_after: 7d
282              The duration after which to move messages to the archive  parti‐
283              tion if archiving is enabled.
284
285              For backward compatibility, if no unit is specified, days is as‐
286              sumed.
287
288          archive_maxsize: 1024 K
289              The size of the largest message that won't be  archived  immedi‐
290              ately.
291
292              For  backward  compatibility, if no unit is specified, kibibytes
293              is assumed.
294
295          archive_keepflagged: 0
296              If  set,  messages  with  the  \Flagged  system  flag  won't  be
297              archived, provided they are smaller than archive_maxsize.
298
299          archivepartition-name: <none>
300              The  pathname  of  the  archive partition name, corresponding to
301              spool partition partition-name.  For any mailbox residing  in  a
302              directory  on  partition-name,  the  archived  messages  will be
303              stored in a corresponding  directory  on  archivepartition-name.
304              Note  that  not every partition-name option is strictly required
305              to have a corresponding archivepartition-name option,  but  that
306              without one there's no benefit to enabling archiving.
307
308          auditlog: 0
309              Should cyrus output log entries for every action taken on a mes‐
310              sage file or mailboxes list entry?  It's noisy  so  disabled  by
311              default,  but can be very useful for tracking down what happened
312              if things look strange
313
314          auth_mech: unix
315              The authorization mechanism to use.
316
317              Allowed values: unix, pts, krb, krb5
318
319          autocreateinboxfolders: <none>
320              Deprecated in favor of autocreate_inbox_folders.
321
322          autocreatequota: <none>
323              Deprecated in favor of autocreate_quota.
324
325          autocreatequotamsg: -1
326              Deprecated in favor of autocreate_quota_messages.
327
328          autosievefolders: <none>
329              Deprecated in favor of autocreate_sieve_folders.
330
331          generate_compiled_sieve_script: 0
332              Deprecated in favor of autocreate_sieve_script_compile.
333
334          autocreate_sieve_compiled_script: <none>
335              Deprecated in favor of autocreate_sieve_script_compiled.
336
337          autosubscribeinboxfolders: <none>
338              Deprecated in favor of autocreate_subscribe_folders.
339
340          autosubscribesharedfolders: <none>
341              Deprecated in favor of autocreate_subscribe_sharedfolders.
342
343          autosubscribe_all_sharedfolders: 0
344              Deprecated in favor of autocreate_subscribe_sharedfolders_all.
345
346          autocreate_acl: <none>
347              If folders are to be created by  autocreate_inbox_folders,  this
348              setting  can be used to apply additional ACLs to the autocreated
349              folders.   The  syntax  is  "autocreate_acl  folder   identifier
350              rights",  where  folder  must  match  one  of the autocreate_in‐
351              box_folders folders, identifier must be a  valid  cyrus  identi‐
352              fier,  and rights must be a valid cyrus rights string.  Multiple
353              identifier|rights pairs can be assigned to a  single  folder  by
354              providing this setting multiple times.
355
356              For example, "autocreate_acl Plus anyone p" would allow lmtp de‐
357              livery to a folder named "Plus".
358
359          autocreate_inbox_folders: <none>
360              If a user does not have an INBOX already, and the INBOX is to be
361              created,  create  the  list  of folders in this setting as well.
362              autocreate_inbox_folders is a list of INBOX's  subfolders  sepa‐
363              rated by a "|", that are automatically created by the server un‐
364              der the following two scenarios. Leading and trailing whitespace
365              is  stripped,  so  "Junk | Trash" results in two folders: "Junk"
366              and "Trash".  See also the xlist-flag option, for  setting  spe‐
367              cial-use flags on autocreated folders.
368
369              INBOX folders are created under both the following conditions:
370
371              1. The  user logins via the IMAP or the POP3 protocol.  autocre‐
372                 ate_quota option must have a value of zero or greater.
373
374              2. A message arrives for the user  through  the  lmtpd(8).   au‐
375                 tocreate_post option must be enabled.
376
377          autocreate_post: 0
378              If enabled, when lmtpd(8) receives an incoming mail for an INBOX
379              that does not exist, then the INBOX is automatically created  by
380              lmtpd(8) and delivery of the message continues.
381
382          autocreate_quota: -1
383              If  set  to  a  value  of zero or higher, users have their INBOX
384              folders created upon a successful login event or  upon  lmtpd(8)
385              message  delivery  if autocreate_post is enabled, provided their
386              INBOX did not yet already exist.
387
388              The user's quota is set to the value if it is greater than zero,
389              otherwise the user has unlimited quota.
390
391              Note that quota has kibibyte granularity.  Values specified here
392              will be truncated to the nearest whole kibibyte.
393
394              For backward compatibility, if no unit is  specified,  kibibytes
395              is assumed.
396
397          autocreate_quota_messages: -1
398              If  set to a value of zero or higher, users who have their INBOX
399              folders created upon a  successful  login  event  (see  autocre‐
400              ate_quota), or upon lmtpd(8) message delivery if autocreate_post
401              is enabled, receive the message quota configured in this option.
402
403              The default of -1 disables assigning message quota.
404
405              For consistency  with  autocreate_quota,  a  value  of  zero  is
406              treated  as unlimited message quota, rather than a message quota
407              of zero.
408
409          autocreate_sieve_folders: <none>
410              A "|" separated list of subfolders of INBOX that will  be  auto‐
411              matically  created,  if requested by a sieve filter, through the
412              "fileinto" action. The default is to create no folders automati‐
413              cally.
414
415              Leading and trailing whitespace is stripped from each folder, so
416              a setting of "Junk | Trash" will create two folders: "Junk"  and
417              "Trash".
418
419          autocreate_sieve_script: <none>
420              The  full  path  of  a  file  that contains a sieve script. This
421              script automatically becomes a user's initial default sieve fil‐
422              ter script.
423
424              When this option is not defined, no default sieve filter is cre‐
425              ated.  The file must be readable by the Cyrus daemon.
426
427          autocreate_sieve_script_compile: 0
428              If set to yes and no compiled  sieve  script  file  exists,  the
429              sieve  script  which is compiled on the fly will be saved in the
430              file name that autocreate_sieve_compiledscript option points to.
431              In   order   a   compiled   script  to  be  generated,  autocre‐
432              ate_sieve_script and autocreate_sieve_compiledscript  must  have
433              valid values
434
435          autocreate_sieve_script_compiled: <none>
436              The  full  path  of  a file that contains a compiled in bytecode
437              sieve script. This script automatically becomes a user's initial
438              default  sieve  filter script.  If this option is not specified,
439              or the filename doesn't exist then the  script  defined  by  au‐
440              tocreate_sieve_script  is  compiled  on the fly and installed as
441              the user's default sieve script
442
443          autocreate_subscribe_folders: <none>
444              A list of folder names, separated by "|", that the users get au‐
445              tomatically  subscribed  to,  when their INBOX is created. These
446              folder names must have been included in the autocreateinboxfold‐
447              ers option of the imapd.conf.
448
449          autocreate_subscribe_sharedfolders: <none>
450              A  list  of  shared folders (bulletin boards), separated by "|",
451              that the users get automatically subscribed to, after their  IN‐
452              BOX is created. The shared folder must have been created and the
453              user must have the required permissions to get subscribed to it.
454              Otherwise, subscribing to the shared folder fails.
455
456          autocreate_subscribe_sharedfolders_all: 0
457              If  set  to  yes,  the  user  is automatically subscribed to all
458              shared folders, one has permission to subscribe to.
459
460          autocreate_users: anyone
461              A space separated list of users and/or groups that  are  allowed
462              their INBOX to be automatically created.
463
464          autoexpunge: 0
465              If  set  to yes, then all Deleted messages will be automatically
466              expunged whenever an index is closed, whether  CLOSE,  UNSELECT,
467              SELECT or on disconnect
468
469          backuppartition-name: <none>
470              The  pathname of the backup partition name.  At least one backup
471              partition pathname MUST be specified  if  backups  are  in  use.
472              Note  that there is no relationship between spool partitions and
473              backup partitions.
474
475          backup_compact_minsize: 0
476              The minimum size of chunks in each  backup.   The  compact  tool
477              will try to combine adjacent chunks that are smaller than this.
478
479              Setting  this  value  to  zero or negative disables combining of
480              chunks.
481
482              For backward compatibility, if no unit is  specified,  kibibytes
483              is assumed.
484
485          backup_compact_maxsize: 0
486              The  maximum  size  of  chunks in each backup.  The compact tool
487              will try to split chunks larger than this into smaller chunks.
488
489              Setting this value to zero or  negative  disables  splitting  of
490              chunks.
491
492              For  backward  compatibility, if no unit is specified, kibibytes
493              is assumed.
494
495          backup_compact_work_threshold: 1
496              The number of chunks that must obviously need compaction  before
497              the  compact  tool will go ahead with the compaction.  If set to
498              less than one, the value is treated as being one.
499
500          backup_staging_path: <none>
501              The absolute path of the backup staging area.  If not specified,
502              will be temp_path/backup
503
504          backup_retention_days: <none>
505              Deprecated in favor of backup_retention.
506
507          backup_retention: 7d
508              How  long  to  keep  content in backup after it has been deleted
509              from the source.  If set to a negative value  or  zero,  deleted
510              content will be kept indefinitely.
511
512              For backward compatibility, if no unit is specified, days is as‐
513              sumed.
514
515          backup_db: twoskip
516              The cyrusdb backend to use for the backup locations database.
517
518              Allowed values: skiplist, sql, twoskip, zeroskip
519
520          backup_db_path: <none>
521              The absolute path to the backup db file.  If not specified, will
522              be configdirectory/backups.db
523
524          backup_keep_previous: 0
525              Whether the ctl_backups compact and ctl_backups reindex commands
526              should preserve the original file.  The original  file  will  be
527              named  with a timestamped suffix.  This is mostly useful for de‐
528              bugging.
529
530              Note that with this enabled, compacting a backup  will  actually
531              increase the disk used by it (because there will now be an extra
532              copy: the original version, and the compacted version).
533
534          boundary_limit: 1000
535              messages are parsed recursively and a deep enough MIME structure
536              can  cause a stack overflow.  Do not parse deeper than this many
537              layers of MIME structure.  The default of 1000  is  much  higher
538              than any sane message should have.
539
540          caldav_accept_invalid_rrules: 0
541              Accept  invalid  RRULEs  (e.g. FREQ=WEEKLY;BYMONTHDAY=15) rather
542              than rejecting them as errors.
543
544          caldav_allowattach: 1
545              Enable managed attachments support on the CalDAV server.
546
547          caldav_allowcalendaradmin: 0
548              Enable per-user calendar administration web  UI  on  the  CalDAV
549              server.
550
551          caldav_allowscheduling: on
552              Enable  calendar  scheduling  operations. If set to "apple", the
553              server will emulate Apple CalendarServer behavior as closely  as
554              possible.  Allowed values: off, on, apple
555
556          caldav_create_attach: 1
557              Create the 'Attachments' collection if it doesn't already exist
558
559          caldav_create_default: 1
560              Create the 'Default' calendar if it doesn't already exist
561
562          caldav_create_sched: 1
563              Create  the 'Inbox' and 'Outbox' calendars if they don't already
564              exist
565
566          caldav_historical_age: 7d
567              How long after an occurrence of event or task has concluded that
568              it  is  considered  'historical'.   Changes to historical occur‐
569              rences of events or tasks WILL NOT have invite or reply messages
570              sent for them.  A negative value means that events and tasks are
571              NEVER considered historical.
572
573              For backward compatibility, if no unit is specified, days is as‐
574              sumed.
575
576          caldav_maxdatetime: 20380119T031407Z
577              The  latest  date  and time accepted by the server (ISO format).
578              This value is also used for expanding non-terminating recurrence
579              rules.
580
581              Note  that  increasing this value will require the DAV databases
582              for calendars to be reconstructed with the dav_reconstruct util‐
583              ity in order to see its effect on serer-side time-based queries.
584
585          caldav_mindatetime: 19011213T204552Z
586              The earliest date and time accepted by the server (ISO format).
587
588          caldav_realm: <none>
589              The  realm  to  present  for  HTTP  authentication of CalDAV re‐
590              sources.  If not set (the default), the value  of  the  "server‐
591              name" option will be used.
592
593          calendarprefix: #calendars
594              The  prefix for the calendar mailboxes hierarchies.  The hierar‐
595              chy delimiter will be automatically appended.  The public calen‐
596              dar  hierarchy  will be at the toplevel of the shared namespace.
597              A user's personal calendar hierarchy will be a  child  of  their
598              Inbox.
599
600          calendar_default_displayname: personal
601              The displayname to be used when creating a user's 'Default' cal‐
602              endar.
603
604          calendar_user_address_set: <none>
605              Space-separated list of domains corresponding to  calendar  user
606              addresses  for which the server is responsible.  If not set (the
607              default), the value of the "servername" option will be used.
608
609          calendar_component_set: VEVENT VTODO VJOURNAL VFREEBUSY  VAVAILABIL‐
610          ITY VPOLL
611              Space-separated  list of iCalendar component types that calendar
612              object resources may contain in a calendar collection.  This re‐
613              striction  is only set at calendar creation time and only if the
614              CalDAV client hasn't specified a restriction in the creation re‐
615              quest.   Allowed  values:  VEVENT,  VTODO,  VJOURNAL, VFREEBUSY,
616              VAVAILABILITY, VPOLL
617
618          calendar_minimum_alarm_interval: 5m
619              The minimum allowed interval  between  alarms  for  a  recurring
620              event.   Primarily used to suppress alarms for MINUTELY and SEC‐
621              ONDLY recurrences.  The default is 5 minutes.  The minimum value
622              is 0, which will allow all alarms.
623
624          carddav_allowaddmember: 0
625              Enable support for POST add-member on the CardDAV server.
626
627          carddav_allowaddressbookadmin: 0
628              Enable per-user addressbook administration web UI on the CardDAV
629              server.
630
631          carddav_realm: <none>
632              The realm to present for  HTTP  authentication  of  CardDAV  re‐
633              sources.   If  not  set (the default), the value of the "server‐
634              name" option will be used.
635
636          carddav_repair_vcard: 0
637              If enabled, VCARDs with invalid content are attempted to be  re‐
638              paired during creation.
639
640          chatty: 0
641              If  yes,  syslog tags and commands for every IMAP command, mail‐
642              boxes for every lmtp connection, every POP3 command, etc
643
644          client_bind: 0
645              If enabled, a specific IP will be bound when performing a client
646              connection.   client_bind_name  is  used if it is set, otherwise
647              servername is used.  This is useful on multi-homed servers where
648              Cyrus should not use other services' interfaces.
649
650              If not enabled (the default), no bind will be performed.  Client
651              connections will use an IP chosen by the operating system.
652
653          client_bind_name: <none>
654              IPv4, IPv6 address or hostname to bind  for  client  connections
655              when  client_bind is enabled.  If not set (the default), server‐
656              name will be used.
657
658          client_timeout: 10s
659              Time to wait before returning a timeout failure when  performing
660              a client connection (e.g. in a murder environment).
661
662              For  backward compatibility, if no unit is specified, seconds is
663              assumed.
664
665          commandmintimer: <none>
666              Time in floating point seconds.  Any  imap  command  that  takes
667              longer than this time is logged.
668
669          configdirectory: <none>
670              The pathname of the IMAP configuration directory.  This field is
671              required.
672
673          createonpost: 0
674              Deprecated in favor of autocreate_post.
675
676          conversations: 0
677              Enable  the  XCONVERSATIONS  extensions.   Extract  conversation
678              tracking  information  from  incoming messages and track them in
679              per-user databases.
680
681          conversations_counted_flags: <none>
682              space-separated list of flags for which per-conversation  counts
683              will  be  kept.  Note that you need to reconstruct the conversa‐
684              tions database with ctl_conversationsdb if you change  this  op‐
685              tion on a running server, or the counts will be wrong.
686
687          conversations_db: skiplist
688              The  cyrusdb backend to use for the per-user conversations data‐
689              base.
690
691              Allowed values: skiplist, sql, twoskip, zeroskip
692
693          conversations_expire_days: <none>
694              Deprecated in favor of conversations_expire_after.
695
696          conversations_expire_after: 90d
697              How long the conversations database keeps the  message  tracking
698              information  needed  for receiving new messages in existing con‐
699              versations.
700
701              For backward compatibility, if no unit is specified, days is as‐
702              sumed.
703
704          conversations_keep_existing: 1
705              during  conversations cleanup, don't clean up if there are still
706              existing emails with one of the mentioned CIDs
707
708          conversations_max_thread: 100
709              maximum size for a single thread.  Threads will  split  if  they
710              have this many messages in them and another message arrives
711
712          conversations_max_guidrecords: 5000
713              maximum records with the same guid.  This is just a sanity check
714              to stop the same email being added and removed over and over, so
715              the default is 5000
716
717          conversations_max_guidexists: 100
718              maximum  records  with the same guid.  This maps to "labels", so
719              with the default of 100, you can only  have  100  labels  on  an
720              email in JMAP
721
722          conversations_max_guidinfolder: 10
723              maximum records with the same guid in the same folder. You can't
724              do this via JMAP, but could via IMAP.  The default of 10  should
725              be heaps normally!
726
727          crossdomains: 0
728              Enable cross domain sharing.  This works best with alt namespace
729              and  unix  hierarchy   separators   on,   so   you   get   Other
730              Users/foo@example.com/...
731
732          crossdomains_onlyother: 0
733              only  show  the  domain for users in other domains than your own
734              (for backwards compatibility if you're already sharing
735
736          cyrus_group: <none>
737              The name of the group Cyrus services will run as.  If  not  con‐
738              figured,  the  primary  group of cyrus_user will be used. Can be
739              further overridden by setting the $CYRUS_GROUP environment vari‐
740              able.
741
742          cyrus_user: <none>
743              The username to use as the 'cyrus' user.  If not configured, the
744              compile time default will be used. Can be further overridden  by
745              setting the $CYRUS_USER environment variable.
746
747          davdriveprefix: #drive
748              The prefix for the DAV storage mailboxes hierarchies.  The hier‐
749              archy delimiter will  be  automatically  appended.   The  public
750              storage  hierarchy  will  be at the toplevel of the shared name‐
751              space.  A user's personal storage hierarchy will be a  child  of
752              their Inbox.
753
754          davnotificationsprefix: #notifications
755              The  prefix  for the DAV notifications hierarchy.  The hierarchy
756              delimiter will be automatically appended.  The public  notifica‐
757              tions hierarchy will be at the toplevel of the shared namespace.
758              A user's personal notifications hierarchy will  be  a  child  of
759              their Inbox.
760
761          dav_realm: <none>
762              The  realm to present for HTTP authentication of generic DAV re‐
763              sources (principals).  If not set (the default),  the  value  of
764              the "servername" option will be used.
765
766          dav_lock_timeout: 20s
767              The  maximum  time  to wait for a write lock on the per-user DAV
768              database before timeout. For HTTP requests, the HTTP status code
769              503  is  returned  if  the  lock can not be obtained within this
770              time.
771
772              For backward compatibility, if no unit is specified, seconds  is
773              assumed.
774
775          debug: 0
776              If enabled, allow syslog() to pass LOG_DEBUG messages.
777
778          debug_command: <none>
779              Debug  command  to  be used by processes started with -D option.
780              The string is a C format string that gets 3 options:  the  first
781              is the name of the executable (as specified in the cmd parameter
782              in cyrus.conf). The second is the pid (integer) and the third is
783              the  service  ID.  Example: /usr/local/bin/gdb /usr/cyrus/bin/%s
784              %d
785
786          debug_log_sync_partition_choice: 0
787              If enabled, replication will log which partition  it  chose  for
788              staging.   This  is  mainly  useful  for  regression testing the
789              sync_client -a switch.
790
791          debug_writefail_guid: <none>
792              If set, any arriving message with this guid will fail as if  the
793              underlying  disk  write had failed, pretending to be a disk full
794              condition.  This is mainly useful for regression testing certain
795              edge  case handling.  Currently only implemented for replication
796              uploads.
797
798          defaultacl: anyone lrs
799              The  Access  Control  List  (ACL)  placed  on  a   newly-created
800              (non-user) mailbox that does not have a parent mailbox.
801
802          defaultdomain: internal
803              The default domain for virtual domain support
804
805          defaultpartition: <none>
806              The  partition  name  used by default for new mailboxes.  If not
807              specified, the partition with the most free space will  be  used
808              for new mailboxes.
809
810              Note  that  the  partition specified by this option must also be
811              specified as partition-name, where you substitute 'name' for the
812              alphanumeric string you set defaultpartition to.
813
814          defaultsearchtier: <empty string>
815              Name  of  the  default  tier  that  messages will be indexed to.
816              Search indexes can be organized in tiers to allow index  storage
817              in different directories and physical media. See the man page of
818              squatter for details. The default search tier also requires  the
819              definition of an according searchtierpartition-name entry.
820
821              This option MUST be specified for xapian search.
822
823          defaultserver: <none>
824              The  backend  server name used by default for new mailboxes.  If
825              not specified, the server with the most free space will be  used
826              for new mailboxes.
827
828          deletedprefix: DELETED
829              With  delete_mode  set to delayed, the deletedprefix setting de‐
830              fines the prefix for the hierarchy of deleted mailboxes.
831
832              The hierarchy delimiter will be automatically appended.
833
834          delete_mode: delayed
835              The manner in which mailboxes are deleted. In  the  default  de‐
836              layed  mode,  mailboxes  that are being deleted are renamed to a
837              special mailbox hierarchy under the deletedprefix, to be removed
838              later by cyr_expire(8).
839
840              In  immediate  mode,  the mailbox is removed from the filesystem
841              immediately.
842
843              Allowed values: immediate, delayed
844
845          delete_unsubscribe: 0
846              Whether  to  also  unsubscribe  from  mailboxes  when  they  are
847              deleted.   Note that this behaviour contravenes RFC 3501 section
848              6.3.9, but may be useful for avoiding user/client software  con‐
849              fusion.  The default is 'no'.
850
851          deleteright: c
852              Deprecated - only used for backwards compatibility with existing
853              installations.  Lists the old RFC 2086 right which was  used  to
854              grant  the  user the ability to delete a mailbox.  If a user has
855              this right, they will automatically be given the new 'x' right.
856
857          disable_user_namespace: 0
858              Preclude list command on user namespace.  If set to  'yes',  the
859              LIST  response will never include any other user's mailbox.  Ad‐
860              min users will always see all mailboxes.  The default is 'no'
861
862          disable_shared_namespace: 0
863              Preclude list command on shared namespace.  If set to 'yes', the
864              LIST  response will never include any non-user mailboxes.  Admin
865              users will always see all mailboxes.  The default is 'no'
866
867          disconnect_on_vanished_mailbox: 0
868              If enabled, IMAP/POP3/NNTP clients will be disconnected  by  the
869              server if the currently selected mailbox is (re)moved by another
870              session.  Otherwise, the missing mailbox  is  treated  as  empty
871              while in use by the client.
872
873          ischedule_dkim_domain: <none>
874              The domain to be reported as doing iSchedule DKIM signing.
875
876          ischedule_dkim_key_file: <none>
877              File containing the private key for iSchedule DKIM signing.
878
879          ischedule_dkim_required: 1
880              A DKIM signature is required on received iSchedule requests.
881
882          ischedule_dkim_selector: <none>
883              Name  of  the  selector  subdividing the domain namespace.  This
884              specifies the actual key used for iSchedule DKIM signing  within
885              the domain.
886
887          duplicate_db: twoskip
888              The  cyrusdb  backend to use for the duplicate delivery suppres‐
889              sion and sieve.  Allowed values:  skiplist,  sql,  twoskip,  ze‐
890              roskip
891
892          duplicate_db_path: <none>
893              The  absolute  path to the duplicate db file.  If not specified,
894              will be configdirectory/deliver.db
895
896          duplicatesuppression: 1
897              If enabled, lmtpd will suppress delivery of a message to a mail‐
898              box if a message with the same message-id (or resent-message-id)
899              is recorded as having already been  delivered  to  the  mailbox.
900              Records the mailbox and message-id/resent-message-id of all suc‐
901              cessful deliveries.
902
903          event_content_inclusion_mode: standard
904              The mode in which message content  may  be  included  with  Mes‐
905              sageAppend and MessageNew. "standard" mode is the default behav‐
906              ior in which message is included up to a size with the notifica‐
907              tion.  In  "message"  mode,  the  message is included and may be
908              truncated to a size. In "header" mode, it includes headers trun‐
909              cated to a size. In "body" mode, it includes body truncated to a
910              size. In "headerbody" mode, it includes full  headers  and  body
911              truncated  to  a size Allowed values: standard, message, header,
912              body, headerbody
913
914          event_content_size: 0
915              Truncate the message content that  may  be  included  with  Mes‐
916              sageAppend  and  MessageNew. Set 0 to include the entire message
917              itself.
918
919              If no unit is specified, bytes is assumed.
920
921          event_exclude_flags: <none>
922              Don't send event notification for given IMAP flag(s)
923
924          event_exclude_specialuse: \Junk
925              Don't send event notification for folder with given  special-use
926              attributes.  Set ALL for any folder
927
928          event_extra_params: timestamp
929              Space-separated list of extra parameters to add to any appropri‐
930              ated event.
931
932              Allowed   values:   bodyStructure,   clientAddress,    diskUsed,
933              flagNames,  messageContent,  messageSize, messages, modseq, ser‐
934              vice,  timestamp,  uidnext,  vnd.cmu.midset,  vnd.cmu.unseenMes‐
935              sages,  vnd.cmu.envelope, vnd.cmu.sessionId, vnd.cmu.mailboxACL,
936              vnd.cmu.mbtype, vnd.cmu.davFilename,  vnd.cmu.davUid,  vnd.fast‐
937              mail.clientId,  vnd.fastmail.sessionId, vnd.fastmail.convExists,
938              vnd.fastmail.convUnseen,  vnd.fastmail.cid,   vnd.fastmail.coun‐
939              ters,      vnd.fastmail.jmapEmail,      vnd.fastmail.jmapStates,
940              vnd.cmu.emailid, vnd.cmu.threadid
941
942          event_groups: message mailbox
943              Space-separated list of groups of related events to turn on  no‐
944              tification
945
946              Allowed  values:  message,  quota,  flags, access, mailbox, sub‐
947              scription, calendar, applepushservice, jmap
948
949          event_notifier: <none>
950              Notifyd(8) method to use for  "EVENT"  notifications  which  are
951              based  on  the  RFC 5423.  If not set, "EVENT" notifications are
952              disabled.
953
954          expunge_mode: delayed
955              The mode in which messages (and their  corresponding  cache  en‐
956              tries)  are expunged.  "semidelayed" mode is the old behavior in
957              which the message files are purged at the time of  the  EXPUNGE,
958              but  index and cache records are retained to facilitate QRESYNC.
959              In "delayed" mode, which is the default since Cyrus  2.5.0,  the
960              message  files  are  also retained, allowing unexpunge to rescue
961              them.  In "immediate" mode, both the message files and the index
962              records  are removed as soon as possible.  In all cases, nothing
963              will be finally purged until all other processes have closed the
964              mailbox  to ensure they never see data disappear under them.  In
965              "semidelayed" or "delayed" mode, a  later  run  of  "cyr_expire"
966              will  clean  out  the  retained  records  (and  possibly message
967              files).  This reduces the amount of I/O that takes place at  the
968              time  of EXPUNGE and should result in greater responsiveness for
969              the client, especially when expunging a  large  number  of  mes‐
970              sages.  Allowed values: immediate, semidelayed, delayed
971
972          failedloginpause: 3s
973              Time to pause after a failed login.
974
975              For  backward compatibility, if no unit is specified, seconds is
976              assumed.
977
978          flushseenstate: 1
979              Deprecated. No longer used
980
981          foolstupidclients: 0
982              If enabled, only list the personal namespace when a LIST "*"  is
983              performed (it changes the request to a LIST "INBOX*").
984
985          force_sasl_client_mech: <none>
986              Force preference of a given SASL mechanism for client side oper‐
987              ations (e.g., murder environments).  This is separate from  (and
988              overridden by) the ability to use the <host shortname>_mechs op‐
989              tion to set preferred mechanisms for a specific host
990
991          fulldirhash: 0
992              If enabled, uses an  improved  directory  hashing  scheme  which
993              hashes  on  the  entire username instead of using just the first
994              letter as the hash.  This changes hash algorithm used for  quota
995              and user directories and if hashimapspool is enabled, the entire
996              mail spool.
997
998              Note that this option CANNOT be changed on a live  system.   The
999              server  must be quiesced and then the directories moved with the
1000              rehash utility.
1001
1002          hashimapspool: 0
1003              If enabled, the partitions will also be hashed, in  addition  to
1004              the  hashing  done on configuration directories.  This is recom‐
1005              mended if one partition has a very bushy mailbox tree.
1006
1007          hostname_mechs: <none>
1008              Force a particular list of SASL mechanisms to be used  when  au‐
1009              thenticating  to  the backend server hostname (where hostname is
1010              the short hostname of the server in  question).  If  it  is  not
1011              specified  it will query the server for available mechanisms and
1012              pick one to use. - Cyrus Murder
1013
1014          hostname_password: <none>
1015              The password to use for authentication  to  the  backend  server
1016              hostname  (where hostname is the short hostname of the server) -
1017              Cyrus Murder
1018
1019          httpallowcompress: 1
1020              If enabled, the server will compress response  payloads  if  the
1021              client  indicates  that  it can accept them.  Note that the com‐
1022              pressed data will appear in telemetry logs, leaving only the re‐
1023              sponse headers as human-readable.
1024
1025          httpallowcors: <none>
1026              A  wildmat  pattern  specifying  a  list of origin URIs ( scheme
1027              "://" host [ ":" port ] ) that are allowed to make  Cross-Origin
1028              Resource  Sharing  (CORS)  requests  on the server.  By default,
1029              CORS requests are disabled.
1030
1031              Note that the scheme and host should both be lowercase, the port
1032              should  be  omitted  if using the default for the scheme (80 for
1033              http, 443 for https), and there should be no trailing '/' (e.g.:
1034              "http://www.example.com:8080", "https://example.org").
1035
1036          httpallowtrace: 0
1037              Allow use of the TRACE method.
1038
1039              Note that sensitive data might be disclosed by the response.
1040
1041          httpallowedurls: <none>
1042              Space-separated  list  of relative URLs (paths) rooted at "http‐
1043              docroot" (see below) to be served by httpd.  If set, this option
1044              will  limit  served static content to only those paths specified
1045              (returning "404 Not Found" to any other client requested  URLs).
1046              Otherwise, httpd will serve any content found in "httpdocroot".
1047
1048              Note  that  any  path specified by "rss_feedlist_template" is an
1049              exception to this rule.
1050
1051          httpcontentmd5: 0
1052              If enabled, HTTP responses will include a Content-MD5 header for
1053              the  purpose  of providing an end-to-end message integrity check
1054              (MIC) of the payload body.  Note that enabling this option  will
1055              use  additional CPU to generate the MD5 digest, which may be ig‐
1056              nored by clients anyways.
1057
1058          httpdocroot: <none>
1059              If set, http will serve the static  content  (html/text/jpeg/gif
1060              files, etc) rooted at this directory.  Otherwise, httpd will not
1061              serve any static content.
1062
1063          httpkeepalive: 20s
1064              Set the length of the HTTP server's  keepalive  heartbeat.   The
1065              default  is 20 seconds.  The minimum value is 0, which will dis‐
1066              able the keepalive heartbeat.  When enabled, if a request  takes
1067              longer  than  httpkeepalive to process, the server will send the
1068              client provisional responses every httpkeepalive until the final
1069              response can be sent.
1070
1071              For  backward compatibility, if no unit is specified, seconds is
1072              assumed.
1073
1074          httplogheaders: <none>
1075              Space-separated list of HTTP header fields that will be included
1076              in the requests logged by httpd(8).
1077
1078          httpmodules: <empty string>
1079              Space-separated  list  of  HTTP  modules that will be enabled in
1080              httpd(8).  This option has no effect on modules  that  are  dis‐
1081              abled  at  compile  time due to missing dependencies (e.g. libi‐
1082              cal).
1083
1084              Note that "domainkey" depends on "ischedule" being enabled,  and
1085              that  both  "freebusy"  and "ischedule" depend on "caldav" being
1086              enabled.  Allowed  values:  admin,  caldav,  carddav,  cgi,  do‐
1087              mainkey,  freebusy,  ischedule,  jmap,  prometheus, rss, tzdist,
1088              webdav
1089
1090          httpprettytelemetry: 0
1091              If enabled, HTTP response  payloads  including  server-generated
1092              markup languages (HTML, XML) will utilize line breaks and inden‐
1093              tation to promote better human-readability  in  telemetry  logs.
1094              Note  that enabling this option will increase the amount of data
1095              sent across the wire.
1096
1097          httppts_uri: <none>
1098              The URL endpoint to use when for querying group  membership,  in
1099              URI  Template (level 1) format [RFC 6570].  The URL MUST contain
1100              a variable called "groupId"
1101
1102          httptimeout: 5m
1103              Set the length of the HTTP server's inactivity autologout timer.
1104              The  default  is  5 minutes.  The minimum value is 0, which will
1105              disable persistent connections.
1106
1107              For backwards compatibility, if no unit is specified, minutes is
1108              assumed.
1109
1110          http_h2_altsvc: <none>
1111              If  set, HTTP/2 (over TLS) will be advertised as being available
1112              on the specified [host]:port.
1113
1114          http_jwt_key_dir: <none>
1115              The absolute path to a directory  containing  one  or  more  key
1116              files  to  authenticate JSON Web Tokens (RFC 7519) for HTTP con‐
1117              nections.  Keys for the following JWS algorithms are  supported:
1118              "HS256", "HS384", "HS512", "RS256", "RS384", "RS512".
1119
1120              A  key  file consists of one or more keys encoded in PEM format.
1121              RSA keys must be embedded between the lines  "-----BEGIN  PUBLIC
1122              KEY-----"  and  "-----END PUBLIC KEY-----" HMAC digest keys must
1123              be embedded between the lines  "-----BEGIN  HMAC  KEY-----"  and
1124              "-----END  HMAC  KEY-----", encoded in base64.  Any lines before
1125              or after a PEM key definition are ignored, empty lines  are  ig‐
1126              nored anywhere in the file.
1127
1128              The JSON Web Token must be the value of the HTTP "Authorization"
1129              header, using the "Bearer" authentication scheme. The JWS Header
1130              must  include  the  "alg" and "typ" parameter. A header with any
1131              other parameter is rejected.  The JWS Payload must  include  the
1132              "sub"  claim with the Cyrus user identifier as value. It may in‐
1133              clude the "iat" claim (see http_jwt_max_age).   A  payload  with
1134              any other claim is rejected.
1135
1136          http_jwt_max_age: 0s
1137              Defines  the  timespan  in  which a JSON Web Token is valid (see
1138              http_jwt_key). The value must be zero or positive.
1139
1140              If non-zero, the timespan starts at the point in time  specified
1141              in  the  "iat" claim of the JWS Payload and ends after the dura‐
1142              tion of this option value has passed. Tokens  without  an  "iat"
1143              claim,  or with an issue date in the future, are rejected. There
1144              is no leeway for clock skew.
1145
1146              The zero value disables validation of the "iat" JWS claim.
1147
1148          icalendar_max_size: 0
1149              Maximum allowed iCalendar size.  CalDAV  and  JMAP  will  reject
1150              storage  of  resources  whose iCalendar representation is larger
1151              than this.
1152
1153              If set to 0 (the default), a large internally-defined limit will
1154              be applied.
1155
1156              If no unit is specified, bytes is assumed.
1157
1158          idlesocket: {configdirectory}/socket/idle
1159              Unix domain socket that idled listens on.
1160
1161          ignorereference: 0
1162              For backwards compatibility with Cyrus 1.5.10 and earlier -- ig‐
1163              nore the reference argument in LIST or LSUB commands.
1164
1165          imapidlepoll: 60s
1166              The interval for polling for mailbox changes  and  ALERTs  while
1167              running the IDLE command.  This option is used when idled is not
1168              enabled or cannot be contacted.  The minimum value is 1  second.
1169              A value of 0 will disable IDLE.
1170
1171              For  backward compatibility, if no unit is specified, seconds is
1172              assumed.
1173
1174          imapidresponse: 1
1175              If enabled, the server responds to an ID command with a  parame‐
1176              ter  list  containing: version, vendor, support-url, os, os-ver‐
1177              sion, command, arguments, environment.  Otherwise the server re‐
1178              turns NIL.
1179
1180          imapmagicplus: 0
1181              Only  list  a  restricted  set  of  mailboxes  via IMAP by using
1182              userid+namespace syntax as the authentication/authorization  id.
1183              Using  userid+  (with  an  empty  namespace) will list only sub‐
1184              scribed mailboxes.
1185
1186          imipnotifier: <none>
1187              Notifyd(8) method to use  for  "IMIP"  notifications  which  are
1188              based  on  the  RFC  6047.  If not set, "IMIP" notifications are
1189              disabled.
1190
1191          implicit_owner_rights: lkxan
1192              The implicit Access Control List (ACL) for the owner of a  mail‐
1193              box.
1194
1195          @include: <none>
1196              Directive  which includes the specified file as part of the con‐
1197              figuration.  If the path to the file is not absolute, CYRUS_PATH
1198              is prepended.
1199
1200          improved_mboxlist_sort: 0
1201              If  enabled,  a  special comparator will be used which will cor‐
1202              rectly sort mailbox names that contain characters such  as  '  '
1203              and '-'.
1204
1205              Note  that  this  option SHOULD NOT be changed on a live system.
1206              The mailboxes database should be  dumped  (ctl_mboxlist)  before
1207              the option is changed, removed, and then undumped after changing
1208              the option.  When not using flat  files  for  the  subscriptions
1209              databases  the  same  has  to be done (cyr_dbtool) for each sub‐
1210              scription database See improved_mboxlist_sort.html.
1211
1212          jmap_emailsearch_db_path: <none>
1213              The absolute path to the JMAP email search cache file.   If  not
1214              specified,  JMAP  Email/query  and  Email/queryChanges  will not
1215              cache email search results.
1216
1217          jmap_querycache_max_age: 0m
1218              The duration after which unused cached JMAP query  results  must
1219              be  evicted  from process memory. If non-zero, then the full re‐
1220              sult of the last query (before windowing) is  stored  in-memory.
1221              Subsequent  queries with the same expression and query state can
1222              then page through the cached  result.   A  zero  value  disables
1223              query result caching.
1224
1225              If no unit is specified, minutes is assumed.
1226
1227              This feature currently only is enabled for Email/query.
1228
1229          jmap_preview_annot: <none>
1230              The name of the per-message annotation, if any, to store message
1231              previews.
1232
1233          jmap_imagesize_annot: <none>
1234              The name of the per-message annotation, if any,  that  stores  a
1235              JSON object, mapping message part numbers of MIME image types to
1236              an array of their image dimensions. The array must have at least
1237              two  entries,  where  the  first entry denotes the width and the
1238              second entry the height of the image. Any additional values  are
1239              ignored.
1240
1241              For  example, if message part 1.2 contains an image of width 300
1242              and height 200, then the value of this annotation would be:
1243
1244              { "1.2" : [ 300, 200 ] }
1245
1246          jmap_inlinedcids_annot: <none>
1247              The name of the per-message annotation, if any,  that  stores  a
1248              JSON  object,  mapping  RFC  2392 Content-IDs referenced in HTML
1249              bodies to the respective HTML body part number.
1250
1251              For example, if message part 1.2 contains HTML and references an
1252              inlined  image  at  "cid:foo", then the value of this annotation
1253              would be:
1254
1255              { "<foo>" : "1.2" }
1256
1257              Note that the Content-ID key must be URL-unescaped and  enclosed
1258              in angular brackets, as defined in RFC 2392.
1259
1260          jmap_preview_length: 64B
1261              The  maximum  length  of dynamically generated message previews.
1262              Previews stored in jmap_preview_annot take precedence.
1263
1264              If no unit is specified, bytes is assumed.
1265
1266          jmap_max_catenate_items: 100
1267              The maximum number of items that can be catenated together by  a
1268              JMAP Blob/set action.  Returned as the maxCatenateItems property
1269              value of the JMAP "urn:ietf:params:jmap:blob"  capabilities  ob‐
1270              ject.  Default value is 100.
1271
1272          jmap_max_size_upload: 1G
1273              The maximum size that the JMAP API accepts for blob uploads. Re‐
1274              turned as the  maxSizeUpload  property  value  of  the  JMAP  "‐
1275              urn:ietf:params:jmap:core" capabilities object.
1276
1277              For  backward  compatibility, if no unit is specified, kibibytes
1278              is assumed.
1279
1280          jmap_max_size_blob_set: 4M
1281              The maximum size that the JMAP API  accepts  for  Blob/set.  Re‐
1282              turned  as  the  maxSizeBlobSet  property  value  of the JMAP "‐
1283              https://cyrusimap.org/ns/jmap/blob" capabilities object.
1284
1285              For backward compatibility, if no unit is  specified,  kibibytes
1286              is assumed.
1287
1288          jmap_max_concurrent_upload: 5
1289              The  value to return for the maxConcurrentUpload property of the
1290              JMAP "urn:ietf:params:jmap:core" capabilities object. The  Cyrus
1291              JMAP implementation does not enforce this rate-limit.
1292
1293          jmap_max_size_request: 10M
1294              The  maximum  size that the JMAP API accepts for requests at the
1295              API endpoint.  Returned as the maxSizeRequest property value  of
1296              the JMAP "urn:ietf:params:jmap:core" capabilities object.
1297
1298              For  backward  compatibility, if no unit is specified, kibibytes
1299              is assumed.
1300
1301          jmap_max_concurrent_requests: 5
1302              The value to return for the  maxConcurrentRequests  property  of
1303              the  JMAP  "urn:ietf:params:jmap:core"  capabilities object. The
1304              Cyrus JMAP implementation does not enforce this rate-limit.
1305
1306          jmap_max_calls_in_request: 50
1307              The maximum number of calls per JMAP request  object.   Returned
1308              as   the   maxCallsInRequest  property  value  of  the  JMAP  "‐
1309              urn:ietf:params:jmap:core" capabilities object.
1310
1311          jmap_max_delayed_send: 512d
1312              The value to return for the maxDelayedSend property of the  JMAP
1313              "urn:ietf:params:jmap:emailsubmission" capabilities object.  The
1314              Cyrus JMAP implementation does not enforce this limit.
1315
1316              For backward compatibility, if no unit is specified, seconds  is
1317              assumed.
1318
1319          jmap_max_objects_in_get: 4096
1320              The  maximum  number  of ids that a JMAP client may request in a
1321              single "/get" type method call. The actual  number  of  returned
1322              objects  in  the response may exceed this number if the JMAP ob‐
1323              ject type supports unbounded  "/get"  calls.   Returned  as  the
1324              maxObjectsInGet     property    value    of    the    JMAP    "‐
1325              urn:ietf:params:jmap:core" capabilities object.
1326
1327          jmap_max_objects_in_set: 4096
1328              The maximum number of objects a JMAP client may send to  create,
1329              update  or  destroy in a single /set type method call.  Returned
1330              as  the  maxObjectsInSet  property  value   of   the   JMAP   "‐
1331              urn:ietf:params:jmap:core" capabilities object.
1332
1333          jmap_mail_max_size_attachments_per_email: 10M
1334              The  value to return for the maxSizeAttachmentsPerEmail property
1335              of the JMAP "urn:ietf:params:jmap:mail" capabilities object. The
1336              Cyrus JMAP implementation does not enforce this size limit.
1337
1338              For  backward  compatibility, if no unit is specified, kibibytes
1339              is assumed.
1340
1341          jmap_nonstandard_extensions: 0
1342              If enabled, support non-standard JMAP extensions.   If  not  en‐
1343              abled, only IETF standard JMAP functionality is supported.
1344
1345          jmap_pushpoll: 60s
1346              The  interval  for polling for changes on an EventSource connec‐
1347              tion or when push has been ennabled on a WebSocket channel.  The
1348              minimum value is 1 second. A value of 0 will disable push.
1349
1350              If no unit is specified, seconds is assumed.
1351
1352          jmap_set_has_attachment: 1
1353              If  enabled,  the  $hasAttachment flag is determined and set for
1354              new messages created with the  JMAP  Email/set  or  Email/import
1355              methods.  This option should typically be enabled, but installa‐
1356              tions using Cyrus-external message annatotors to  determine  the
1357              $hasAttachment flag might want to disable it.
1358
1359          jmap_vacation: 1
1360              If enabled, support the JMAP vacation extension
1361
1362          jmapuploadfolder: #jmap
1363              the name of the folder for JMAP uploads (#jmap)
1364
1365          jmapsubmission_deleteonsend: 1
1366              If enabled (the default) then delete the EmailSubmission as soon
1367              as the email * has been sent
1368
1369          jmapsubmissionfolder: #jmapsubmission
1370              the name of the folder for JMAP Submissions (#jmapsubmission)
1371
1372          jmappushsubscriptionfolder: #jmappushsubscription
1373              the name of the folder for JMAP Push  Subscriptions  (#jmappush‐
1374              subscription)
1375
1376          jmapnotificationfolder: #jmapnotification
1377              the  name  of  the folder for JMAP notifications (#jmapnotifica‐
1378              tion)
1379
1380          iolog: 0
1381              Should cyrus output I/O log entries
1382
1383          ldap_authz: <none>
1384              SASL authorization ID for the LDAP server
1385
1386          ldap_base: <empty string>
1387              Contains the LDAP base dn for the LDAP ptloader module
1388
1389          ldap_bind_dn: <none>
1390              Bind DN for the connection to the LDAP server (simple bind).  Do
1391              not use for anonymous simple binds
1392
1393          ldap_deref: never
1394              Specify how aliases dereferencing is handled during search.
1395
1396              Allowed values: search, find, always, never
1397
1398          ldap_domain_base_dn: <empty string>
1399              Base DN to search for domain name spaces.
1400
1401          ldap_domain_filter:  (&(objectclass=domainrelatedobject)(associated‐
1402          domain=%s))
1403              Filter to use searching for domains
1404
1405          ldap_domain_name_attribute: associateddomain
1406              The attribute name for domains.
1407
1408          ldap_domain_scope: sub
1409              Search scope
1410
1411              Allowed values: sub, one, base
1412
1413          ldap_domain_result_attribute: inetdomainbasedn
1414              Result attribute
1415
1416          ldap_filter: (uid=%u)
1417              Specify a filter that searches user identifiers.  The  following
1418              tokens can be used in the filter string:
1419
1420              %%    =  % %u   = user %U   = user portion of %u (%U = test when
1421              %u = test@domain.tld) %d   = domain portion of %u  if  available
1422              (%d  =  domain.tld when %u = test@domain.tld), otherwise same as
1423              %R %R   = domain portion of %u starting with @ (%R = @domain.tld
1424              when  %u = test@domain.tld) %D   = user dn.  (use when ldap_mem‐
1425              ber_method: filter) %1-9 = domain tokens (%1 = tld, %2 =  domain
1426              when %d = domain.tld)
1427
1428              ldap_filter is not used when ldap_sasl is enabled.
1429
1430          ldap_group_base: <empty string>
1431              LDAP base dn for ldap_group_filter.
1432
1433          ldap_group_filter: (cn=%u)
1434              Specify  a  filter  that  searches  for  group identifiers.  See
1435              ldap_filter for more options.
1436
1437          ldap_group_scope: sub
1438              Specify search scope for ldap_group_filter.
1439
1440              Allowed values: sub, one, base
1441
1442          ldap_id: <none>
1443              SASL authentication ID for the LDAP server
1444
1445          ldap_mech: <none>
1446              SASL mechanism for LDAP authentication
1447
1448          ldap_user_attribute: <none>
1449              Specify LDAP attribute to use as canonical user id
1450
1451          ldap_member_attribute: <none>
1452              See ldap_member_method.
1453
1454          ldap_member_base: <empty string>
1455              LDAP base dn for ldap_member_filter.
1456
1457          ldap_member_filter: (member=%D)
1458              Specify  a  filter  for   "ldap_member_method:   filter".    See
1459              ldap_filter for more options.
1460
1461          ldap_member_method: attribute
1462              Specify a group method.  The "attribute" method retrieves groups
1463              from a multi-valued attribute  specified  in  ldap_member_attri‐
1464              bute.
1465
1466              The "filter" method uses a filter, specified by ldap_member_fil‐
1467              ter, to find groups; ldap_member_attribute is a single-value at‐
1468              tribute group name.  Allowed values: attribute, filter
1469
1470          ldap_member_scope: sub
1471              Specify search scope for ldap_member_filter.
1472
1473              Allowed values: sub, one, base
1474
1475          ldap_password: <none>
1476              Password  for the connection to the LDAP server (SASL and simple
1477              bind).  Do not use for anonymous simple binds
1478
1479          ldap_realm: <none>
1480              SASL realm for LDAP authentication
1481
1482          ldap_referrals: 0
1483              Specify whether or not the client should follow referrals.
1484
1485          ldap_restart: 1
1486              Specify whether or not LDAP  I/O  operations  are  automatically
1487              restarted if they abort prematurely.
1488
1489          ldap_sasl: 1
1490              Use SASL for LDAP binds in the LDAP PTS module.
1491
1492          ldap_sasl_authc: <none>
1493              Deprecated.  Use ldap_id
1494
1495          ldap_sasl_authz: <none>
1496              Deprecated.  Use ldap_authz
1497
1498          ldap_sasl_mech: <none>
1499              Deprecated.  Use ldap_mech
1500
1501          ldap_sasl_password: <none>
1502              Deprecated.  User ldap_password
1503
1504          ldap_sasl_realm: <none>
1505              Deprecated.  Use ldap_realm
1506
1507          ldap_scope: sub
1508              Specify search scope.
1509
1510              Allowed values: sub, one, base
1511
1512          ldap_servers: ldap://localhost/
1513              Deprecated.  Use ldap_uri
1514
1515          ldap_size_limit: 1
1516              Specify a number of entries for a search request to return.
1517
1518          ldap_start_tls: 0
1519              Use  transport layer security for ldap:// using STARTTLS. Do not
1520              use ldaps:// in 'ldap_uri' with this option enabled.
1521
1522          ldap_time_limit: 5s
1523              How long to wait for a search request to complete.
1524
1525              For backward compatibility, if no unit is specified, seconds  is
1526              assumed.
1527
1528          ldap_timeout: 5s
1529              How long a search can take before timing out.
1530
1531              For  backward compatibility, if no unit is specified, seconds is
1532              assumed.
1533
1534          ldap_ca_dir: <none>
1535              Path to a directory with  CA  (Certificate  Authority)  certifi‐
1536              cates.
1537
1538          ldap_ca_file: <none>
1539              Path  to  a  file containing CA (Certificate Authority) certifi‐
1540              cate(s).
1541
1542          ldap_ciphers: <none>
1543              List of SSL/TLS ciphers to allow.  The format of the  string  is
1544              described in ciphers(1).
1545
1546          ldap_client_cert: <none>
1547              File containing the client certificate.
1548
1549          ldap_client_key: <none>
1550              File containing the private client key.
1551
1552          ldap_verify_peer: 0
1553              Require  and  verify server certificate.  If this option is yes,
1554              you must specify ldap_ca_file or ldap_ca_dir.
1555
1556          ldap_tls_cacert_dir: <none>
1557              Deprecated in favor of ldap_ca_dir.
1558
1559          ldap_tls_cacert_file: <none>
1560              Deprecated in favor of ldap_ca_file.
1561
1562          ldap_tls_cert: <none>
1563              Deprecated in favor of ldap_client_cert.
1564
1565          ldap_tls_key: <none>
1566              Deprecated in favor of ldap_client_key.
1567
1568          ldap_tls_check_peer: 0
1569              Deprecated in favor of ldap_verify_peer.
1570
1571          ldap_tls_ciphers: <none>
1572              Deprecated in favor of ldap_ciphers.
1573
1574          ldap_uri: <none>
1575              Contains a list of the URLs of all the LDAP servers  when  using
1576              the LDAP PTS module.
1577
1578          ldap_version: 3
1579              Specify  the  LDAP  protocol  version.  If ldap_start_tls and/or
1580              ldap_use_sasl are enabled, ldap_version  will  be  automatically
1581              set to 3.
1582
1583          literalminus: 0
1584              if  enabled,  CAPABILITIES  will reply with LITERAL- rather than
1585              LITERAL+ (RFC 7888).   Doesn't  actually  size-restrict  uploads
1586              though
1587
1588          lmtp_downcase_rcpt: 1
1589              If enabled, lmtpd will convert the recipient addresses to lower‐
1590              case (up to a '+' character, if present).
1591
1592          lmtp_exclude_specialuse: \Snoozed
1593              Don't allow delivery  to  folders  with  given  special-use  at‐
1594              tributes.
1595
1596              Note  that  "snoozing"  of emails can currently only be done via
1597              the JMAP protocol, so delivery directly to the  Snoozed  mailbox
1598              is prohibited by default as it will not be moved back into INBOX
1599              automatically.
1600
1601          lmtp_fuzzy_mailbox_match: 0
1602              If enabled, and the mailbox specified in the detail part of  the
1603              recipient  (everything after the '+') does not exist, lmtpd will
1604              try to find the closest match (ignoring  case,  ignoring  white‐
1605              space, falling back to parent) to the specified mailbox name.
1606
1607          lmtp_over_quota_perm_failure: 0
1608              If enabled, lmtpd returns a permanent failure code when a user's
1609              mailbox is over quota.  By default, the  failure  is  temporary,
1610              causing the MTA to queue the message and retry later.
1611
1612          lmtp_preparse: 0
1613              If  enabled,  lmtpd  will  map in the email and parse the xapian
1614              data for jmapsearch.  The advantage is that the parsing is  done
1615              without holding any locks.  The disadvantage is that the parsing
1616              is done even if it winds up not being needed.
1617
1618          lmtp_strict_quota: 0
1619              If enabled, lmtpd returns a failure code when the incoming  mes‐
1620              sage  will cause the user's mailbox to exceed its quota.  By de‐
1621              fault, the failure won't occur until the mailbox is already over
1622              quota.
1623
1624          lmtp_strict_rfc2821: 1
1625              By  default, lmtpd will be strict (per RFC 2821) with regards to
1626              which envelope addresses are allowed.  If this option is set  to
1627              false,  8bit  characters in the local-part of envelope addresses
1628              are changed to 'X' instead.  This is useful to avoid  generating
1629              backscatter  with certain MTAs like Postfix or Exim which accept
1630              such messages.
1631
1632          lmtpsocket: {configdirectory}/socket/lmtp
1633              Unix domain socket that lmtpd listens on,  used  by  deliver(8).
1634              This should match the path specified in cyrus.conf(5).
1635
1636          lmtptxn_timeout: 5m
1637              Timeout used during a lmtp transaction to a remote backend (e.g.
1638              in a murder environment).  Can be used to prevent hung lmtpds on
1639              proxy  hosts when a backend server becomes unresponsive during a
1640              lmtp transaction.  The default is 5 minutes - change to zero for
1641              infinite.
1642
1643              For  backward compatibility, if no unit is specified, seconds is
1644              assumed.
1645
1646          lock_debugtime: <none>
1647              A floating point number of seconds.  If set, time  how  long  we
1648              wait  for  any  lock,  and  syslog the filename and time if it's
1649              longer than this value.  The default of NULL means not  to  time
1650              locks.
1651
1652          loginrealms: <empty string>
1653              The  list  of  remote  realms whose users may authenticate using
1654              cross-realm authentication  identifiers.   Separate  each  realm
1655              name  by  a  space.   (A  cross-realm identity is considered any
1656              identity returned by SASL with an "@" in it.).
1657
1658          loginuseacl: 0
1659              If enabled, any authentication identity which has a rights on  a
1660              user's INBOX may log in as that user.
1661
1662          logtimestamps: 0
1663              Include  notations in the protocol telemetry logs indicating the
1664              number of seconds since the last command or response.
1665
1666          mailbox_default_options: 0
1667              Default "options" field for the mailbox on create.  You'll  want
1668              to  know what you're doing before setting this, but it can apply
1669              some default annotations like duplicate suppression
1670
1671          mailbox_initial_flags: <none>
1672              space-separated list of permanent flags which will be pre-set in
1673              every  newly created mailbox.  If you know you will require par‐
1674              ticular flag names then this avoids a  possible  race  condition
1675              against a client that fills the entire 128 available slots.  De‐
1676              fault is NULL, which is no flags.  Example: $Label1 $Label2 $La‐
1677              bel3 NotSpam Spam
1678
1679          mailbox_legacy_dirs: 0
1680              if  enabled,  new mailboxes without parents will be created with
1681              legacy paths.  sub mailboxes of users  will  still  inherit  the
1682              parent legacy setting
1683
1684          mailbox_maxmessages_addressbook: 0
1685              Limit  the number of messages that may exist in a single mailbox
1686              of "addressbook" type. Default (0) means no limit.   This  limit
1687              applies after quotas are checked, so if you have both quota lim‐
1688              its and this set, then you will be denied if you are either over
1689              quota or over this per-mailbox count.
1690
1691          mailbox_maxmessages_calendar: 0
1692              Limit  the number of messages that may exist in a single mailbox
1693              of "calendar" type. Default (0) means no limit.  This limit  ap‐
1694              plies after quotas are checked, so if you have both quota limits
1695              and this set, then you will be denied if  you  are  either  over
1696              quota or over this per-mailbox count.
1697
1698          mailbox_maxmessages_email: 0
1699              Limit  the number of messages that may exist in a single mailbox
1700              of "email" (normal) type. Default  (0)  means  no  limit.   This
1701              limit  applies  after  quotas  are  checked, so if you have both
1702              quota limits and this set, then you will be denied  if  you  are
1703              either over quota or over this per-mailbox count.
1704
1705          mailnotifier: <none>
1706              Notifyd(8)  method to use for "MAIL" notifications.  If not set,
1707              "MAIL" notifications are disabled.
1708
1709          master_bind_errors_fatal: 0
1710              If enabled, failure to bind a port during startup is treated  as
1711              a fatal error, causing master to shut down immediately.  The de‐
1712              fault is to keep running, with the affected service disabled un‐
1713              til the next SIGHUP causes it to retry.
1714
1715              Note  that  this only applies during startup.  New services that
1716              fail to come up in response to a reconfig+SIGHUP  will  just  be
1717              logged  and disabled like the default behaviour, without causing
1718              master to exit.
1719
1720          maxheaderlines: 1000
1721              Maximum number of lines of header that will  be  processed  into
1722              cache  records.  Default 1000.  If set to zero, it is unlimited.
1723              If a message hits the limit, an error will  be  logged  and  the
1724              rest  of  the  lines  in the header will be skipped.  This is to
1725              avoid malformed messages causing giant cache records
1726
1727          maxlogins_per_host: 0
1728              Maximum number of logged in  sessions  allowed  per  host,  zero
1729              means no limit
1730
1731          maxlogins_per_user: 0
1732              Maximum  number  of  logged  in  sessions allowed per user, zero
1733              means no limit
1734
1735          maxmessagesize: 0
1736              Maximum size of messages that will be accepted by  Cyrus.   This
1737              affects  LMTP  deliveries, IMAP appends, DAV uploads, etc.  Mes‐
1738              sages larger than this will be rejected.
1739
1740              If set to 0 (the default), a large internally-defined limit will
1741              be applied.
1742
1743              If no unit is specified, bytes is assumed.
1744
1745          maxquoted: 128K
1746              Maximum size of a single quoted string for the parser.
1747
1748              If no unit is specified, bytes is assumed.
1749
1750          maxword: 128K
1751              Maximum size of a single word for the parser.
1752
1753              If no unit is specified, bytes is assumed.
1754
1755          mboxkey_db: twoskip
1756              The cyrusdb backend to use for mailbox keys.
1757
1758              Allowed values: skiplist, twoskip, zeroskip
1759
1760          mboxlist_db: twoskip
1761              The cyrusdb backend to use for the mailbox list.
1762
1763              Allowed values: flat, skiplist, sql, twoskip, zeroskip
1764
1765          mboxlist_db_path: <none>
1766              The  absolute  path  to the mailboxes db file.  If not specified
1767              will be configdirectory/mailboxes.db
1768
1769          mboxname_lockpath: <none>
1770              Path to mailbox name lock files (default $conf/lock)
1771
1772          metapartition_files: <empty string>
1773              Space-separated list of metadata files to be stored on  a  meta‐
1774              partition rather than in the mailbox directory on a spool parti‐
1775              tion.  Allowed values: header, index, cache, expunge, squat, an‐
1776              notations, lock, dav, archivecache
1777
1778          metapartition-name: <none>
1779              The  pathname  of  the metadata partition name, corresponding to
1780              spool partition partition-name.  For any mailbox residing  in  a
1781              directory  on partition-name, the metadata files listed in meta‐
1782              partition_files will be stored in a corresponding  directory  on
1783              metapartition-name.    Note that not every partition-name option
1784              is required to have a corresponding  metapartition-name  option,
1785              so  that  you can selectively choose which spool partitions will
1786              have separate metadata partitions.
1787
1788          mupdate_authname: <none>
1789              The SASL username (Authentication Name) to use when authenticat‐
1790              ing to the mupdate server (if needed).
1791
1792          mupdate_config: standard
1793              The  configuration  of  the mupdate servers in the Cyrus Murder.
1794              The "standard" config is one in which there are discreet  front‐
1795              end (proxy) and backend servers.  The "unified" config is one in
1796              which a server can be both a frontend and backend.  The  "repli‐
1797              cated" config is one in which multiple backend servers all share
1798              the same mailspool, but each have their own "replicated" copy of
1799              mailboxes.db.  Allowed values: standard, unified, replicated
1800
1801          munge8bit: 1
1802              If  enabled,  lmtpd munges messages with 8-bit characters in the
1803              headers.  The 8-bit characters  are  changed  to  `X'.   If  re‐
1804              ject8bit is enabled, setting munge8bit has no effect.  (A proper
1805              solution to non-ASCII characters in headers is  offered  by  RFC
1806              2047 and its predecessors.)
1807
1808          mupdate_connections_max: 128
1809              The max number of connections that a mupdate process will allow,
1810              this is related to the number of file descriptors in the mupdate
1811              process.  Beyond this number connections will be immediately is‐
1812              sued a BYE response.
1813
1814          mupdate_password: <none>
1815              The SASL password (if needed) to use when authenticating to  the
1816              mupdate server.
1817
1818          mupdate_port: 3905
1819              The port of the mupdate server for the Cyrus Murder
1820
1821          mupdate_realm: <none>
1822              The  SASL  realm  (if  needed) to use when authenticating to the
1823              mupdate server.
1824
1825          mupdate_retry_delay: 20
1826              The base time to wait between connection retries to the  mupdate
1827              server.
1828
1829          mupdate_server: <none>
1830              The mupdate server for the Cyrus Murder
1831
1832          mupdate_username: <empty string>
1833              The  SASL username (Authorization Name) to use when authenticat‐
1834              ing to the mupdate server
1835
1836          mupdate_workers_max: 50
1837              The maximum number of mupdate worker threads (overall)
1838
1839          mupdate_workers_maxspare: 10
1840              The maximum number of idle mupdate worker threads
1841
1842          mupdate_workers_minspare: 2
1843              The minimum number of idle mupdate worker threads
1844
1845          mupdate_workers_start: 5
1846              The number of mupdate worker threads to start
1847
1848          netscapeurl: <none>
1849              If enabled at compile time, this specifies a URL to  reply  when
1850              Netscape  asks  the  server  where  the mail administration HTTP
1851              server is.  Administrators should set this to a local resource.
1852
1853          newsaddheaders: to
1854              Space-separated list of headers to be added to  incoming  usenet
1855              articles.   Added  To:  headers  will contain email delivery ad‐
1856              dresses corresponding  to  each  newsgroup  in  the  Newsgroups:
1857              header.  Added Reply-To: headers will contain email delivery ad‐
1858              dresses corresponding to each newsgroup in the  Followup-To:  or
1859              Newsgroups: header.  If the specified header(s) already exist in
1860              an article, the email delivery addresses will be appended to the
1861              original header body(s).
1862
1863              This  option  applies  if and only if the newspostuser option is
1864              set.  Allowed values: to, replyto
1865
1866          newsgroups: *
1867              A wildmat pattern specifying which mailbox hierarchies should be
1868              treated as newsgroups.  Only mailboxes matching the wildmat will
1869              accept and/or serve articles via NNTP.  If not  set,  a  default
1870              wildmat  of  "*"  (ALL  shared  mailboxes) will be used.  If the
1871              newsprefix option is also  set,  the  default  wildmat  will  be
1872              translated to "<newsprefix>.*"
1873
1874          newsmaster: news
1875              Userid  that is used for checking access controls when executing
1876              Usenet control messages.  For instance, to allow articles to  be
1877              automatically  deleted  by cancel messages, give the "news" user
1878              the 'd' right on the desired mailboxes.  To allow newsgroups  to
1879              be automatically created, deleted and renamed by the correspond‐
1880              ing control messages, give the "news" user the 'c' right on  the
1881              desired mailbox hierarchies.
1882
1883          newspeer: <none>
1884              A  list  of  whitespace-separated  news server specifications to
1885              which articles should be fed.  Each server  specification  is  a
1886              string  of  the  form  [user[:pass]@]host[:port][/wildmat] where
1887              'host' is the fully qualified hostname of the server, 'port'  is
1888              the port on which the server is listening, 'user' and 'pass' are
1889              the authentication credentials and 'wildmat' is a  pattern  that
1890              specifies  which  groups  should be fed.  If no 'port' is speci‐
1891              fied, port 119 is used.   If  no  'wildmat'  is  specified,  all
1892              groups  are  fed.   If 'user' is specified (even if empty), then
1893              the NNTP POST command will be used to feed the  article  to  the
1894              server, otherwise the IHAVE command will be used.
1895
1896              A  '@'  may  be  used  in place of '!' in the wildmat to prevent
1897              feeding articles cross-posted  to  the  given  group,  otherwise
1898              cross-posted  articles  are  fed  if  any  part  of  the wildmat
1899              matches.   For  example,  the  string  "peer.example.com:*,!con‐
1900              trol.*,@local.*"  would  feed all groups except control messages
1901              and  local  groups  to  peer.example.com.   In   the   case   of
1902              cross-posting to local groups, these articles would not be fed.
1903
1904          newspostuser: <none>
1905              Userid  used  to  deliver  usenet  articles to newsgroup folders
1906              (usually via lmtp2nntp).  For example, if set to  "post",  email
1907              sent   to   "post+comp.mail.imap"  would  be  delivered  to  the
1908              "comp.mail.imap" folder.
1909
1910              When set, the Cyrus NNTP server will add the header(s) specified
1911              in  the  newsaddheaders  option to each incoming usenet article.
1912              The added header(s) will contain email delivery addresses corre‐
1913              sponding to each relevant newsgroup.  If not set, no headers are
1914              added to usenet articles.
1915
1916          newsprefix: <none>
1917              Prefix to be prepended to newsgroup names  to  make  the  corre‐
1918              sponding IMAP mailbox names.
1919
1920          newsrc_db_path: <none>
1921              The absolute path to the newsrc db file.  If not specified, will
1922              be configdirectory/fetchnews.db
1923
1924          nntptimeout: 3m
1925              Set the length of the NNTP server's inactivity autologout timer.
1926              The minimum value is 3 minutes, also the default.
1927
1928              For  backward compatibility, if no unit is specified, minutes is
1929              assumed.
1930
1931          notesmailbox: <none>
1932              The top level mailbox in each user's account which  is  used  to
1933              store * Apple-style Notes.  Default is blank (disabled)
1934
1935          notifysocket: {configdirectory}/socket/notify
1936              Unix domain socket that the mail notification daemon listens on.
1937
1938          notify_external: <none>
1939              Path  to  the external program that notifyd(8) will call to send
1940              mail notifications.
1941
1942              The external program will be called with the  following  command
1943              line options:
1944
1945                 -c class
1946
1947                 -p priority
1948
1949                 -u user
1950
1951                 -m mailbox
1952
1953                 And the notification message will be available on stdin.
1954
1955          partition-name: <none>
1956              The  pathname  of  the  partition  name.  At least one partition
1957              pathname MUST be specified.  If the defaultpartition  option  is
1958              used,  then its pathname MUST be specified.  For example, if the
1959              value of the defaultpartion option is  part1,  then  the  parti‐
1960              tion-part1 field is required.
1961
1962          partition_select_mode: freespace-most
1963              Partition selection mode.
1964
1965              random (pseudo-)random selection
1966
1967              freespace-most
1968                     partition with the most free space (KiB)
1969
1970              freespace-percent-most
1971                     partition with the most free space (%)
1972
1973              freespace-percent-weighted
1974                     each  partition  is  weighted according to its free space
1975                     (%); the more free space  the  partition  has,  the  more
1976                     chances it has to be selected
1977
1978              freespace-percent-weighted-delta
1979                     each partition is weighted according to its difference of
1980                     free space (%) compared to the most used  partition;  the
1981                     more the partition is lagging behind the most used parti‐
1982                     tion, the more chances it has to be selected
1983
1984                     Note that actually even the most used partition has a few
1985                     chances  to  be selected, and those chances increase when
1986                     other partitions get closer
1987
1988                     Allowed values:  random,  freespace-most,  freespace-per‐
1989                     cent-most,   freespace-percent-weighted,   freespace-per‐
1990                     cent-weighted-delta
1991
1992          partition_select_exclude: <none>
1993              List of partitions to exclude from selection mode.
1994
1995          partition_select_usage_reinit: 0
1996              For a given session, number of operations (e.g. partition selec‐
1997              tion) for which partitions usage data are cached.
1998
1999          partition_select_soft_usage_limit: 0
2000              Limit of partition usage (%): if a partition is over that limit,
2001              it is automatically excluded from selection mode.
2002
2003              If all partitions are over that limit, this feature is not  used
2004              anymore.
2005
2006          plaintextloginpause: <none>
2007              Time  to  pause after a successful plaintext login.  For systems
2008              that support strong authentication, this permits users  to  per‐
2009              ceive  a  cost of using plaintext passwords.  (This does not af‐
2010              fect the use of PLAIN in SASL authentications.)
2011
2012              For backward compatibility, if no unit is specified, seconds  is
2013              assumed.
2014
2015          plaintextloginalert: <none>
2016              Message to send to client after a successful plaintext login.
2017
2018          popexpiretime: -1
2019              The  duration  advertised  as being the minimum a message may be
2020              left on the POP server before it is deleted (via the  CAPA  com‐
2021              mand,  defined  in  the  POP3  Extension  Mechanism,  which some
2022              clients may support).  This duration has a granularity of  whole
2023              days,  with partial days truncated (so e.g. "45m" is effectively
2024              "0d").  "NEVER", the default, may be specified with  a  negative
2025              number.
2026
2027              The  Cyrus  POP3  server  never deletes mail, no matter what the
2028              value of this parameter is.  However, if  a  site  implements  a
2029              less  liberal  policy, it needs to change this parameter accord‐
2030              ingly.
2031
2032              For backward compatibility, if no unit is specified, days is as‐
2033              sumed.
2034
2035          popminpoll: <none>
2036              Set  the  minimum amount of time the server forces users to wait
2037              between successive POP logins.
2038
2039              For backward compatibility, if no unit is specified, minutes  is
2040              assumed.
2041
2042          popsubfolders: 0
2043              Allow   access   to  subfolders  of  INBOX  via  POP3  by  using
2044              userid+subfolder syntax as the authentication/authorization id.
2045
2046          poppollpadding: 1
2047              Create a softer minimum poll restriction.  Allows poppollpadding
2048              connections  before the minpoll restriction is triggered.  Addi‐
2049              tionally, one padding entry is recovered every  popminpoll  min‐
2050              utes.   This  allows for the occasional polling rate faster than
2051              popminpoll, (i.e., for clients that require  a  send/receive  to
2052              send  mail) but still enforces the rate long-term.  Default is 1
2053              (disabled).
2054
2055              The easiest way to think of it is a queue of  past  connections,
2056              with  one  slot  being filled for every connection, and one slot
2057              being cleared every popminpoll minutes. When the queue is  full,
2058              the  user  will  not be able to check mail again until a slot is
2059              cleared.  If the user waits a sufficient amount  of  time,  they
2060              will get back many or all of the slots.
2061
2062          poptimeout: 10m
2063              Set  the length of the POP server's inactivity autologout timer.
2064              The minimum value is 10 minutes, the default.
2065
2066              For backward compatibility, if no unit is specified, minutes  is
2067              assumed.
2068
2069          popuseacl: 0
2070              Enforce  IMAP  ACLs in the pop server.  Due to the nature of the
2071              POP3 protocol, the only rights which are used by the pop  server
2072              are  'r',  't',  and  's' for the owner of the mailbox.  The 'r'
2073              right allows the user to open the mailbox and list/retrieve mes‐
2074              sages.   The  't' right allows the user to delete messages.  The
2075              's' right allows messages retrieved by  the  user  to  have  the
2076              \Seen flag set (only if popuseimapflags is also enabled).
2077
2078          popuseimapflags: 0
2079              If  enabled,  the pop server will set and obey IMAP flags.  Mes‐
2080              sages having the \Deleted flag are ignored as if they do not ex‐
2081              ist.   Messages  that  are retrieved by the client will have the
2082              \Seen flag set.  All messages will have the \Recent flag unset.
2083
2084          postmaster: postmaster
2085              Username that is used as the 'From' address  in  rejection  MDNs
2086              produced by sieve.
2087
2088          postuser: <empty string>
2089              Userid used to deliver messages to shared folders.  For example,
2090              if set to "bb", email sent to "bb+shared.blah" would  be  deliv‐
2091              ered  to the "shared.blah" folder.  By default, an email address
2092              of "+shared.blah" would be used.
2093
2094          proc_path: <none>
2095              Path to proc directory.  Default is NULL - must be  an  absolute
2096              path  if  specified.   If  not specified, the path $configdirec‐
2097              tory/proc/ will be used.
2098
2099          prometheus_enabled: 0
2100              Whether tracking of service metrics for Prometheus is enabled.
2101
2102          prometheus_need_auth: admin
2103              Authentication level required to fetch Prometheus metrics.
2104
2105              Allowed values: none, user, admin
2106
2107          prometheus_update_freq: 10s
2108              Frequency in at which promstatsd should re-collate  its  statis‐
2109              tics  report.   The minimum value is 1 second, the default is 10
2110              seconds.
2111
2112              For backward compatibility, if no unit is specified, seconds  is
2113              assumed.
2114
2115          prometheus_stats_dir: <none>
2116              Directory to use for gathering prometheus statistics.  If speci‐
2117              fied, must be an absolute path.  If not specified,  the  default
2118              path  $configdirectory/stats/  will be used.  It may be advanta‐
2119              geous to locate this directory on ephemeral storage.
2120
2121          proxy_authname: proxy
2122              The authentication name to use when authenticating to a  backend
2123              server in the Cyrus Murder.
2124
2125          proxy_compress: 0
2126              Try  to  enable  protocol-specific compression when performing a
2127              client connection to a backend server in the Cyrus Murder.
2128
2129              Note that this should only be necessary over slow  network  con‐
2130              nections.   Also  note that currently only IMAP and MUPDATE sup‐
2131              port compression.
2132
2133          proxy_password: <none>
2134              The default password to use when  authenticating  to  a  backend
2135              server  in  the  Cyrus Murder.  May be overridden on a host-spe‐
2136              cific basis using the hostname_password option.
2137
2138          proxy_realm: <none>
2139              The authentication realm to use when authenticating to a backend
2140              server in the Cyrus Murder
2141
2142          proxyd_allow_status_referral: 0
2143              Set  to  true to allow proxyd to issue referrals to clients that
2144              support it when answering the STATUS command.  This is  disabled
2145              by  default  since  some clients issue many STATUS commands in a
2146              row, and do not cache the connections that these referrals would
2147              cause, thus resulting in a higher authentication load on the re‐
2148              spective backend server.
2149
2150          proxyd_disable_mailbox_referrals: 0
2151              Set to true to disable the use of mailbox-referrals on the proxy
2152              servers.
2153
2154          proxyservers: <none>
2155              A  list  of users and groups that are allowed to proxy for other
2156              users, separated by spaces.  Any user listed in this will be al‐
2157              lowed to login for any other user: use with caution.  In a stan‐
2158              dard murder this option should ONLY be set on backends.  DO  NOT
2159              SET on frontends or things won't work properly.
2160
2161          pts_module: afskrb
2162              The PTS module to use.
2163
2164              Allowed values: afskrb, ldap, http
2165
2166          ptloader_sock: <none>
2167              Unix  domain socket that ptloader listens on.  (defaults to con‐
2168              figdirectory/ptclient/ptsock)
2169
2170          ptscache_db: twoskip
2171              The cyrusdb backend to use for the pts cache.
2172
2173              Allowed values: skiplist, twoskip, zeroskip
2174
2175          ptscache_db_path: <none>
2176              The absolute path to the ptscache db file.   If  not  specified,
2177              will be configdirectory/ptscache.db
2178
2179          ptscache_timeout: 3h
2180              The   timeout   for  the  PTS  cache  database  when  using  the
2181              auth_krb_pts authorization method (default: 3 hours).
2182
2183              For backward compatibility, if no unit is specified, seconds  is
2184              assumed.
2185
2186          ptskrb5_convert524: 1
2187              When using the AFSKRB ptloader module with Kerberos 5 canonical‐
2188              ization, do the final 524 conversion to get a n AFS  style  name
2189              (using '.' instead of '/', and using short names
2190
2191          ptskrb5_strip_default_realm: 1
2192              When using the AFSKRB ptloader module with Kerberos 5 canonical‐
2193              ization, strip the default realm from the userid (this does  not
2194              affect  the  stripping  of realms specified by the afspts_local‐
2195              realms option)
2196
2197          qosmarking: cs0
2198              This specifies the Class  Selector  or  Differentiated  Services
2199              Code  Point  designation  on IP headers (in the ToS field).  Al‐
2200              lowed values: cs0, cs1, cs2, cs3,  cs4,  cs5,  cs6,  cs7,  af11,
2201              af12,  af13,  af21,  af22,  af23,  af31, af32, af33, af41, af42,
2202              af43, ef
2203
2204          quota_db: quotalegacy
2205              The cyrusdb backend to use for quotas.
2206
2207              Allowed values: flat, skiplist, sql, quotalegacy,  twoskip,  ze‐
2208              roskip
2209
2210          quota_db_path: <none>
2211              The  absolute  path for the quota database (if you choose a sin‐
2212              gle-file quota DB type - or the base path if you choose quotale‐
2213              gacy).   If  not  specified will be configdirectory/quotas.db or
2214              configdirectory/quota/
2215
2216          quota_use_conversations: 0
2217              If conversations it enabled and quotaroot is a user folder,  use
2218              the  conversations  quota counts, which count multiple copies of
2219              exactly the same message (by GUID) as only one
2220
2221          quotawarn: 90
2222              Deprecated in favour of quotawarnpercent.
2223
2224          quotawarnpercent: 90
2225              The percent of quota utilization over which the server generates
2226              warnings.
2227
2228          quotawarnkb: <none>
2229              Deprecated in favour of quotawarnsize.
2230
2231          quotawarnsize: 0
2232              The  maximum amount of free space at which to give a quota warn‐
2233              ing (if this value is 0, or if the quota is  smaller  than  this
2234              amount, then warnings are always given).
2235
2236              Note that quota has kibibyte granularity.  Values specified here
2237              will be truncated to the nearest whole kibibyte.
2238
2239              For backward compatibility, if no unit is  specified,  kibibytes
2240              is assumed.
2241
2242          quotawarnmsg: 0
2243              The  maximum amount of messages at which to give a quota warning
2244              (if this value is 0, or  if  the  quota  is  smaller  than  this
2245              amount, then warnings are always given).
2246
2247          readonly: 0
2248              If  enabled, all IMAP, POP and JMAP connections are read-only, *
2249              no writes allowed
2250
2251          reject8bit: 0
2252              If enabled, lmtpd rejects messages with 8-bit characters in  the
2253              headers.
2254
2255          restore_authname: <none>
2256              The  authentication used by the restore tool when authenticating
2257              to an IMAP/sync server.
2258
2259          restore_password: <none>
2260              The password used by the restore tool when authenticating to  an
2261              IMAP/sync server.
2262
2263          restore_realm: <none>
2264              The authentication realm used by the restore tool when authenti‐
2265              cating to an IMAP/sync server.
2266
2267          reverseacls: 0
2268              At startup time, ctl_cyrusdb -r will check  this  value  and  it
2269              will either add or remove reverse ACL pointers from mailboxes.db
2270
2271          reverseuniqueids: 1
2272              Deprecated. No longer used
2273
2274          rfc2046_strict: 0
2275              If  enabled,  imapd  will be strict (per RFC 2046) when matching
2276              MIME boundary strings.  This means  that  boundaries  containing
2277              other  boundaries  as  substrings  will be treated as identical.
2278              Since enabling this option will break some messages  created  by
2279              Eudora 5.1 (and earlier), it is recommended that it be left dis‐
2280              abled unless there is good reason to do otherwise.
2281
2282          rfc2047_utf8: 0
2283              If enabled, imapd will parse any non-encoded character  sequence
2284              in  MIME header values as UTF8. This is useful for installations
2285              that either advertise the UTF8SMTP (RFC 5335) extension  or  re‐
2286              ceive  mails with improperly escaped UTF-8 byte sequences. It is
2287              recommended that this option is left disabled  unless  there  is
2288              good reason to do otherwise.
2289
2290          rfc3028_strict: 1
2291              If  enabled, Sieve will be strict (per RFC 3028) with regards to
2292              which headers are allowed to be used  in  address  and  envelope
2293              tests.   This means that only those headers which are defined to
2294              contain addresses will be allowed in address tests and only "to"
2295              and  "from"  will  be allowed in envelope tests.  When disabled,
2296              ANY grammatically correct header will be allowed.
2297
2298          rss_feedlist_template: <none>
2299              File containing HTML that will be used as a  template  for  dis‐
2300              playing  the  list of available RSS feeds.  A single instance of
2301              the variable %RSS_FEEDLIST% should appear  in  the  file,  which
2302              will  be  replaced  by  a  nested  unordered list of feeds.  The
2303              toplevel unordered list will be tagged with an id of "feed" (<ul
2304              id='feed'>) which can be used by stylesheet(s) in your template.
2305              The dynamically created list of feeds based on the HTML template
2306              will be accessible at the "/rss" URL on the server.
2307
2308          rss_feeds: *
2309              A wildmat pattern specifying which mailbox hierarchies should be
2310              treated as RSS feeds.  Only mailboxes matching the wildmat  will
2311              have  their  messages  available via RSS.  If not set, a default
2312              wildmat of "*" (ALL mailboxes) will be used.
2313
2314          rss_maxage: <none>
2315              Maximum age of items to display in an RSS channel.  If non-zero,
2316              httpd  will only display items received within this time period.
2317              If set to 0, all available items  will  be  displayed  (the  de‐
2318              fault).
2319
2320              For backward compatibility, if no unit is specified, days is as‐
2321              sumed.
2322
2323          rss_maxitems: 0
2324              Maximum number of items  to  display  in  an  RSS  channel.   If
2325              non-zero,  httpd will display no more than the rss_maxitems most
2326              recent items.  If set to 0, all available  items  will  be  dis‐
2327              played (the default).
2328
2329          rss_maxsynopsis: 0
2330              Maximum  RSS item synopsis length.  If non-zero, httpd will dis‐
2331              play no more than the first  rss_maxsynopsis  characters  of  an
2332              item's  synopsis.  If set to 0, the entire synopsis will be dis‐
2333              played (the default).
2334
2335          rss_realm: <none>
2336              The realm to present for HTTP authentication of RSS  feeds.   If
2337              not set (the default), the value of the "servername" option will
2338              be used.
2339
2340          sasl_auto_transition: 0
2341              If enabled, the SASL library will automatically create authenti‐
2342              cation  secrets  when  given a plaintext password.  See the SASL
2343              documentation.
2344
2345          sasl_maximum_layer: 256
2346              Maximum SSF (security strength factor) that the server will  al‐
2347              low a client to negotiate.
2348
2349          sasl_minimum_layer: 0
2350              The  minimum  SSF that the server will allow a client to negoti‐
2351              ate.  A value of 1 requires  integrity  protection;  any  higher
2352              value requires some amount of encryption.
2353
2354          sasl_option: 0
2355              Any  SASL  option  can  be set by preceding it with sasl_.  This
2356              file overrides the SASL configuration file.
2357
2358          sasl_pwcheck_method: <none>
2359              The mechanism used by the server to verify plaintext  passwords.
2360              Possible values include "auxprop", "saslauthd", and "pwcheck".
2361
2362          search_batchsize: 20
2363              The  number of messages to be indexed in one batch (default 20).
2364              Note that long batches may delay user commands or mail delivery.
2365
2366          search_attachment_extractor_url: <none>
2367              A HTTP or HTTPS URL to extract search text from  rich  text  at‐
2368              tachments  and other media during search indexing. The server at
2369              this URL must implement the following protocol:
2370
2371              1. For each attachment of an email, Cyrus sends a GET request to
2372              the URL <extractor-url>/<cyrus-id>, where <extractor-url> is the
2373              configured URL and <cyrus-id> is  a  Cyrus-chosen  path  segment
2374              that uniquely identifies this attachment.
2375
2376              2.  If  the extractor already has a cached plain text extract of
2377              the attachment identified by <cyrus-id> then it may return  HTTP
2378              status  code  200  (OK)  and  the plain text extract with a Con‐
2379              tent-Type "text/plain" header. Otherwise  it  must  return  HTTP
2380              status 404 (Not Found).
2381
2382              3.  If Cyrus receives the HTTP status code 404 (Not Found), then
2383              it sends a PUT request to the same URL as  previously.  The  PUT
2384              request  body  contains  the decoded, binary body of the attach‐
2385              ment. The Content-Type request header has the same value as  de‐
2386              clared in the MIME part headers, including any type parameters.
2387
2388              4.  The extractor must return the plain text extract with either
2389              HTTP status  200  (OK)  or  201  (Created)  and  a  Content-Type
2390              "text/plain"  header.  If no text can be extracted, then the ex‐
2391              tractor may return any return code in the range 4xx, or 200  and
2392              an empty response body.
2393
2394              Any  other  HTTP status code is treated as an error. For perfor‐
2395              mance reasons, the Cyrus indexer attempts to keep-alive the  TCP
2396              connection to the extractor.  Xapian only.
2397
2398          search_index_language: 0
2399              If  enabled,  then  messages bodies are stemmed by detected lan‐
2400              guage in addition to the default English stemmer.  Xapian only.
2401
2402          search_index_parts: 0
2403              Deprecated. No longer used.
2404
2405          search_index_skip_domains: <none>
2406              A space separated list of domains - if set,  any  users  in  the
2407              listed domains will be skipped when indexing.
2408
2409          search_index_skip_users: <none>
2410              A  space  separated list of usernames - if set, any users in the
2411              list will be skipped when indexing.
2412
2413          search_query_language: 0
2414              Deprecated. No longer used.
2415
2416          search_normalisation_max: 1000
2417              A resource bound for the combinatorial explosion of  search  ex‐
2418              pression  tree complexity caused by normalising expressions with
2419              many OR nodes.  These can use more CPU  time  to  optimise  than
2420              they save IO time in scanning folders.
2421
2422          search_engine: none
2423              The indexing engine used to speed up searching.
2424
2425              Allowed values: none, squat, xapian
2426
2427          search_fuzzy_always: 0
2428              Whether  to enable RFC 6203 FUZZY search for all IMAP SEARCH. If
2429              turned on, search attributes will be searched using FUZZY search
2430              by  default.   If turned off, clients have to explicitly use the
2431              FUZZY search key to enable fuzzy search for regular SEARCH  com‐
2432              mands.
2433
2434          search_index_headers: 1
2435              Whether  to index headers other than From, To, Cc, Bcc, and Sub‐
2436              ject.  Experiment shows that some headers such as  Received  and
2437              DKIM-Signature can contribute up to 2/3rds of the index size but
2438              almost nothing to the utility of searching.  Note that if header
2439              indexing  is  disabled,  headers  can  still  be  searched,  the
2440              searches will just be slower.
2441
2442          search_indexed_db: twoskip
2443              The cyrusdb backend to use for the  search  latest  indexed  uid
2444              state.  Xapian only.
2445
2446              Allowed values: flat, skiplist, twoskip, zeroskip
2447
2448          search_maxtime: <none>
2449              The  maximum number of seconds to run a search for before abort‐
2450              ing.  Default of no value means  search  "forever"  until  other
2451              timeouts.
2452
2453          search_maxsize: 4M
2454              The  maximum  size  to index for each message part. Message con‐
2455              tents that occur after this byte offset will not be indexed  nor
2456              used to generate search snippets. Xapian-only.
2457
2458              For  backward  compatibility, if no unit is specified, kibibytes
2459              is assumed.
2460
2461          search_queryscan: 5000
2462              The minimum number of records require to do a direct scan of all
2463              G keys * rather than indexed lookups.  A value of 0 means always
2464              do indexed lookups.
2465
2466          search_skipdiacrit: 1
2467              When searching, should diacriticals be stripped from the  search
2468              terms.   The  default  is  "true", a search for "hav" will match
2469              "Håvard".  This is not RFC 5051 compliant, but it backwards com‐
2470              patible, and may be preferred by some sites.
2471
2472          search_skiphtml: 0
2473              If enabled, HTML parts of messages are skipped, i.e. not indexed
2474              and not searchable.  Otherwise, they're indexed.
2475
2476          search_whitespace: merge
2477              When searching, how whitespace should be handled.  Options  are:
2478              "skip"  (default in 2.3 and earlier series) - where a search for
2479              "equi" would match "the quick brown fox".   "merge"  -  the  de‐
2480              fault,  where  "he   qu" would match "the quick   brownfox", and
2481              "keep", where whitespace must match  exactly.   The  default  of
2482              "merge"  is  recommended for most cases - it's a good compromise
2483              which keeps words separate.  Allowed values: skip, merge, keep
2484
2485          search_snippet_length: 255
2486              The maximum byte length of a snippet generated by the  XSNIPPETS
2487              command.  Only supported by the Xapian search backend, which at‐
2488              tempts to always fill search_snippet_length bytes in the  gener‐
2489              ated snippet.
2490
2491          search_stopword_path: <none>
2492              The  absolute  base  path  to  the search stopword lists. If not
2493              specified, no stopwords will be taken into account during search
2494              indexing.  Currently,  the  only supported and default stop word
2495              file is english.txt.
2496
2497          searchpartition-name: <none>
2498              The pathname  where  to  store  the  xapian  search  indexes  of
2499              searchtier for mailboxes of partition name. This must be config‐
2500              ured for the defaultsearchtier and any  additional  search  tier
2501              (see squatter for details).
2502
2503              For  example:  if  defaultpartition  is defined as part1 and de‐
2504              faultsearchtier as tier1 then the configuration must contain  an
2505              entry  tier1searchpartition-part1 that defines the path where to
2506              store this tier1's search index for the part1 partition.
2507
2508              This option MUST be specified for xapian search.
2509
2510          seenstate_db: twoskip
2511              The cyrusdb backend to use for the seen state.
2512
2513              Allowed values: flat, skiplist, twoskip, zeroskip
2514
2515          sendmail: /usr/lib/sendmail
2516              The pathname of the sendmail executable.  Sieve invokes sendmail
2517              for sending rejections, redirects and vacation responses.
2518
2519          sendmail_auth_id: CYRUS_SENDMAIL_AUTH_ID
2520              The  name  of an environment variable to set when invoking send‐
2521              mail.  The value of this environment variable will  contain  the
2522              user  id  of the currently authenticated user. If no user is au‐
2523              thenticated the environment variable is not set.
2524
2525          serverlist: <none>
2526              Whitespace separated list of backend  server  names.   Used  for
2527              finding  server  with the most available free space for proxying
2528              CREATE.
2529
2530          serverlist_select_mode: freespace-most
2531              Server selection mode.
2532
2533              random (pseudo-)random selection
2534
2535              freespace-most
2536                     backend with the most (total) free space (KiB)
2537
2538              freespace-percent-most
2539                     backend whose partition has the most free space (%)
2540
2541              freespace-percent-weighted
2542                     same as for partition selection, comparing the free space
2543                     (%) of the least used partition of each backend
2544
2545              freespace-percent-weighted-delta
2546                     same as for partition selection, comparing the free space
2547                     (%) of the least used partition of each backend.
2548
2549                     Allowed values:  random,  freespace-most,  freespace-per‐
2550                     cent-most,   freespace-percent-weighted,   freespace-per‐
2551                     cent-weighted-delta
2552
2553          serverlist_select_usage_reinit: 0
2554              For a given session, number of operations (e.g.  backend  selec‐
2555              tion) for which backend usage data are cached.
2556
2557          serverlist_select_soft_usage_limit: 0
2558              Limit  of backend usage (%): if a backend is over that limit, it
2559              is automatically excluded from selection mode.
2560
2561              If all backends are over that limit, this feature  is  not  used
2562              anymore.
2563
2564          servername: <none>
2565              This  is  the  hostname  visible in the greeting messages of the
2566              POP, IMAP and LMTP daemons. If it is unset, then the result  re‐
2567              turned from gethostname(2) is used.  This is also the value used
2568              by murder clusters to identify the host name.  It should be  re‐
2569              solvable by DNS to the correct host, and unique within an active
2570              cluster.  If you are using low  level  replication  (e.g.  drbd)
2571              then  it should be the same on each copy and the DNS name should
2572              also be moved to the new master on failover.
2573
2574          serverinfo: on
2575              The server information to display in the greeting and capability
2576              responses. Information is displayed as follows:
2577                 "off" = no server information in the greeting or capabilities
2578
2579                 "min"  = servername in the greeting; no server information in
2580                 the capabilities
2581
2582                 "on" = servername and product version in the greeting;  prod‐
2583                 uct version in the capabilities
2584
2585                 Allowed values: off, min, on
2586
2587          sharedprefix: Shared Folders
2588              If using the alternate IMAP namespace, the prefix for the shared
2589              namespace.  The hierarchy delimiter will  be  automatically  ap‐
2590              pended.
2591
2592          sieve_allowreferrals: 1
2593              If  enabled,  timsieved will issue referrals to clients when the
2594              user's scripts reside on a remote server (in a Murder).   Other‐
2595              wise, timsieved will proxy traffic to the remote server.
2596
2597          sieve_duplicate_max_expiration: 90d
2598              Maximum expiration time for duplicate message tracking records.
2599
2600              For  backward compatibility, if no unit is specified, seconds is
2601              assumed.
2602
2603          sieve_extensions: fileinto reject vacation  vacation-seconds  notify
2604          include  envelope  environment body relational regex subaddress copy
2605          date index imap4flags mailbox mboxmetadata servermetadata  variables
2606          editheader extlists duplicate ihave fcc special-use redirect-dsn re‐
2607          direct-deliverby   mailboxid    vnd.cyrus.log    vnd.cyrus.jmapquery
2608          vnd.cyrus.imip snooze
2609              Space-separated  list  of Sieve extensions allowed to be used in
2610              sieve scripts, enforced at submission by timsieved(8).  Any pre‐
2611              viously  installed  script will be unaffected by this option and
2612              will continue to execute  regardless  of  the  extensions  used.
2613              This  option  has no effect on options that are disabled at com‐
2614              pile time (e.g., "regex").  Allowed  values:  fileinto,  reject,
2615              vacation,  vacation-seconds, notify, include, envelope, environ‐
2616              ment, body, relational, regex, subaddress,  copy,  date,  index,
2617              imap4flags=imapflags,   mailbox,  mboxmetadata,  servermetadata,
2618              variables, editheader, extlists,  duplicate,  ihave,  fcc,  spe‐
2619              cial-use,     redirect-dsn,    redirect-deliverby,    mailboxid,
2620              vnd.cyrus.log=x-cyrus-log,     vnd.cyrus.jmapquery=x-cyrus-jmap‐
2621              query, vnd.cyrus.imip, snooze=vnd.cyrus.snooze=x-cyrus-snooze
2622
2623          sieve_folder: #sieve
2624              The name of the folder for storing Sieve scripts (#sieve)
2625
2626          sieve_maxscriptsize: 32K
2627              Maximum  size any sieve script can be, enforced at submission by
2628              timsieved(8) and JMAP.
2629
2630              For backward compatibility, if no unit is  specified,  kibibytes
2631              is assumed.
2632
2633          sieve_maxscripts: 5
2634              Maximum  number  of sieve scripts any user may have, enforced at
2635              submission by timsieved(8).
2636
2637          sieve_utf8fileinto: 0
2638              If enabled, the  sieve  engine  expects  folder  names  for  the
2639              fileinto  action  in  scripts  to use UTF8 encoding.  Otherwise,
2640              modified UTF7 encoding should be used.
2641
2642          sieve_sasl_send_unsolicited_capability: 0
2643              If enabled, timsieved will emit a capability  response  after  a
2644              successful   SASL   authentication,   per   draft-martin-manage‐
2645              sieve-12.txt .
2646
2647          sieve_use_lmtp_reject: 1
2648              Enabled by default.  If reject can be done via LMTP, then return
2649              a 550 rather than generating the bounce message in Cyrus.
2650
2651          sieve_vacation_min_response: 3d
2652              Minimum  time  interval  between consecutive vacation responses,
2653              per draft-ietf-vacation-seconds.txt.  The default is 3 days.
2654
2655              For backward compatibility, if no unit is specified, seconds  is
2656              assumed.
2657
2658          sieve_vacation_max_response: 90d
2659              Maximum  time  interval  between consecutive vacation responses,
2660              per draft-ietf-vacation-seconds.txt.  The default  is  90  days.
2661              The minimum is 7 days.
2662
2663              For  backward compatibility, if no unit is specified, seconds is
2664              assumed.
2665
2666          sievedir: /usr/sieve
2667              If sieveusehomedir is false,  this  directory  is  searched  for
2668              Sieve scripts.
2669
2670          sievenotifier: <none>
2671              Notifyd(8) method to use for "SIEVE" notifications.  If not set,
2672              "SIEVE" notifications are disabled.
2673
2674              This method is only used when no  method  is  specified  in  the
2675              script.
2676
2677          sieveusehomedir: 0
2678              If enabled, lmtpd will look for Sieve scripts in user's home di‐
2679              rectories: ~user/.sieve.
2680
2681          anysievefolder: 0
2682              It must be "yes" in order to permit the autocreation of any  IN‐
2683              BOX   subfolder   requested  by  a  sieve  filter,  through  the
2684              "fileinto" action. (default = no)
2685
2686          singleinstancestore: 1
2687              If enabled, imapd, lmtpd and nntpd attempt  to  only  write  one
2688              copy of a message per partition and create hard links, resulting
2689              in a potentially large disk savings.
2690
2691          skiplist_always_checkpoint: 1
2692              If enabled, this option forces the skiplist cyrusdb  backend  to
2693              always  checkpoint  when doing a recovery.  This causes slightly
2694              more IO, but on the other hand leads  to  more  efficient  data‐
2695              bases, and the entire file is already "hot".
2696
2697          skiplist_unsafe: 0
2698              If  enabled,  this option forces the skiplist cyrusdb backend to
2699              not sync writes to the disk.  Enabling this option is NOT RECOM‐
2700              MENDED.
2701
2702          smtp_backend: sendmail
2703              The SMTP backend to use for sending email.
2704
2705              The "host" backend sends message submissions via a TCP socket to
2706              the SMTP host defined in the config option smtp_host.
2707
2708              The "sendmail" backend forks the Cyrus  process  into  the  exe‐
2709              cutable  defined  in the config option sendmail.  The executable
2710              must accept "-bs" as command line argument, read from stdin  and
2711              must  implement  the minimum SMTP protocol as defined in section
2712              4.5.1 of RFC 5321.
2713
2714              If the SMTP EHLO command reports AUTH (RFC 4954) as a  supported
2715              extension,  then the MAIL FROM command includes the AUTH parame‐
2716              ter, with its value set to the name of  any  authenticated  user
2717              which  triggered the email. The AUTH parameter is omitted if the
2718              user is unknown to the calling process.
2719
2720              If the directory configdirectory/log/smtpclient.smtp_backend ex‐
2721              ists,  then  telemetry  logs  for outgoing SMTP sessions will be
2722              created in this directory.
2723
2724              Allowed values: host, sendmail
2725
2726          smtp_host: localhost:587
2727              The SMTP host to use for sending mail (also see the smtp_backend
2728              option). The value of this option must the name or IP address of
2729              a TCP host, followed optionally by a colon and the port or  ser‐
2730              vice  to  use.  The default port is 587. TLS may be activated by
2731              appending "/tls" to the  value.  Authentication  is  enabled  if
2732              smtp_auth_authname is set. Authentication can be explicitly dis‐
2733              abled by appending "/noauth" to the host address.
2734
2735          smtp_auth_authname: <none>
2736              The authentication name to use when authenticating to  the  SMTP
2737              server defined in smtp_host.
2738
2739          smtp_auth_password: <none>
2740              The  password  to use when authenticating to the SMTP server de‐
2741              fined in smtp_host.
2742
2743          smtp_auth_realm: <none>
2744              The authentication SASL realm to use when  authenticating  to  a
2745              SMTP server.
2746
2747          soft_noauth: 1
2748              If  enabled, lmtpd returns temporary failures if the client does
2749              not successfully authenticate.  Otherwise lmtpd  returns  perma‐
2750              nent failures (causing the mail to bounce immediately).
2751
2752          sortcache_db: twoskip
2753              The  cyrusdb  backend to use for caching sort results (currently
2754              only used for xconvmultisort) Allowed values: skiplist, twoskip,
2755              zeroskip
2756
2757          specialuse_extra: <none>
2758              Whitespace  separated  list of extra special-use attributes that
2759              can be set on a mailbox. RFC  6154  currently  lists  what  spe‐
2760              cial-use  attributes can be set. This allows extending that list
2761              in the future or adding your own if needed.
2762
2763          specialuse_nochildren: \Scheduled \Snooze
2764              Whitespace separated list of special-use attributes that may not
2765              contain  child folders.  If set, mailboxes with any of these at‐
2766              tributes may not have  child  folders  created,  and  these  at‐
2767              tributes  cannot  be  added to mailboxes that already have chil‐
2768              dren..
2769
2770          specialuse_protect: \Archive \Drafts \Important \Junk \Sent  \Sched‐
2771          uled \Snooze \Trash
2772              Whitespace  separated  list of special-use attributes to protect
2773              the mailboxes for.  If set, don't  allow  mailboxes  with  these
2774              special  use  attributes to be deleted or renamed to have a dif‐
2775              ferent parent. Default is the built-in list
2776
2777          specialusealways: 1
2778              If enabled, this option causes LIST and LSUB  output  to  always
2779              include the XLIST "special-use" flags
2780
2781          sql_database: <none>
2782              Name of the database which contains the cyrusdb table(s).
2783
2784          sql_engine: <none>
2785              Name of the SQL engine to use.
2786
2787              Allowed values: mysql, pgsql, sqlite
2788
2789          sql_hostnames: <empty string>
2790              Comma separated list of SQL servers (in host[:port] format).
2791
2792          sql_passwd: <none>
2793              Password to use for authentication to the SQL server.
2794
2795          sql_user: <none>
2796              Username to use for authentication to the SQL server.
2797
2798          sql_usessl: 0
2799              If enabled, a secure connection will be made to the SQL server.
2800
2801          srs_alwaysrewrite: 0
2802              If true, perform SRS rewriting for ALL forwarding, even when not
2803              required.
2804
2805          srs_domain: <none>
2806              The domain to use in rewritten addresses. This must  point  only
2807              to  machines which know the encoding secret used by this system.
2808              When present, SRS is enabled.
2809
2810          srs_hashlength: 0
2811              The hash length to generate in a rewritten address.
2812
2813          srs_secrets: <none>
2814              A list of secrets with which to generate addresses.
2815
2816          srs_separator: <none>
2817              The separator to appear immediately after SRS[01]  in  rewritten
2818              addresses.
2819
2820          srvtab: <empty string>
2821              The pathname of srvtab file containing the server's private key.
2822              This option is passed to the SASL library and overrides its  de‐
2823              fault setting.
2824
2825          submitservers: <none>
2826              A  list  of  users  and  groups  that  are  allowed  to  resolve
2827              "urlauth=submit+" IMAP URLs,  separated  by  spaces.   Any  user
2828              listed  in  this  will  be  allowed to fetch the contents of any
2829              valid "urlauth=submit+" IMAP URL: use with caution.
2830
2831          subscription_db: flat
2832              The cyrusdb backend to use for the subscriptions list.
2833
2834              Allowed values: flat, skiplist, twoskip, zeroskip
2835
2836          suppress_capabilities: <none>
2837              Suppress the named capabilities from  any  capability  response.
2838              Use  the  exact  case as it appears in the response, e.g.  "sup‐
2839              press_capabilities: ESEARCH QRESYNC WITHIN XLIST  LIST-EXTENDED"
2840              if  you have a murder with 2.3.x backends and don't want clients
2841              being confused by new capabilities that some backends don't sup‐
2842              port.
2843
2844          statuscache: 0
2845              Enable/disable the imap status cache.
2846
2847          statuscache_db: twoskip
2848              The cyrusdb backend to use for the imap status cache.
2849
2850              Allowed values: skiplist, sql, twoskip, zeroskip
2851
2852          statuscache_db_path: <none>
2853              The absolute path to the statuscache db file.  If not specified,
2854              will be configdirectory/statuscache.db
2855
2856          sync_authname: <none>
2857              The authentication name to use when  authenticating  to  a  sync
2858              server.  Prefix with a channel name to only apply for that chan‐
2859              nel
2860
2861          sync_batchsize: 8192
2862              the number of messages to upload in a  single  mailbox  replica‐
2863              tion.   Default  is 8192.  If there are more than this many mes‐
2864              sages appended to the  mailbox,  generate  a  synthetic  partial
2865              state and send that.
2866
2867          sync_cache_db: twoskip
2868              The cyrusdb backend to use for the replication cache.
2869
2870              Allowed values: skiplist, sql, twoskip, zeroskip
2871
2872          sync_cache_db_path: <none>
2873              The  path for the replication cache.  Prefix with a channel name
2874              to apply for that channel.  NOTE, it's quite important to have a
2875              different one per backend!
2876
2877          sync_host: <none>
2878              Name  of  the  host  (replica  running  sync_server(8)) to which
2879              replication actions will be sent by sync_client(8).  Prefix with
2880              a channel name to only apply for that channel
2881
2882          sync_log: 0
2883              Enable   replication   action  logging  by  lmtpd(8),  imapd(8),
2884              pop3d(8), and nntpd(8).  The log  {configdirectory}/sync/log  is
2885              used by sync_client(8) for "rolling" replication.
2886
2887          sync_log_chain: 0
2888              Enable replication action logging by sync_server as well, allow‐
2889              ing chaining of replicas.  Use this on 'B'  for  A  =>  B  =>  C
2890              replication layout
2891
2892          sync_log_channels: <none>
2893              If  specified,  log all events to multiple log files in directo‐
2894              ries specified by each "channel".  Each channel can then be pro‐
2895              cessed separately, such as by multiple sync_client(8)s in a mesh
2896              replication scheme, or by squatter(8) for rolling  search  index
2897              updates.
2898
2899              You  can use "" (the two-character string U+22 U+22) to mean the
2900              default sync channel.
2901
2902          sync_log_unsuppressable_channels: squatter
2903              If specified, the named channels are exempt from the  effect  of
2904              setting  sync_log_chain:off,  i.e.  they are always logged to by
2905              the sync_server process.  This is only really  useful  to  allow
2906              rolling search indexing on a replica.
2907
2908          sync_password: <none>
2909              The  default  password  to  use  when  authenticating  to a sync
2910              server.  Prefix with a channel name to only apply for that chan‐
2911              nel
2912
2913          sync_port: <none>
2914              Name  of the service (or port number) of the replication service
2915              on replica host.  Prefix with a channel name to only  apply  for
2916              that  channel.  If not specified, and if sync_try_imap is set to
2917              "yes" (the default), then the replication client will first  try
2918              "imap"  (port 143) to check if imapd supports replication.  Oth‐
2919              erwise it will default to "csync" (usually port 2005).
2920
2921          sync_realm: <none>
2922              The authentication realm to use when authenticating  to  a  sync
2923              server.  Prefix with a channel name to only apply for that chan‐
2924              nel
2925
2926          sync_reconnect_maxwait: 20m
2927              When a rolling sync_client cannot connect to the replica, it en‐
2928              ters  a retry loop with an exponential backoff between attempts.
2929              This option sets the upper limit on that exponential backoff: no
2930              matter  how  long  the replica has been down so far, sync_client
2931              will never wait longer than sync_reconnect_maxwait  between  re‐
2932              tries.
2933
2934              If  this  is  zero or negative, the backoff duration will be al‐
2935              lowed to increase indefinitely (not recommended).
2936
2937              If no unit is specified, seconds is assumed.
2938
2939          sync_repeat_interval: 1s
2940              Minimum interval between replication runs in rolling replication
2941              mode.  If  a replication run takes longer than this time, we re‐
2942              peat immediately.  Prefix with a channel name to only apply  for
2943              that channel.
2944
2945              For  backward compatibility, if no unit is specified, seconds is
2946              assumed.
2947
2948          sync_rightnow_channel: <none>
2949              if set, run sync_client to this channel  immediately.   As  with
2950              channels, set this value to '""' to sync the default channel!
2951
2952          sync_shutdown_file: <none>
2953              Simple  latch  used  to  tell sync_client(8) that it should shut
2954              down at the next opportunity. Safer than sending signals to run‐
2955              ning  processes.   Prefix  with a channel name to only apply for
2956              that channel
2957
2958          sync_timeout: 30m
2959              How long to wait for a response before returning a timeout fail‐
2960              ure  when talking to a replication peer (client or server).  The
2961              minimum duration is 3 seconds, the default is 30 minutes.
2962
2963              For backward compatibility, if no unit is specified, seconds  is
2964              assumed.
2965
2966          sync_try_imap: 1
2967              Whether sync_client should try to perform an IMAP connection be‐
2968              fore falling back to csync.  If this is set to "no", sync_client
2969              will  only  use csync.  Prefix with a channel name to apply only
2970              for that channel
2971
2972          syslog_prefix: <none>
2973              String to be prepended to the process name  in  syslog  entries.
2974              Can  be  further  overridden by setting the $CYRUS_SYSLOG_PREFIX
2975              environment variable.
2976
2977              Using the $CYRUS_SYSLOG_PREFIX environment variable has the  ad‐
2978              ditional  advantage  that it can be set before the imapd.conf is
2979              read, so errors while reading the config file can  be  syslogged
2980              with the correct prefix.
2981
2982          syslog_facility: <none>
2983              Configure  a  syslog  facility.  The default is whatever is com‐
2984              piled in.  Allowed values are: DAEMON, MAIL, NEWS, USER, and LO‐
2985              CAL0 through to LOCAL7
2986
2987          tcp_keepalive: 0
2988              Enable keepalive on TCP connections
2989
2990          tcp_keepalive_cnt: 0
2991              Number of TCP keepalive probes to send before declaring the con‐
2992              nection dead (0 == system default)
2993
2994          tcp_keepalive_idle: 0
2995              How long a connection must be idle before keepalive  probes  are
2996              sent (0 == system default).
2997
2998              For  backward compatibility, if no unit is specified, seconds is
2999              assumed.
3000
3001          tcp_keepalive_intvl: 0
3002              Time between keepalive probes (0 == system default).
3003
3004              For backward compatibility, if no unit is specified, seconds  is
3005              assumed.
3006
3007          temp_path: /tmp
3008              The  pathname  to store temporary files in. It is recommended to
3009              use an in-memory filesystem such as tmpfs for this path.
3010
3011          telemetry_bysessionid: 0
3012              If true, log by sessionid instead of PID for telemetry
3013
3014          timeout: 32m
3015              The length of the IMAP  server's  inactivity  autologout  timer.
3016              The  minimum value is 30 minutes.  The default is 32 minutes, to
3017              allow a bit of leeway for clients that try to NOOP every 30 min‐
3018              utes.
3019
3020              For  backward compatibility, if no unit is specified, minutes is
3021              assumed.
3022
3023          imapidletimeout: <none>
3024              Timeout for idling clients (RFC 2177).   If  not  set  (the  de‐
3025              fault), the value of "timeout" will be used instead.
3026
3027              For  backward compatibility, if no unit is specified, minutes is
3028              assumed.
3029
3030          tls_ca_file: <none>
3031              Deprecated in favor of tls_client_ca_file.
3032
3033          tls_ca_path: <none>
3034              Deprecated in favor of tls_client_ca_dir.
3035
3036          tlscache_db: twoskip
3037              Deprecated in favor of tls_sessions_db.
3038
3039          tlscache_db_path: <none>
3040              Deprecated in favor of tls_sessions_db_path.
3041
3042          tls_cert_file: <none>
3043              Deprecated in favor of tls_server_cert.
3044
3045          tls_cipher_list: DEFAULT
3046              Deprecated in favor of tls_ciphers.
3047
3048          tls_ciphers: DEFAULT
3049              The list of SSL/TLS ciphers to allow.  The format of the  string
3050              (and definition of "DEFAULT") is described in ciphers(1).
3051
3052              See also Mozilla's server-side TLS recommendations:
3053
3054              https://wiki.mozilla.org/Security/Server_Side_TLS
3055
3056          tls_crl_file: <none>
3057              Path to a file containing the Certificate Revocation List
3058
3059          tls_client_ca_dir: <none>
3060              Path  to a directory containing the CA certificates used to ver‐
3061              ify client SSL certificates used for authentication.
3062
3063          tls_client_ca_file: <none>
3064              Path to a file containing the CA certificate(s) used  to  verify
3065              client SSL certificates used for authentication.
3066
3067          tls_client_cert: <none>
3068              File  containing  the  certificate presented to a server for au‐
3069              thentication during STARTTLS. A value of "disabled" will disable
3070              this server's use of certificate-based authentication.
3071
3072          tls_client_certs: optional
3073              Disable  ("off"),  allow  ("optional", default) or require ("re‐
3074              quire") the use of SSL certificates by clients  to  authenticate
3075              themselves.  Allowed values: off, optional, require
3076
3077          tls_client_key: <none>
3078              File containing the private key belonging to the tls_client_cert
3079              certificate. A value of "disabled" will  disable  this  server's
3080              use of certificate-based authentication.
3081
3082          tls_eccurve: prime256v1
3083              The  elliptic  curve  used  for  ECDHE.  Default is NIST Suite B
3084              prime256.  See 'openssl ecparam -list_curves' for possible  val‐
3085              ues.
3086
3087          tls_key_file: <none>
3088              Deprecated in favor of tls_server_key.
3089
3090          tls_required: 0
3091              If  enabled, require a TLS/SSL encryption layer to be negotiated
3092              prior to ANY authentication mechanisms being advertised  or  al‐
3093              lowed.
3094
3095          tls_prefer_server_ciphers: 0
3096              Prefer the ciphers on the server side instead of client side.
3097
3098          tls_server_ca_dir: <none>
3099              Path to a directory with CA certificates used to verify certifi‐
3100              cates offered by the server, when cyrus acts as client. This di‐
3101              rectory  must  have  filenames with the hashed value of the cer‐
3102              tificates (see openssl(1)).
3103
3104          tls_server_ca_file: <none>
3105              Path to a file containing CA certificates used  to  verify  cer‐
3106              tificates offered by the server, when cyrus acts as client.
3107
3108          tls_server_cert: <none>
3109              File  containing the certificate, including the full chain, pre‐
3110              sented to clients.  Two certificates can be set, e.g RSA and EC,
3111              if the filenames are separated with comma without spaces.
3112
3113          tls_server_dhparam: <none>
3114              File  containing  the DH parameters belonging to the certificate
3115              in tls_server_cert.
3116
3117          tls_server_key: <none>
3118              File containing the private key belonging to the certificate  in
3119              tls_server_cert.   If not set, tls_server_cert must contain both
3120              private and public key.  Two files with keys can be set, if  two
3121              certificates are used, in which case the files must be separated
3122              with comma without spaces
3123
3124          tls_sessions_db: twoskip
3125              The cyrusdb backend to use for the TLS cache.
3126
3127              Allowed values: skiplist, sql, twoskip, zeroskip
3128
3129          tls_sessions_db_path: <none>
3130              The absolute path to the TLS sessions db file. If not specified,
3131              will be configdirectory/tls_sessions.db
3132
3133          tls_session_timeout: 24h
3134              The  length  of time that a TLS session will be cached for later
3135              reuse.  The maximum value is 24  hours,  also  the  default.   A
3136              value of 0 will disable session caching.
3137
3138              For  backward compatibility, if no unit is specified, minutes is
3139              assumed.
3140
3141          tls_versions: tls1_0 tls1_1 tls1_2 tls1_3
3142              A list of SSL/TLS versions to not disable.  Cyrus  IMAP  SSL/TLS
3143              starts  with  all protocols, and subtracts protocols not in this
3144              list. Newer versions of SSL/TLS will need to be  added  here  to
3145              allow them to get disabled.
3146
3147          uidl_format: cyrus
3148              Choose  the  format  for  UIDLs  in  pop3.   Possible values are
3149              "uidonly", "cyrus", "dovecot" and "courier".   "uidonly"  forces
3150              the  old default of UID, "cyrus" is UIDVALIDITY.UID.  Dovecot is
3151              8 digits of leading  hex  (lower  case)  each  UID  UIDVALIDITY.
3152              Courier  is  UIDVALIDITY-UID.   Allowed  values: uidonly, cyrus,
3153              dovecot, courier
3154
3155          umask: 077
3156              The umask value used by various Cyrus IMAP programs.
3157
3158          userdeny_db: flat
3159              The cyrusdb backend to use for the user access list.
3160
3161              Allowed values: flat, skiplist, sql, twoskip, zeroskip
3162
3163          userdeny_db_path: <none>
3164              The absolute path to the userdeny db file.   If  not  specified,
3165              will be configdirectory/user_deny.db
3166
3167          username_tolower: 1
3168              Convert  usernames to all lowercase before login/authentication.
3169              This is useful with authentication backends  which  ignore  case
3170              during username lookups (such as LDAP).
3171
3172          userprefix: Other Users
3173              If  using the alternate IMAP namespace, the prefix for the other
3174              users namespace.  The hierarchy delimiter will be  automatically
3175              appended.
3176
3177          unix_group_enable: 1
3178              Should  we  look up groups when using auth_unix (disable this if
3179              you are not using groups in ACLs for your IMAP server,  and  you
3180              are  using auth_unix with a backend (such as LDAP) that can make
3181              getgrent() calls very slow)
3182
3183          unixhierarchysep: 1
3184              Use the UNIX separator character '/' for  delimiting  levels  of
3185              mailbox  hierarchy.  Turn off to use the netnews separator char‐
3186              acter '.'. Note that with the newnews separator, no dots may oc‐
3187              cur  in  mailbox names.  The default switched in 3.0 from off to
3188              on.
3189
3190          vcard_max_size: 0
3191              Maximum allowed vCard size.  If non-zero, CardDAV and JMAP  will
3192              reject  storage of contacts whose vCard representation is larger
3193              than vcard_max_size.
3194
3195              If set to 0 (the default), a large internally-defined limit will
3196              be applied.
3197
3198              If no unit is specified, bytes is assumed.
3199
3200          virtdomains: off
3201              Configure virtual domain support.
3202
3203              off    Cyrus does not know or care about domains. Only the local
3204                     part of email addresses is ever considered.  This is  not
3205                     recommended  for any deployment, but is currently the de‐
3206                     fault.
3207
3208              userid The user's domain is  determined  by  splitting  a  fully
3209                     qualified  userid  at the last '@' or '%' symbol.  If the
3210                     userid is unqualified, the defaultdomain  will  be  used.
3211                     This  is  the  recommended  configuration for all deploy‐
3212                     ments.  If you wish to provide calendaring  services  you
3213                     must use this configuration.
3214
3215              on     Fully  qualified  userids are respected, as per "userid".
3216                     Unqualified userids will have their domain determined  by
3217                     doing  a reverse lookup on the IP address of the incoming
3218                     network interface, or if no record is found, the default‐
3219                     domain will be used.
3220
3221                     Allowed values: off, userid, on
3222
3223          virusscan_notification_subject: Automatically deleted mail
3224              The  text  used in the subject of email notifications created by
3225              cyr_virusscan(8) when deleting infected mail.
3226
3227          virusscan_notification_template: <none>
3228              The absolute path to a file containing a template to use to  de‐
3229              scribe  infected  messages that have been deleted by cyr_viruss‐
3230              can(8).  See cyr_virusscan(8) for specification of the format of
3231              this  file.  If not specified, the builtin default template will
3232              be used.
3233
3234          websocket_timeout: 30m
3235              Set the length of the HTTP server's inactivity autologout  timer
3236              when  a  WebSocket channel has been established.  The default is
3237              30 minutes.  The minimum value is 0, which will disable WebSock‐
3238              ets.
3239
3240              If no unit is specified, minutes is assumed.
3241
3242          webdav_attachments_baseurl: <none>
3243              The  base  URL  for  WebDAV  managed  attachments, excluding the
3244              Cyrus-specific URL paths. Typically, this only includes the HTTP
3245              scheme  and host name at which DAV clients may fetch managed at‐
3246              tachments from, e.g.  "https://dav.example.com".  If not  speci‐
3247              fied,  the target host of the DAV HTTP request that uploaded the
3248              attachment will be used. For JMAP, the Link.blobId  property  of
3249              JSCalendar objects will be disabled.
3250
3251          webdav_attachments_max_binary_attach_size: 1024K
3252              The maximum byte length of an ATTACH property value when managed
3253              attachment URIs get rewritten to BINARY during iTIP  processing.
3254              Any attachment that exceeds this byte size keeps its managed at‐
3255              tachment URI as ATTACH value. A zero size limit  causes  attach‐
3256              ments of any size be rewritten as BINARY.
3257
3258          xbackup_enabled: 0
3259              Enable  support  for  the XBACKUP command in imapd.  If enabled,
3260              admin users can use this command to  provoke  a  replication  of
3261              specified users to the named backup channel.
3262
3263          xlist-flag: <none>
3264              Set the special-use flag flag on the specified folder when it is
3265              autocreated (see the autocreate_inbox_folders option).  For  ex‐
3266              ample,  if  xlist-junk:  Spam is set, and the folder Spam is au‐
3267              tocreated, the special-use flag \Junk will be set on it.
3268
3269              (This option is so named for  backward  compatibility  with  old
3270              config files.)
3271
3272          lmtp_catchall_mailbox: <none>
3273              Mail  sent to mailboxes which do not exist, will be delivered to
3274              this user.  NOTE: This must be an existing local user name  with
3275              an INBOX, NOT an email address!
3276
3277          zoneinfo_db: twoskip
3278              The  cyrusdb backend to use for zoneinfo.  This database is used
3279              by the "tzdist" httpmodules, and is managed by  ctl_zoneinfo(8).
3280              Allowed values: flat, skiplist, twoskip, zeroskip
3281
3282          zoneinfo_db_path: <none>
3283              The  absolute  path  to the zoneinfo db file.  If not specified,
3284              will be configdirectory/zoneinfo.db
3285
3286          zoneinfo_dir: <none>
3287              The absolute path to the zoneinfo directory, containing timezone
3288              definitions  as  generated  by the vzic tool.  If not specified,
3289              whatever definitions libical finds will be used.
3290
3291              If you are providing a Time Zone Data Distribution Service (i.e.
3292              you  have  "tzdist" listed in httpmodules), then this configura‐
3293              tion option MUST be specified.
3294
3295          object_storage_enabled: 0
3296              Is Object storage enabled for this server.   You  also  need  to
3297              have  archiving  enabled  and  archivepartition for the mailbox.
3298              Only email files will be stored on object Storage archive parti‐
3299              tion will be used to store any other files
3300
3301          object_storage_dummy_spool: <none>
3302              Dummy  object storage spool; this is for test only.  Spool where
3303              user directory (container) will be created to store  all  emails
3304              in a flat structure
3305
3306          openio_namespace: <none>
3307              The  OpenIO  namespace  used to store archived email messages. A
3308              namespace identifies the physical platform cyrus  must  contact.
3309              This  directive  is used by the OpenIO's SDK to locate its plat‐
3310              form entry point.
3311
3312          openio_account: <none>
3313              The OpenIO account used to account for stored  emails.  Accounts
3314              are unique in their namespace. They provides virtual partitions,
3315              with quotas and QoS features.
3316
3317          openio_rawx_timeout: 30s
3318              The OpenIO timeout to query to the  RAWX  services  (default  30
3319              sec).
3320
3321          openio_proxy_timeout: 5s
3322              The  OpenIO  timeout  to  query to the PROXY services (default 5
3323              sec).
3324
3325          openio_autocreate: 0
3326              Allow the OpenIO SDK to autocreate containers.  Mainly  destined
3327              to  be  turned  on  development environments. In production, the
3328              container should have been provisioned with the mailboxes.
3329
3330          openio_verbosity: <none>
3331              Sets the logging verbosity of the  OpenIO's  internal  behavior.
3332              Admissible  values  are:  "warning",  "notice", "info", "debug",
3333              "trace", "quiet".  The default verbosity is  "warning".  Set  to
3334              "notice"  for  a  few lines on a per-client basis. Set to "info"
3335              for a few lines on a per-request basis. Set to  "debug"  Set  to
3336              "trace"  to  activate  the  underlying libcurl debug output. En‐
3337              abling a verbosity higher to equal  than  "debug"  requires  the
3338              cyrus  to  be  set in debug mode. The special "quiet" value dis‐
3339              ables all kinds of logging at the GLib level.
3340
3341          caringo_hostname: <none>
3342              The Caringo hostname used to store archived  email  messages.  A
3343              hostname  identifies  the  physical platform cyrus must contact.
3344              This directive is used by the Caringo's SDK (CastorSDK:  Caringo
3345              Simple Content Storage Protocol (SCSP) on HTTP 1.1 using a REST‐
3346              ful architecture
3347
3348          caringo_port: 80
3349              The port of the caringo server  (caringo_hostname);  default  is
3350              80.
3351
3352          fastmailsharing: 0
3353              If  enabled,  use  FastMail style sharing (oldschool full server
3354              paths)
3355

SEE ALSO

3357          imapd(8),  pop3d(8),  nntpd(8),  lmtpd(8),  httpd(8),  timsieved(8),
3358          idled(8), notifyd(8), deliver(8), master(8), ciphers(1)
3359

AUTHOR

3361       The Cyrus Team
3362
3364       1993–2023, The Cyrus Team
3365
3366
3367
3368
33693.8.1                            Sep 11, 2023                    IMAPD.CONF(5)
Impressum