f60586db459aaeb6690a17a728dfc6d33ba34e88
[ach-master.git] / src / configuration / MailServers / cyrus-imapd / imapd.conf
1 # Debian Cyrus imapd.conf
2 # See imapd.conf(5) for more information and more options
3
4 # Configuration directory
5 configdirectory: /var/lib/cyrus
6
7 # Directories for proc and lock files
8 proc_path: /run/cyrus/proc
9 mboxname_lockpath: /run/cyrus/lock
10
11 # Which partition to use for default mailboxes
12 defaultpartition: default
13 partition-default: /var/spool/cyrus/mail
14
15 # News setup
16 partition-news: /var/spool/cyrus/news
17 newsspool: /var/spool/news
18
19 # Alternate namespace
20 # If enabled, activate the alternate namespace as documented in
21 # /usr/share/doc/cyrus-doc-2.4/html/altnamespace.html, where an user's
22 # subfolders are in the same level as the INBOX
23 # See also userprefix and sharedprefix on imapd.conf(5)
24 altnamespace: no
25
26 # UNIX Hierarchy Convention
27 # Set to yes, and cyrus will accept dots in names, and use the forward
28 # slash "/" to delimit levels of the hierarchy. This is done by converting
29 # internally all dots to "^", and all "/" to dots. So the "rabbit.holes"
30 # mailbox of user "helmer.fudd" is stored in "user.elmer^fud.rabbit^holes"
31 unixhierarchysep: no
32
33 # Rejecting illegal characters in headers
34 # Headers of RFC2882 messages must not have characters with the 8th bit
35 # set. However, too many badly-written MUAs generate this, including most
36 # spamware. Enable this to reject such messages.
37 #reject8bit: yes
38
39 # Munging illegal characters in headers
40 # Headers of RFC2882 messages must not have characters with the 8th bit
41 # set. However, too many badly-written MUAs generate this, including most
42 # spamware. If you kept reject8bit disabled, you can choose to leave the
43 # crappage untouched by disabling this (if you don't care that IMAP SEARCH
44 # won't work right anymore.
45 #munge8bit: no
46
47 # Forcing recipient user to lowercase
48 # Cyrus IMAPD is case-sensitive.  If all your mail users are in lowercase, it is
49 # probably a very good idea to set lmtp_downcase_rcpt to true.  This is set by 
50 # default, per RFC2821.
51 lmtp_downcase_rcpt: yes
52
53 # Uncomment the following and add the space-separated users who 
54 # have admin rights for all services.
55 #admins: cyrus
56
57 # Space-separated list of users that have lmtp "admin" status (i.e. that
58 # can deliver email through TCP/IP lmtp). If specified, this parameter
59 # overrides the "admins" parameter above
60 #lmtp_admins: postman
61
62 # Space-separated list of users that have mupdate "admin" status, in
63 # addition to those in the admins: entry above. Note that mupdate slaves and 
64 # backends in a Murder cluster need to autenticate against the mupdate master
65 # as admin users.
66 #mupdate_admins: mupdateman
67
68 # Space-separated list of users that have imapd "admin" status, in
69 # addition to those in the admins: entry above
70 #imap_admins: cyrus
71
72 # Space-separated list of users that have sieve "admin" status, in
73 # addition to those in the admins: entry above
74 #sieve_admins: cyrus
75
76 # List of users and groups that are allowed to proxy for other users,
77 # seperated by spaces.  Any user listed in this will be allowed to login
78 # for any other user.  Like "admins:" above, you can have imap_proxyservers
79 # and sieve_proxyservers.
80 #proxyservers: cyrus
81
82 # No anonymous logins
83 allowanonymouslogin: no
84
85 # Minimum time between POP mail fetches in minutes
86 popminpoll: 1
87
88 # If nonzero, normal users may create their own IMAP accounts by creating
89 # the mailbox INBOX.  The user's quota is set to the value if it is positive,
90 # otherwise the user has unlimited quota.
91 autocreatequota: 0
92
93 # umask used by Cyrus programs
94 umask: 077
95
96 # Sendmail binary location
97 # DUE TO A BUG, Cyrus sends CRLF EOLs to this program. This breaks Exim 3. 
98 # For now, to work around the bug, set this to a wrapper that calls 
99 # /usr/sbin/sendmail -dropcr instead if you use Exim 3.
100 #sendmail: /usr/sbin/sendmail
101
102 # If enabled, cyrdeliver will look for Sieve scripts in user's home
103 # directories: ~user/.sieve.
104 sieveusehomedir: false
105
106 # If sieveusehomedir is false, this directory is searched for Sieve scripts.
107 sievedir: /var/spool/sieve
108
109 # Space-separated list of HTTP modules that will be enabled in
110 # httpd(8).  This option has no effect on modules that are disabled at
111 # compile time due to missing dependencies (e.g. libical).
112
113 # Allowed values: caldav, carddav, domainkey, ischedule, rss
114 httpmodules: caldav carddav
115
116 # notifyd(8) method to use for "MAIL" notifications.  If not set, "MAIL"
117 # notifications are disabled.  Valid methods are: null, log, zephyr
118 #mailnotifier: zephyr
119
120 # notifyd(8) method to use for "SIEVE" notifications.  If not set, "SIEVE"
121 # notifications are disabled.  This method is only used when no method is
122 # specified in the script.  Valid methods are null, log, zephyr, mailto
123 #sievenotifier: zephyr
124
125 # If enabled, the partitions will also be hashed, in addition to the hashing
126 # done on configuration directories. This is recommended if one partition has a
127 # very bushy mailbox tree.
128 hashimapspool: true
129
130 # Allow plaintext logins by default (SASL PLAIN)
131 allowplaintext: no
132
133 # Force PLAIN/LOGIN authentication only
134 # (you need to uncomment this if you are not using an auxprop-based SASL
135 # mechanism.  saslauthd users, that means you!). And pay attention to
136 # sasl_minimum_layer and allowapop below, too.
137 #sasl_mech_list: PLAIN
138
139 # Allow use of the POP3 APOP authentication command.
140 # Note that this command requires that the plaintext passwords are 
141 # available in a SASL auxprop backend (eg. sasldb), and that the system
142 # can provide enough entropy (eg. from /dev/urandom) to create a challenge
143 # in the banner.
144 #allowapop: no
145
146 # The minimum SSF that the server will allow a client to negotiate. A
147 # value of 1 requires integrity protection; any higher value requires some
148 # amount of encryption.
149 #sasl_minimum_layer: 0
150
151 # The maximum SSF that the server will allow a client to negotiate. A
152 # value of 1 requires integrity protection; any higher value requires some
153 # amount of encryption.
154 #sasl_maximum_layer: 256
155
156 # List of remote realms whose users may log in using cross-realm
157 # authentications. Seperate each realm name by a space. A cross-realm
158 # identity is considered any identity returned by SASL with an "@" in it.
159 # NOTE: To support multiple virtual domains on the same interface/IP,
160 # you need to list them all as loginreals. If you don't list them here,
161 # (most of) your users probably won't be able to log in.
162 #loginrealms: example.com
163
164 # Enable virtual domain support.  If enabled, the user's domain will
165 # be determined by splitting a fully qualified userid at the last '@'
166 # or '%' symbol.  If the userid is unqualified, and the virtdomains
167 # option is set to "on", then the domain will be determined by doing
168 # a reverse lookup on the IP address of the incoming network
169 # interface, otherwise the user is assumed to be in the default
170 # domain (if set).
171 #virtdomains: userid
172
173 # The default domain for virtual domain support
174 # If the domain of a user can't be taken from its login and it can't
175 # be determined by doing a reverse lookup on the interface IP, this
176 # domain is used.
177 #defaultdomain: 
178
179 #
180 # SASL library options (these are handled directly by the SASL libraries,
181 # refer to SASL documentation for an up-to-date list of these)
182 #
183
184 # The mechanism(s) used by the server to verify plaintext passwords. Possible
185 # values are "saslauthd", "auxprop", "pwcheck" and "alwaystrue".  They
186 # are tried in order, you can specify more than one, separated by spaces.
187 #
188 # Do note that, since sasl will be run as user cyrus, you may have a lot of
189 # trouble to set this up right.
190 sasl_pwcheck_method: auxprop
191
192 # What auxpropd plugins to load, if using sasl_pwcheck_method: auxprop
193 # by default, all plugins are tried (which is probably NOT what you want).
194 #sasl_auxprop_plugin: sasldb
195
196 # If enabled, the SASL library will automatically create authentication secrets
197 # when given a plaintext password. Refer to SASL documentation 
198 sasl_auto_transition: no
199
200 #
201 # SSL/TLS Options
202 #
203
204 # File containing the global certificate used for ALL services (imap, pop3,
205 # lmtp, sieve)
206 tls_cert_file: /etc/ssl/certs/ssl-cert-snakeoil.pem
207
208 # File containing the private key belonging to the global server certificate.
209 tls_key_file: /etc/ssl/private/ssl-cert-snakeoil.key
210
211 # File containing the certificate used for imap. If not specified, the global
212 # certificate is used.  A value of "disabled" will disable SSL/TLS for imap.
213 #imap_tls_cert_file: /etc/ssl/certs/cyrus-imap.pem
214
215 # File containing the private key belonging to the imap-specific server
216 # certificate.  If not specified, the global private key is used.  A value of
217 # "disabled" will disable SSL/TLS for imap.
218 #imap_tls_key_file: /etc/ssl/private/cyrus-imap.key
219
220 # File containing the certificate used for pop3. If not specified, the global
221 # certificate is used.  A value of "disabled" will disable SSL/TLS for pop3.
222 #pop3_tls_cert_file: /etc/ssl/certs/cyrus-pop3.pem
223
224 # File containing the private key belonging to the pop3-specific server
225 # certificate.  If not specified, the global private key is used.  A value of
226 # "disabled" will disable SSL/TLS for pop3.
227 #pop3_tls_key_file: /etc/ssl/private/cyrus-pop3.key
228
229 # File containing the certificate used for lmtp. If not specified, the global
230 # certificate is used.  A value of "disabled" will disable SSL/TLS for lmtp.
231 #lmtp_tls_cert_file: /etc/ssl/certs/cyrus-lmtp.pem
232
233 # File containing the private key belonging to the lmtp-specific server
234 # certificate.  If not specified, the global private key is used.  A value of
235 # "disabled" will disable SSL/TLS for lmtp.
236 #lmtp_tls_key_file: /etc/ssl/private/cyrus-lmtp.key
237
238 # File containing the certificate used for sieve. If not specified, the global
239 # certificate is used.  A value of "disabled" will disable SSL/TLS for sieve.
240 #sieve_tls_cert_file: /etc/ssl/certs/cyrus-sieve.pem
241
242 # File containing the private key belonging to the sieve-specific server
243 # certificate.  If not specified, the global private key is used.  A value of
244 # "disabled" will disable SSL/TLS for sieve.
245 #sieve_tls_key_file: /etc/ssl/private/cyrus-sieve.key
246
247 # File containing one or more Certificate Authority (CA) certificates.
248 #tls_ca_file: /etc/ssl/certs/cyrus-imapd-ca.pem
249
250 # Path to directory with certificates of CAs.
251 tls_ca_path: /etc/ssl/certs
252
253 # The length of time (in minutes) that a TLS session will be cached for later
254 # reuse.  The maximum value is 1440 (24 hours), the default.  A value of 0 will
255 # disable session caching.
256 tls_session_timeout: 1440
257
258 # The list of SSL/TLS ciphers to allow, in decreasing order of precedence.  
259 # The format of the string is described in ciphers(1).  The Debian default
260 # selects TLSv1 high-security ciphers only, and removes all anonymous ciphers
261 # from the list (because they provide no defense against man-in-the-middle
262 # attacks).  It also orders the list so that stronger ciphers come first.
263 tls_cipher_list: EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
264
265 # Require a client certificate for ALL services (imap, pop3, lmtp, sieve).
266 #tls_require_cert: false
267
268 # Require a client certificate for imap ONLY.
269 #imap_tls_require_cert: false
270
271 # Require a client certificate for pop3 ONLY.
272 #pop3_tls_require_cert: false
273
274 # Require a client certificate for lmtp ONLY.
275 #lmtp_tls_require_cert: false
276
277 # Require a client certificate for sieve ONLY.
278 #sieve_tls_require_cert: false
279
280 #
281 # Cyrus Murder cluster configuration
282 #
283 # Set the following options to the values needed for this server to
284 # autenticate against the mupdate master server:
285 # mupdate_server
286 # mupdate_port
287 # mupdate_username
288 # mupdate_authname
289 # mupdate_realm
290 # mupdate_password
291 # mupdate_retry_delay
292
293 ##
294 ## KEEP THESE IN SYNC WITH cyrus.conf
295 ##
296 # Unix domain socket that lmtpd listens on.
297 lmtpsocket: /var/run/cyrus/socket/lmtp
298
299 # Unix domain socket that idled listens on.
300 idlesocket: /var/run/cyrus/socket/idle
301
302 # Unix domain socket that the new mail notification daemon listens on.
303 notifysocket: /var/run/cyrus/socket/notify
304
305 # Syslog prefix. Defaults to cyrus (so logging is done as cyrus/imap etc.)
306 syslog_prefix: cyrus
307
308 ##
309 ## DEBUGGING
310 ##
311 # Debugging hook. See /usr/share/doc/cyrus-common-2.4/README.Debian.debug
312 # Keep the hook disabled when it is not in use
313 #
314 # gdb Back-traces
315 #debug_command: /usr/bin/gdb -batch -cd=/tmp -x /usr/lib/cyrus/get-backtrace.gdb /usr/lib/cyrus/bin/%s %d >/tmp/gdb-backtrace.cyrus.%1$s.%2$d <&- 2>&1 &
316 #
317 # system-call traces
318 #debug_command: /usr/bin/strace -tt -o /tmp/strace.cyrus.%s.%d -p %2$d <&- 2>&1 &
319 #
320 # library traces
321 #debug_command: /usr/bin/ltrace -tt -n 2 -o /tmp/ltrace.cyrus.%s.%d -p %2$d <&- 2>&1 &