1##VERSION: $Id: de091070e7fd4e8898a8bb3e17996bc7fef7ad48-20210424122956$
2#
3# imapd created from imapd.dist by sysconftool
4#
5# Do not alter lines that begin with ##, they are used when upgrading
6# this configuration.
7#
8#  Copyright 1998 - 2015 Double Precision, Inc.  See COPYING for
9#  distribution information.
10#
11#  This configuration file sets various options for the Courier-IMAP server
12#  when used with the couriertcpd server.
13#  A lot of the stuff here is documented in the manual page for couriertcpd.
14#
15#  NOTE - do not use \ to split long variable contents on multiple lines.
16#  This will break the default imapd.rc script, which parses this file.
17#
18##NAME: ADDRESS:0
19#
20#  Address to listen on, can be set to a single IP address.
21#
22# ADDRESS=127.0.0.1
23
24ADDRESS=0
25
26##NAME: PORT:1
27#
28#  Port numbers that connections are accepted on.  The default is 143,
29#  the standard IMAP port.
30#
31#  Multiple port numbers can be separated by commas.  When multiple port
32#  numbers are used it is possible to select a specific IP address for a
33#  given port as "ip.port".  For example, "127.0.0.1.900,192.68.0.1.900"
34#  accepts connections on port 900 on IP addresses 127.0.0.1 and 192.68.0.1
35#  The previous ADDRESS setting is a default for ports that do not have
36#  a specified IP address.
37
38PORT=143
39
40##NAME: AUTHSERVICE:0
41#
42#  It's possible to authenticate using a different 'service' parameter
43#  depending on the connection's port.  This only works with authentication
44#  modules that use the 'service' parameter, such as PAM.  Example:
45#
46#  AUTHSERVICE143=imap
47#  AUTHSERVICE993=imaps
48
49##NAME: MAXDAEMONS:0
50#
51#  Maximum number of IMAP servers started
52#
53
54MAXDAEMONS=40
55
56##NAME: MAXPERIP:0
57#
58#  Maximum number of connections to accept from the same IP address
59
60MAXPERIP=4
61
62##NAME: PIDFILE:0
63#
64#  File where couriertcpd will save its process ID
65#
66
67PIDFILE=@piddir@/imapd.pid
68
69##NAME: TCPDOPTS:0
70#
71# Miscellaneous couriertcpd options that shouldn't be changed.
72#
73
74TCPDOPTS="-nodnslookup -noidentlookup"
75
76##NAME: ACCESSFILE:0
77#
78# IMAP access file.
79
80IMAPACCESSFILE=@sysconfdir@/imapaccess
81
82##NAME: LOGGEROPTS:0
83#
84# courierlogger(1) options.
85#
86
87LOGGEROPTS="-name=imapd"
88
89##NAME: DEFDOMAIN:0
90#
91# Optional default domain. If the username does not contain the
92# first character of DEFDOMAIN, then it is appended to the username.
93# If DEFDOMAIN and DOMAINSEP are both set, then DEFDOMAIN is appended
94# only if the username does not contain any character from DOMAINSEP.
95# You can set different default domains based on the the interface IP
96# address using the -access and -accesslocal options of couriertcpd(1).
97
98#DEFDOMAIN="@example.com"
99
100##NAME: IMAP_CAPABILITY:1
101#
102# IMAP_CAPABILITY specifies what most of the response should be to the
103# CAPABILITY command.
104#
105# If you have properly configured Courier to use CRAM-MD5, CRAM-SHA1, or
106# CRAM-SHA256 authentication (see INSTALL), set IMAP_CAPABILITY as follows:
107#
108# IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
109#
110
111IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
112
113##NAME: KEYWORDS_CAPABILITY:0
114#
115# IMAP_KEYWORDS=1 enables custom IMAP keywords.  Set this option to 0 to
116# disable custom keywords.
117#
118# IMAP_KEYWORDS=2 also enables custom IMAP keywords, but uses a slower
119# algorithm. Use this setting if keyword-related problems occur when
120# multiple IMAP clients are updating keywords on the same message.
121
122IMAP_KEYWORDS=1
123
124##NAME: ACL_CAPABILITY:0
125#
126# IMAP_ACL=1 enables IMAP ACL extension. Set this option to 0 to
127# disable ACL capabilities announce.
128
129IMAP_ACL=1
130
131##NAME: SMAP1_CAPABILITY:0
132#
133# EXPERIMENTAL
134#
135# To enable the experimental "Simple Mail Access Protocol" extensions,
136# uncomment the following setting.
137#
138# SMAP_CAPABILITY=SMAP1
139
140##NAME: IMAP_CAPABILITY_ORIG:2
141#
142# For use by webadmin
143
144IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
145
146##NAME: IMAP_PROXY:0
147#
148# Enable proxying.  See README.proxy
149
150IMAP_PROXY=0
151
152##NAME: PROXY_HOSTNAME:0
153#
154# Override value from gethostname() when checking if a proxy connection is
155# required.
156#
157# PROXY_HOSTNAME=
158
159##NAME: IMAP_PROXY_FOREIGN:0
160#
161# Proxying to non-Courier servers.  Re-sends the CAPABILITY command after
162# logging in to the remote server.  May not work with all IMAP clients.
163
164IMAP_PROXY_FOREIGN=0
165
166##NAME: IMAP_IDLE_TIMEOUT:0
167#
168# This setting controls how often
169# the server polls for changes to the folder, in IDLE mode (in seconds).
170
171IMAP_IDLE_TIMEOUT=60
172
173##NAME: IMAP_MAILBOX_SANITY_CHECK:0
174#
175# Sanity check -- make sure home directory and maildir's ownership matches
176# the IMAP server's effective uid and gid
177
178IMAP_MAILBOX_SANITY_CHECK=1
179
180##NAME: IMAP_CAPABILITY_TLS:0
181#
182# The following setting will advertise SASL PLAIN authentication after
183# STARTTLS is established.  If you want to allow SASL PLAIN authentication
184# with or without TLS then just comment this out, and add AUTH=PLAIN to
185# IMAP_CAPABILITY
186
187IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
188
189##NAME: IMAP_TLS_ORIG:0
190#
191# For use by webadmin
192
193IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
194
195##NAME: IMAP_DISABLETHREADSORT:0
196#
197# Set IMAP_DISABLETHREADSORT to disable the THREAD and SORT commands -
198# server side sorting and threading.
199#
200# Those capabilities will still be advertised, but the server will reject
201# them.  Set this option if you want to disable all the extra load from
202# server-side threading and sorting.  Not advertising those capabilities
203# will simply result in the clients reading the entire folder, and sorting
204# it on the client side.  That will still put some load on the server.
205# advertising these capabilities, but rejecting the commands, will stop this
206# silliness.
207#
208
209IMAP_DISABLETHREADSORT=0
210
211##NAME: IMAP_CHECK_ALL_FOLDERS:0
212#
213# Set IMAP_CHECK_ALL_FOLDERS to 1 if you want the server to check for new
214# mail in every folder.  Not all IMAP clients use the IMAP's new mail
215# indicator, but some do.  Normally new mail is checked only in INBOX,
216# because it is a comparatively time consuming operation, and it would be
217# a complete waste of time unless mail filters are used to deliver
218# mail directly to folders.
219#
220# When IMAP clients are used which support new mail indication, and when
221# mail filters are used to sort incoming mail into folders, setting
222# IMAP_CHECK_ALL_FOLDERS to 1 will allow IMAP clients to announce new
223# mail in folders.  Note that this will result in slightly more load on the
224# server.
225#
226
227IMAP_CHECK_ALL_FOLDERS=0
228
229##NAME: IMAP_OBSOLETE_CLIENT:0
230#
231# Set IMAP_OBSOLETE_CLIENT if your IMAP client expects \\NoInferiors to mean
232# what \\HasNoChildren really means.
233
234IMAP_OBSOLETE_CLIENT=0
235
236##NAME: IMAP_UMASK:0
237#
238# IMAP_UMASK sets the umask of the server process.  The value of IMAP_UMASK is
239# simply passed to the "umask" command.  The default value is 022.
240#
241# This feature is mostly useful for shared folders, where the file permissions
242# of the messages may be important.
243
244IMAP_UMASK=022
245
246##NAME: IMAP_ULIMITD:0
247#
248# IMAP_ULIMITD sets the maximum size of the data segment of the server
249# process.  The value of IMAP_ULIMITD is simply passed to the "ulimit -d"
250# command (or ulimit -v).  The argument to ulimi sets the upper limit on the
251# size of the data segment of the server process, in kilobytes.  The default
252# value of 65536 sets a very generous limit of 64 megabytes, which should
253# be more than plenty for anyone.
254#
255# This feature is used as an additional safety check that should stop
256# any potential denial-of-service attacks that exploit any kind of
257# a memory leak to exhaust all the available memory on the server.
258# It is theoretically possible that obscenely huge folders will also
259# result in the server running out of memory when doing server-side
260# sorting (by my calculations you have to have at least 100,000 messages
261# in a single folder, for that to happen).
262
263IMAP_ULIMITD=65536
264
265##NAME: IMAP_USELOCKS:0
266#
267# Setting IMAP_USELOCKS to 1 will use dot-locking to support concurrent
268# multiple access to the same folder.  This incurs slight additional
269# overhead.  Concurrent multiple access will still work without this setting,
270# however occasionally a minor race condition may result in an IMAP client
271# downloading the same message twice, or a keyword update will fail.
272#
273# IMAP_USELOCKS=1 is strongly recommended when shared folders are used.
274
275IMAP_USELOCKS=1
276
277##NAME: IMAP_SHAREDINDEXFILE:0
278#
279# The index of all accessible folders.  Do not change this setting unless
280# you know what you're doing.  See README.sharedfolders for additional
281# information.
282
283IMAP_SHAREDINDEXFILE=@sysconfdir@/shared/index
284
285##NAME: IMAP_TRASHFOLDERNAME:0
286#
287# The name of the magic trash Folder.  For MSOE compatibility,
288# you can set IMAP_TRASHFOLDERNAME="Deleted Items".
289#
290# IMPORTANT:  If you change this, you must also change IMAP_EMPTYTRASH
291
292IMAP_TRASHFOLDERNAME=Trash
293
294##NAME: IMAP_EMPTYTRASH:0
295#
296# The following setting is optional, and causes messages from the given
297# folder to be automatically deleted after the given number of days.
298# IMAP_EMPTYTRASH is a comma-separated list of folder:days.  The default
299# setting, below, purges 7 day old messages from the Trash folder.
300# Another useful setting would be:
301#
302# IMAP_EMPTYTRASH=Trash:7,Sent:30
303#
304# This would also delete messages from the Sent folder (presumably copies
305# of sent mail) after 30 days.  This is a global setting that is applied to
306# every mail account, and is probably useful in a controlled, corporate
307# environment.
308#
309# Important: the purging is controlled by CTIME, not MTIME (the file time
310# as shown by ls).  It is perfectly ordinary to see stuff in Trash that's
311# a year old.  That's the file modification time, MTIME, that's displayed.
312# This is generally when the message was originally delivered to this
313# mailbox.  Purging is controlled by a different timestamp, CTIME, which is
314# changed when the file is moved to the Trash folder (and at other times too).
315#
316# You might want to disable this setting in certain situations - it results
317# in a stat() of every file in each folder, at login and logout.
318#
319
320IMAP_EMPTYTRASH=Trash:7
321
322##NAME: IMAP_MOVE_EXPUNGE_TO_TRASH:0
323#
324# Set IMAP_MOVE_EXPUNGE_TO_TRASH to move expunged messages to Trash.  This
325# effectively allows an undo of message deletion by fishing the deleted
326# mail from trash.  Trash can be manually expunged as usually, and mail
327# will get automatically expunged from Trash according to IMAP_EMPTYTRASH.
328#
329# NOTE: shared folders are still expunged as usual.  Shared folders are
330# not affected.
331#
332
333IMAP_MOVE_EXPUNGE_TO_TRASH=0
334
335##NAME: IMAP_LOG_DELETIONS:0
336#
337#
338# Set IMAP_LOG_DELETIONS to log all message deletions to syslog.
339#
340# IMAP_LOG_DELETIONS=1
341
342##NAME: AUTH_MKHOMEDIR_SKEL:0
343#
344# Uncomment this setting to automatically create a home directory on first
345# login. if the AUTH_MKHOMEDIR_SKEL environment variable is set, and the
346# home directory does not exist, the home directory gets created, with its
347# initial contents copied from AUTH_MKHOMEDIR_SKEL which must be a directory,
348# typically /etc/skel.
349#
350# Note that this must be a complete home directory structure, including
351# the maildir. Typically:
352#
353# mkdir /etc/skel
354# chmod 700 /etc/skel
355# maildirmake /etc/skel/Maildir
356#
357# This directory gets copied as is, preserving each file/subdirectory's
358# permissions, with only userid/groupid changed to match the account's.
359#
360#
361# AUTH_MKHOMEDIR_SKEL=/etc/skel
362
363##NAME: IMAPDEBUGFILE:0
364#
365# IMAPDEBUGFILE="imaplog.dat"
366#
367# Generate diagnostic logging of IMAP commands.
368#
369# Set this globally, restart the server. Touch this file in an account's
370# maildir directory, and Courier-IMAP will append all IMAP commands received
371# for new sessions for this account. NOTE: existing IMAP sessions are not
372# affected, only new IMAP logins.
373
374
375##NAME: OUTBOX:0
376#
377# The next set of options deal with the "Outbox" enhancement.
378# Uncomment the following setting to create a special folder, named
379# INBOX.Outbox
380#
381# OUTBOX=.Outbox
382
383##NAME: SENDMAIL:0
384#
385# If OUTBOX is defined, mail can be sent via the IMAP connection by copying
386# a message to the INBOX.Outbox folder.  For all practical matters,
387# INBOX.Outbox looks and behaves just like any other IMAP folder.  If this
388# folder doesn't exist it must be created by the IMAP mail client, just
389# like any other IMAP folder.  The kicker: any message copied or moved to
390# this folder is will be E-mailed by the Courier-IMAP server, by running
391# the SENDMAIL program.  Therefore, messages copied or moved to this
392# folder must be well-formed RFC-2822 messages, with the recipient list
393# specified in the To:, Cc:, and Bcc: headers.  Courier-IMAP relies on
394# SENDMAIL to read the recipient list from these headers (and delete the Bcc:
395# header) by running the command "$SENDMAIL -oi -t -f $SENDER", with the
396# message piped on standard input.  $SENDER will be the return address
397# of the message, which is set by the authentication module.
398#
399# DO NOT MODIFY SENDMAIL, below, unless you know what you're doing.
400#
401
402SENDMAIL=@SENDMAIL@
403
404##NAME: HEADERFROM:0
405#
406# For administrative and oversight purposes, the return address, $SENDER
407# will also be saved in the X-IMAP-Sender mail header.  This header gets
408# added to the sent E-mail (but it doesn't get saved in the copy of the
409# message that's saved in the folder)
410#
411# WARNING - By enabling OUTBOX above, *every* IMAP mail client will receive
412# the magic OUTBOX treatment.  Therefore advance LARTing is in order for
413# _all_ of your lusers, until every one of them is aware of this.  Otherwise if
414# OUTBOX is left at its default setting - a folder name that might be used
415# accidentally - some people may be in for a rude surprise.  You can redefine
416# the name of the magic folder by changing OUTBOX, above.  You should do that
417# and pick a less-obvious name.  Perhaps brand it with your organizational
418# name ( OUTBOX=.WidgetsAndSonsOutbox )
419
420HEADERFROM=X-IMAP-Sender
421
422##NAME: ID_FIELDS:0
423#
424# Have the server be polite, and identify its version to the client. The client
425# must be logged in before the server will identify itself. Additionally,
426# the client will mutually supply its own software version, and the server will
427# log it.
428#
429# Although the server's banner message identifies itself, in free-form manner,
430# this the ID IMAP extension, for clients to log.
431#
432# IMAP_ID_FIELDS is the sum of the following values:
433#
434# 1 - identify the version of the IMAP server
435# 2 - identify the operating system (if available)
436# 4 - identify the operating system release (if available)
437#
438# A value of 0 identifies the server software only.
439#
440# Uncomment this setting to enable the IMAP ID extension. One reason you might
441# want to enable it is to log the clients' software version. Enabling this
442# setting will mutually log the client's software, in the system logs.
443#
444# IMAP_ID_FIELDS=0
445
446##NAME: OUTBOX_MULTIPLE_SEND:0
447#
448# Remove the following comment to allow a COPY of more than one message to
449# the Outbox, at a time.
450#
451# OUTBOX_MULTIPLE_SEND=1
452
453##NAME: IMAPDSTART:0
454#
455# IMAPDSTART is not used directly.  Rather, this is a convenient flag to
456# be read by your system startup script in /etc/rc.d, like this:
457#
458#  . @sysconfdir@/imapd
459#
460#  case x$IMAPDSTART in
461#  x[yY]*)
462#        @libexecdir@/imapd.rc start
463#        ;;
464#  esac
465#
466# The default setting is going to be NO, so you'll have to manually flip
467# it to yes.
468
469IMAPDSTART=NO
470
471##NAME: MAILDIRPATH:0
472#
473# MAILDIRPATH - directory name of the maildir directory.
474#
475MAILDIRPATH=Maildir
476