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