smailr 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1281 @@
1
+ ## Dovecot configuration file
2
+
3
+ # If you're in a hurry, see http://wiki.dovecot.org/QuickConfiguration
4
+
5
+ # "dovecot -n" command gives a clean output of the changed settings. Use it
6
+ # instead of copy&pasting this file when posting to the Dovecot mailing list.
7
+
8
+ # '#' character and everything after it is treated as comments. Extra spaces
9
+ # and tabs are ignored. If you want to use either of these explicitly, put the
10
+ # value inside quotes, eg.: key = "# char and trailing whitespace "
11
+
12
+ # Default values are shown for each setting, it's not required to uncomment
13
+ # those. These are exceptions to this though: No sections (e.g. namespace {})
14
+ # or plugin settings are added by default, they're listed only as examples.
15
+ # Paths are also just examples with the real defaults being based on configure
16
+ # options. The paths listed here are for configure --prefix=/usr
17
+ # --sysconfdir=/etc --localstatedir=/var --with-ssldir=/etc/ssl
18
+
19
+ # Base directory where to store runtime data.
20
+ #base_dir = /var/run/dovecot
21
+
22
+ # Protocols we want to be serving: imap imaps pop3 pop3s managesieve
23
+ # If you only want to use dovecot-auth, you can set this to "none".
24
+ #protocols = imap imaps
25
+ protocols = imap imaps
26
+
27
+ # A space separated list of IP or host addresses where to listen in for
28
+ # connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6
29
+ # interfaces. Use "*, [::]" for listening both IPv4 and IPv6.
30
+ #
31
+ # If you want to specify ports for each service, you will need to configure
32
+ # these settings inside the protocol imap/pop3/managesieve { ... } section,
33
+ # so you can specify different ports for IMAP/POP3/MANAGESIEVE. For example:
34
+ # protocol imap {
35
+ # listen = *:10143
36
+ # ssl_listen = *:10943
37
+ # ..
38
+ # }
39
+ # protocol pop3 {
40
+ # listen = *:10100
41
+ # ..
42
+ # }
43
+ # protocol managesieve {
44
+ # listen = *:12000
45
+ # ..
46
+ # }
47
+ #listen = *
48
+
49
+ # Disable LOGIN command and all other plaintext authentications unless
50
+ # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
51
+ # matches the local IP (ie. you're connecting from the same computer), the
52
+ # connection is considered secure and plaintext authentication is allowed.
53
+ #disable_plaintext_auth = yes
54
+
55
+ # Should all IMAP and POP3 processes be killed when Dovecot master process
56
+ # shuts down. Setting this to "no" means that Dovecot can be upgraded without
57
+ # forcing existing client connections to close (although that could also be
58
+ # a problem if the upgrade is eg. because of a security fix). This however
59
+ # means that after master process has died, the client processes can't write
60
+ # to log files anymore.
61
+ #shutdown_clients = yes
62
+
63
+ ##
64
+ ## Logging
65
+ ##
66
+
67
+ # Log file to use for error messages, instead of sending them to syslog.
68
+ # /dev/stderr can be used to log into stderr.
69
+ #log_path =
70
+
71
+ # Log file to use for informational and debug messages.
72
+ # Default is the same as log_path.
73
+ #info_log_path =
74
+
75
+ # Prefix for each line written to log file. % codes are in strftime(3)
76
+ # format.
77
+ #log_timestamp = "%b %d %H:%M:%S "
78
+ log_timestamp = "%Y-%m-%d %H:%M:%S "
79
+
80
+ # Syslog facility to use if you're logging to syslog. Usually if you don't
81
+ # want to use "mail", you'll use local0..local7. Also other standard
82
+ # facilities are supported.
83
+ #syslog_facility = mail
84
+
85
+ ##
86
+ ## SSL settings
87
+ ##
88
+
89
+ # IP or host address where to listen in for SSL connections. Remember to also
90
+ # add imaps and/or pop3s to protocols setting. Defaults to same as "listen"
91
+ # setting if not specified.
92
+ #ssl_listen =
93
+
94
+ # SSL/TLS support: yes, no, required. </usr/share/doc/dovecot-common/wiki/SSL.txt>
95
+ #ssl = yes
96
+
97
+ # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
98
+ # dropping root privileges, so keep the key file unreadable by anyone but
99
+ # root.
100
+ #ssl_cert_file = /etc/ssl/certs/dovecot.pem
101
+ #ssl_key_file = /etc/ssl/private/dovecot.pem
102
+
103
+ # If key file is password protected, give the password here. Alternatively
104
+ # give it when starting dovecot with -p parameter. Since this file is often
105
+ # world-readable, you may want to place this setting instead to a different
106
+ # root owned 0600 file by using !include_try <path>.
107
+ #ssl_key_password =
108
+
109
+ # File containing trusted SSL certificate authorities. Set this only if you
110
+ # intend to use ssl_verify_client_cert=yes. The CAfile should contain the
111
+ # CA-certificate(s) followed by the matching CRL(s).
112
+ #ssl_ca_file =
113
+
114
+ # Request client to send a certificate. If you also want to require it, set
115
+ # ssl_require_client_cert=yes in auth section.
116
+ #ssl_verify_client_cert = no
117
+
118
+ # Which field from certificate to use for username. commonName and
119
+ # x500UniqueIdentifier are the usual choices. You'll also need to set
120
+ # ssl_username_from_cert=yes.
121
+ #ssl_cert_username_field = commonName
122
+
123
+ # How often to regenerate the SSL parameters file. Generation is quite CPU
124
+ # intensive operation. The value is in hours, 0 disables regeneration
125
+ # entirely.
126
+ #ssl_parameters_regenerate = 168
127
+
128
+ # SSL ciphers to use
129
+ #ssl_cipher_list = ALL:!LOW:!SSLv2
130
+
131
+ # Show protocol level SSL errors.
132
+ #verbose_ssl = no
133
+
134
+ ##
135
+ ## Login processes
136
+ ##
137
+
138
+ # </usr/share/doc/dovecot-common/wiki/LoginProcess.txt>
139
+
140
+ # Directory where authentication process places authentication UNIX sockets
141
+ # which login needs to be able to connect to. The sockets are created when
142
+ # running as root, so you don't have to worry about permissions. Note that
143
+ # everything in this directory is deleted when Dovecot is started.
144
+ #login_dir = /var/run/dovecot/login
145
+
146
+ # chroot login process to the login_dir. Only reason not to do this is if you
147
+ # wish to run the whole Dovecot without roots. </usr/share/doc/dovecot-common/wiki/Rootless.txt>
148
+ #login_chroot = yes
149
+
150
+ # User to use for the login process. Create a completely new user for this,
151
+ # and don't use it anywhere else. The user must also belong to a group where
152
+ # only it has access, it's used to control access for authentication process.
153
+ # Note that this user is NOT used to access mails. </usr/share/doc/dovecot-common/wiki/UserIds.txt>
154
+ #login_user = dovecot
155
+
156
+ # Set max. process size in megabytes. If you don't use
157
+ # login_process_per_connection you might need to grow this.
158
+ #login_process_size = 64
159
+
160
+ # Should each login be processed in it's own process (yes), or should one
161
+ # login process be allowed to process multiple connections (no)? Yes is more
162
+ # secure, espcially with SSL/TLS enabled. No is faster since there's no need
163
+ # to create processes all the time.
164
+ #login_process_per_connection = yes
165
+
166
+ # Number of login processes to keep for listening new connections.
167
+ #login_processes_count = 3
168
+
169
+ # Maximum number of login processes to create. The listening process count
170
+ # usually stays at login_processes_count, but when multiple users start logging
171
+ # in at the same time more extra processes are created. To prevent fork-bombing
172
+ # we check only once in a second if new processes should be created - if all
173
+ # of them are used at the time, we double their amount until the limit set by
174
+ # this setting is reached.
175
+ #login_max_processes_count = 128
176
+
177
+ # Maximum number of connections allowed per each login process. This setting
178
+ # is used only if login_process_per_connection=no. Once the limit is reached,
179
+ # the process notifies master so that it can create a new login process.
180
+ #login_max_connections = 256
181
+
182
+ # Greeting message for clients.
183
+ #login_greeting = Dovecot ready.
184
+
185
+ # Space separated list of trusted network ranges. Connections from these
186
+ # IPs are allowed to override their IP addresses and ports (for logging and
187
+ # for authentication checks). disable_plaintext_auth is also ignored for
188
+ # these networks. Typically you'd specify your IMAP proxy servers here.
189
+ #login_trusted_networks =
190
+
191
+ # Space-separated list of elements we want to log. The elements which have
192
+ # a non-empty variable value are joined together to form a comma-separated
193
+ # string.
194
+ #login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
195
+
196
+ # Login log format. %$ contains login_log_format_elements string, %s contains
197
+ # the data we want to log.
198
+ #login_log_format = %$: %s
199
+
200
+ ##
201
+ ## Mailbox locations and namespaces
202
+ ##
203
+
204
+ # Location for users' mailboxes. This is the same as the old default_mail_env
205
+ # setting. The default is empty, which means that Dovecot tries to find the
206
+ # mailboxes automatically. This won't work if the user doesn't have any mail
207
+ # yet, so you should explicitly tell Dovecot the full location.
208
+ #
209
+ # If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
210
+ # isn't enough. You'll also need to tell Dovecot where the other mailboxes are
211
+ # kept. This is called the "root mail directory", and it must be the first
212
+ # path given in the mail_location setting.
213
+ #
214
+ # There are a few special variables you can use, eg.:
215
+ #
216
+ # %u - username
217
+ # %n - user part in user@domain, same as %u if there's no domain
218
+ # %d - domain part in user@domain, empty if there's no domain
219
+ # %h - home directory
220
+ #
221
+ # See </usr/share/doc/dovecot-common/wiki/Variables.txt> for full list.
222
+ # Some examples:
223
+ #
224
+ # mail_location = maildir:~/Maildir
225
+ # mail_location = mbox:~/mail:INBOX=/var/mail/%u
226
+ # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
227
+ #
228
+ # </usr/share/doc/dovecot-common/wiki/MailLocation.txt>
229
+ #
230
+ mail_location = maildir:/srv/mail/users/%d/%n
231
+
232
+ # If you need to set multiple mailbox locations or want to change default
233
+ # namespace settings, you can do it by defining namespace sections.
234
+ #
235
+ # You can have private, shared and public namespaces. Private namespaces
236
+ # are for user's personal mails. Shared namespaces are for accessing other
237
+ # users' mailboxes that have been shared. Public namespaces are for shared
238
+ # mailboxes that are managed by sysadmin. If you create any shared or public
239
+ # namespaces you'll typically want to enable ACL plugin also, otherwise all
240
+ # users can access all the shared mailboxes, assuming they have permissions
241
+ # on filesystem level to do so.
242
+ #
243
+ # REMEMBER: If you add any namespaces, the default namespace must be added
244
+ # explicitly, ie. mail_location does nothing unless you have a namespace
245
+ # without a location setting. Default namespace is simply done by having a
246
+ # namespace with empty prefix.
247
+ #namespace private {
248
+ # Hierarchy separator to use. You should use the same separator for all
249
+ # namespaces or some clients get confused. '/' is usually a good one.
250
+ # The default however depends on the underlying mail storage format.
251
+ #separator =
252
+
253
+ # Prefix required to access this namespace. This needs to be different for
254
+ # all namespaces. For example "Public/".
255
+ #prefix =
256
+
257
+ # Physical location of the mailbox. This is in same format as
258
+ # mail_location, which is also the default for it.
259
+ #location =
260
+
261
+ # There can be only one INBOX, and this setting defines which namespace
262
+ # has it.
263
+ #inbox = no
264
+
265
+ # If namespace is hidden, it's not advertised to clients via NAMESPACE
266
+ # extension. You'll most likely also want to set list=no. This is mostly
267
+ # useful when converting from another server with different namespaces which
268
+ # you want to deprecate but still keep working. For example you can create
269
+ # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
270
+ #hidden = yes
271
+
272
+ # Show the mailboxes under this namespace with LIST command. This makes the
273
+ # namespace visible for clients that don't support NAMESPACE extension.
274
+ # "children" value lists child mailboxes, but hides the namespace prefix.
275
+ #list = yes
276
+
277
+ # Namespace handles its own subscriptions. If set to "no", the parent
278
+ # namespace handles them (empty prefix should always have this as "yes")
279
+ #subscriptions = yes
280
+ #}
281
+
282
+ # Example shared namespace configuration
283
+ #namespace shared {
284
+ #separator = /
285
+
286
+ # Mailboxes are visible under "shared/user@domain/"
287
+ # %%n, %%d and %%u are expanded to the destination user.
288
+ #prefix = shared/%%u/
289
+
290
+ # Mail location for other users' mailboxes. Note that %variables and ~/
291
+ # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the
292
+ # destination user's data.
293
+ #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
294
+
295
+ # Use the default namespace for saving subscriptions.
296
+ #subscriptions = no
297
+
298
+ # List the shared/ namespace only if there are visible shared mailboxes.
299
+ #list = children
300
+ #}
301
+
302
+ # System user and group used to access mails. If you use multiple, userdb
303
+ # can override these by returning uid or gid fields. You can use either numbers
304
+ # or names. </usr/share/doc/dovecot-common/wiki/UserIds.txt>
305
+ #mail_uid =
306
+ #mail_gid =
307
+
308
+ # Group to enable temporarily for privileged operations. Currently this is
309
+ # used only with INBOX when either its initial creation or dotlocking fails.
310
+ # Typically this is set to "mail" to give access to /var/mail.
311
+ #mail_privileged_group =
312
+ mail_privileged_group = mail
313
+
314
+ # Grant access to these supplementary groups for mail processes. Typically
315
+ # these are used to set up access to shared mailboxes. Note that it may be
316
+ # dangerous to set these if users can create symlinks (e.g. if "mail" group is
317
+ # set here, ln -s /var/mail ~/mail/var could allow a user to delete others'
318
+ # mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).
319
+ #mail_access_groups =
320
+
321
+ # Allow full filesystem access to clients. There's no access checks other than
322
+ # what the operating system does for the active UID/GID. It works with both
323
+ # maildir and mboxes, allowing you to prefix mailboxes names with eg. /path/
324
+ # or ~user/.
325
+ #mail_full_filesystem_access = no
326
+
327
+ ##
328
+ ## Mail processes
329
+ ##
330
+
331
+ # Enable mail process debugging. This can help you figure out why Dovecot
332
+ # isn't finding your mails.
333
+ mail_debug = no
334
+
335
+ # Log prefix for mail processes. See </usr/share/doc/dovecot-common/wiki/Variables.txt>
336
+ # for list of possible variables you can use.
337
+ #mail_log_prefix = "%Us(%u): "
338
+
339
+ # Max. number of lines a mail process is allowed to log per second before it's
340
+ # throttled. 0 means unlimited. Typically there's no need to change this
341
+ # unless you're using mail_log plugin, which may log a lot. This setting is
342
+ # ignored while mail_debug=yes to avoid pointless throttling.
343
+ #mail_log_max_lines_per_sec = 10
344
+
345
+ # Don't use mmap() at all. This is required if you store indexes to shared
346
+ # filesystems (NFS or clustered filesystem).
347
+ #mmap_disable = no
348
+
349
+ # Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL
350
+ # since version 3, so this should be safe to use nowadays by default.
351
+ #dotlock_use_excl = yes
352
+
353
+ # Don't use fsync() or fdatasync() calls. This makes the performance better
354
+ # at the cost of potential data loss if the server (or the file server)
355
+ # goes down.
356
+ #fsync_disable = no
357
+
358
+ # Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS caches
359
+ # whenever needed. If you're using only a single mail server this isn't needed.
360
+ #mail_nfs_storage = no
361
+ # Mail index files also exist in NFS. Setting this to yes requires
362
+ # mmap_disable=yes and fsync_disable=no.
363
+ #mail_nfs_index = no
364
+
365
+ # Locking method for index files. Alternatives are fcntl, flock and dotlock.
366
+ # Dotlocking uses some tricks which may create more disk I/O than other locking
367
+ # methods. NFS users: flock doesn't work, remember to change mmap_disable.
368
+ #lock_method = fcntl
369
+
370
+ # Drop all privileges before exec()ing the mail process. This is mostly
371
+ # meant for debugging, otherwise you don't get core dumps. It could be a small
372
+ # security risk if you use single UID for multiple users, as the users could
373
+ # ptrace() each others processes then.
374
+ #mail_drop_priv_before_exec = no
375
+
376
+ # Show more verbose process titles (in ps). Currently shows user name and
377
+ # IP address. Useful for seeing who are actually using the IMAP processes
378
+ # (eg. shared mailboxes or if same uid is used for multiple accounts).
379
+ #verbose_proctitle = no
380
+
381
+ # Valid UID range for users, defaults to 500 and above. This is mostly
382
+ # to make sure that users can't log in as daemons or other system users.
383
+ # Note that denying root logins is hardcoded to dovecot binary and can't
384
+ # be done even if first_valid_uid is set to 0.
385
+ #first_valid_uid = 500
386
+ #last_valid_uid = 0
387
+
388
+ # Valid GID range for users, defaults to non-root/wheel. Users having
389
+ # non-valid GID as primary group ID aren't allowed to log in. If user
390
+ # belongs to supplementary groups with non-valid GIDs, those groups are
391
+ # not set.
392
+ #first_valid_gid = 1
393
+ #last_valid_gid = 0
394
+
395
+ # Maximum number of running mail processes. When this limit is reached,
396
+ # new users aren't allowed to log in.
397
+ #max_mail_processes = 512
398
+
399
+ # Set max. process size in megabytes. Most of the memory goes to mmap()ing
400
+ # files, so it shouldn't harm much even if this limit is set pretty high.
401
+ #mail_process_size = 256
402
+
403
+ # Maximum allowed length for mail keyword name. It's only forced when trying
404
+ # to create new keywords.
405
+ #mail_max_keyword_length = 50
406
+
407
+ # ':' separated list of directories under which chrooting is allowed for mail
408
+ # processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).
409
+ # This setting doesn't affect login_chroot, mail_chroot or auth chroot
410
+ # settings. If this setting is empty, "/./" in home dirs are ignored.
411
+ # WARNING: Never add directories here which local users can modify, that
412
+ # may lead to root exploit. Usually this should be done only if you don't
413
+ # allow shell access for users. </usr/share/doc/dovecot-common/wiki/Chrooting.txt>
414
+ #valid_chroot_dirs =
415
+
416
+ # Default chroot directory for mail processes. This can be overridden for
417
+ # specific users in user database by giving /./ in user's home directory
418
+ # (eg. /home/./user chroots into /home). Note that usually there is no real
419
+ # need to do chrooting, Dovecot doesn't allow users to access files outside
420
+ # their mail directory anyway. If your home directories are prefixed with
421
+ # the chroot directory, append "/." to mail_chroot. </usr/share/doc/dovecot-common/wiki/Chrooting.txt>
422
+ #mail_chroot =
423
+
424
+ ##
425
+ ## Mailbox handling optimizations
426
+ ##
427
+
428
+ # The minimum number of mails in a mailbox before updates are done to cache
429
+ # file. This allows optimizing Dovecot's behavior to do less disk writes at
430
+ # the cost of more disk reads.
431
+ #mail_cache_min_mail_count = 0
432
+
433
+ # When IDLE command is running, mailbox is checked once in a while to see if
434
+ # there are any new mails or other changes. This setting defines the minimum
435
+ # time in seconds to wait between those checks. Dovecot can also use dnotify,
436
+ # inotify and kqueue to find out immediately when changes occur.
437
+ #mailbox_idle_check_interval = 30
438
+
439
+ # Save mails with CR+LF instead of plain LF. This makes sending those mails
440
+ # take less CPU, especially with sendfile() syscall with Linux and FreeBSD.
441
+ # But it also creates a bit more disk I/O which may just make it slower.
442
+ # Also note that if other software reads the mboxes/maildirs, they may handle
443
+ # the extra CRs wrong and cause problems.
444
+ #mail_save_crlf = no
445
+
446
+ ##
447
+ ## Maildir-specific settings
448
+ ##
449
+
450
+ # By default LIST command returns all entries in maildir beginning with a dot.
451
+ # Enabling this option makes Dovecot return only entries which are directories.
452
+ # This is done by stat()ing each entry, so it causes more disk I/O.
453
+ # (For systems setting struct dirent->d_type, this check is free and it's
454
+ # done always regardless of this setting)
455
+ #maildir_stat_dirs = no
456
+
457
+ # When copying a message, do it with hard links whenever possible. This makes
458
+ # the performance much better, and it's unlikely to have any side effects.
459
+ #maildir_copy_with_hardlinks = yes
460
+
461
+ # When copying a message, try to preserve the base filename. Only if the
462
+ # destination mailbox already contains the same name (ie. the mail is being
463
+ # copied there twice), a new name is given. The destination filename check is
464
+ # done only by looking at dovecot-uidlist file, so if something outside
465
+ # Dovecot does similar filename preserving copies, you may run into problems.
466
+ # NOTE: This setting requires maildir_copy_with_hardlinks = yes to work.
467
+ #maildir_copy_preserve_filename = no
468
+
469
+ # Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only
470
+ # when its mtime changes unexpectedly or when we can't find the mail otherwise.
471
+ #maildir_very_dirty_syncs = no
472
+
473
+ ##
474
+ ## mbox-specific settings
475
+ ##
476
+
477
+ # Which locking methods to use for locking mbox. There are four available:
478
+ # dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe
479
+ # solution. If you want to use /var/mail/ like directory, the users
480
+ # will need write access to that directory.
481
+ # dotlock_try: Same as dotlock, but if it fails because of permissions or
482
+ # because there isn't enough disk space, just skip it.
483
+ # fcntl : Use this if possible. Works with NFS too if lockd is used.
484
+ # flock : May not exist in all systems. Doesn't work with NFS.
485
+ # lockf : May not exist in all systems. Doesn't work with NFS.
486
+ #
487
+ # You can use multiple locking methods; if you do the order they're declared
488
+ # in is important to avoid deadlocks if other MTAs/MUAs are using multiple
489
+ # locking methods as well. Some operating systems don't allow using some of
490
+ # them simultaneously.
491
+ #
492
+ # The Debian value for mbox_write_locks differs from upstream Dovecot. It is
493
+ # changed to be compliant with Debian Policy (section 11.6) for NFS safety.
494
+ # Dovecot: mbox_write_locks = dotlock fcntl
495
+ # Debian: mbox_write_locks = fcntl dotlock
496
+ #
497
+ #mbox_read_locks = fcntl
498
+ #mbox_write_locks = fcntl dotlock
499
+
500
+ # Maximum time in seconds to wait for lock (all of them) before aborting.
501
+ #mbox_lock_timeout = 300
502
+
503
+ # If dotlock exists but the mailbox isn't modified in any way, override the
504
+ # lock file after this many seconds.
505
+ #mbox_dotlock_change_timeout = 120
506
+
507
+ # When mbox changes unexpectedly we have to fully read it to find out what
508
+ # changed. If the mbox is large this can take a long time. Since the change
509
+ # is usually just a newly appended mail, it'd be faster to simply read the
510
+ # new mails. If this setting is enabled, Dovecot does this but still safely
511
+ # fallbacks to re-reading the whole mbox file whenever something in mbox isn't
512
+ # how it's expected to be. The only real downside to this setting is that if
513
+ # some other MUA changes message flags, Dovecot doesn't notice it immediately.
514
+ # Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK
515
+ # commands.
516
+ #mbox_dirty_syncs = yes
517
+
518
+ # Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE,
519
+ # EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.
520
+ #mbox_very_dirty_syncs = no
521
+
522
+ # Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK
523
+ # commands and when closing the mailbox). This is especially useful for POP3
524
+ # where clients often delete all mails. The downside is that our changes
525
+ # aren't immediately visible to other MUAs.
526
+ #mbox_lazy_writes = yes
527
+
528
+ # If mbox size is smaller than this (in kilobytes), don't write index files.
529
+ # If an index file already exists it's still read, just not updated.
530
+ #mbox_min_index_size = 0
531
+
532
+ ##
533
+ ## dbox-specific settings
534
+ ##
535
+
536
+ # Maximum dbox file size in kilobytes until it's rotated.
537
+ #dbox_rotate_size = 2048
538
+
539
+ # Minimum dbox file size in kilobytes before it's rotated
540
+ # (overrides dbox_rotate_days)
541
+ #dbox_rotate_min_size = 16
542
+
543
+ # Maximum dbox file age in days until it's rotated. Day always begins from
544
+ # midnight, so 1 = today, 2 = yesterday, etc. 0 = check disabled.
545
+ #dbox_rotate_days = 0
546
+
547
+ ##
548
+ ## IMAP specific settings
549
+ ##
550
+
551
+ protocol imap {
552
+ # Login executable location.
553
+ #login_executable = /usr/lib/dovecot/imap-login
554
+
555
+ # IMAP executable location. Changing this allows you to execute other
556
+ # binaries before the imap process is executed.
557
+ #
558
+ # This would write rawlogs into user's ~/dovecot.rawlog/, if it exists:
559
+ # mail_executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
560
+ # </usr/doc/dovecot-common/wiki/Debugging.Rawlog.txt>
561
+ #
562
+ # This would attach gdb into the imap process and write backtraces into
563
+ # /tmp/gdbhelper.* files:
564
+ # mail_executable = /usr/lib/dovecot/gdbhelper /usr/lib/dovecot/imap
565
+ #
566
+ #mail_executable = /usr/lib/dovecot/imap
567
+
568
+ # Maximum IMAP command line length in bytes. Some clients generate very long
569
+ # command lines with huge mailboxes, so you may need to raise this if you get
570
+ # "Too long argument" or "IMAP command line too large" errors often.
571
+ #imap_max_line_length = 65536
572
+
573
+ # Maximum number of IMAP connections allowed for a user from each IP address.
574
+ # NOTE: The username is compared case-sensitively.
575
+ #mail_max_userip_connections = 10
576
+
577
+ # Support for dynamically loadable plugins. mail_plugins is a space separated
578
+ # list of plugins to load.
579
+ #mail_plugins =
580
+ #mail_plugin_dir = /usr/lib/dovecot/modules/imap
581
+
582
+ # IMAP logout format string:
583
+ # %i - total number of bytes read from client
584
+ # %o - total number of bytes sent to client
585
+ #imap_logout_format = bytes=%i/%o
586
+
587
+ # Override the IMAP CAPABILITY response.
588
+ #imap_capability =
589
+
590
+ # How many seconds to wait between "OK Still here" notifications when
591
+ # client is IDLEing.
592
+ #imap_idle_notify_interval = 120
593
+
594
+ # ID field names and values to send to clients. Using * as the value makes
595
+ # Dovecot use the default value. The following fields have default values
596
+ # currently: name, version, os, os-version, support-url, support-email.
597
+ #imap_id_send =
598
+
599
+ # ID fields sent by client to log. * means everything.
600
+ #imap_id_log =
601
+
602
+ # Workarounds for various client bugs:
603
+ # delay-newmail:
604
+ # Send EXISTS/RECENT new mail notifications only when replying to NOOP
605
+ # and CHECK commands. Some clients ignore them otherwise, for example OSX
606
+ # Mail (<v2.1). Outlook Express breaks more badly though, without this it
607
+ # may show user "Message no longer in server" errors. Note that OE6 still
608
+ # breaks even with this workaround if synchronization is set to
609
+ # "Headers Only".
610
+ # netscape-eoh:
611
+ # Netscape 4.x breaks if message headers don't end with the empty "end of
612
+ # headers" line. Normally all messages have this, but setting this
613
+ # workaround makes sure that Netscape never breaks by adding the line if
614
+ # it doesn't exist. This is done only for FETCH BODY[HEADER.FIELDS..]
615
+ # commands. Note that RFC says this shouldn't be done.
616
+ # tb-extra-mailbox-sep:
617
+ # With mbox storage a mailbox can contain either mails or submailboxes,
618
+ # but not both. Thunderbird separates these two by forcing server to
619
+ # accept '/' suffix in mailbox names in subscriptions list.
620
+ # The list is space-separated.
621
+ #imap_client_workarounds =
622
+ }
623
+
624
+ ##
625
+ ## POP3 specific settings
626
+ ##
627
+
628
+ protocol pop3 {
629
+ # Login executable location.
630
+ #login_executable = /usr/lib/dovecot/pop3-login
631
+
632
+ # POP3 executable location. See IMAP's mail_executable above for examples
633
+ # how this could be changed.
634
+ #mail_executable = /usr/lib/dovecot/pop3
635
+
636
+ # Don't try to set mails non-recent or seen with POP3 sessions. This is
637
+ # mostly intended to reduce disk I/O. With maildir it doesn't move files
638
+ # from new/ to cur/, with mbox it doesn't write Status-header.
639
+ #pop3_no_flag_updates = no
640
+
641
+ # Support LAST command which exists in old POP3 specs, but has been removed
642
+ # from new ones. Some clients still wish to use this though. Enabling this
643
+ # makes RSET command clear all \Seen flags from messages.
644
+ #pop3_enable_last = no
645
+
646
+ # If mail has X-UIDL header, use it as the mail's UIDL.
647
+ #pop3_reuse_xuidl = no
648
+
649
+ # Keep the mailbox locked for the entire POP3 session.
650
+ #pop3_lock_session = no
651
+
652
+ # POP3 UIDL (unique mail identifier) format to use. You can use following
653
+ # variables, along with the variable modifiers described in
654
+ # </usr/share/doc/dovecot-common/wiki/Variables.txt> (e.g. %Uf for the
655
+ # filename in uppercase)
656
+ #
657
+ # %v - Mailbox's IMAP UIDVALIDITY
658
+ # %u - Mail's IMAP UID
659
+ # %m - MD5 sum of the mailbox headers in hex (mbox only)
660
+ # %f - filename (maildir only)
661
+ #
662
+ # If you want UIDL compatibility with other POP3 servers, use:
663
+ # UW's ipop3d : %08Xv%08Xu
664
+ # Courier : %f or %v-%u (both might be used simultaneosly)
665
+ # Cyrus (<= 2.1.3) : %u
666
+ # Cyrus (>= 2.1.4) : %v.%u
667
+ # Dovecot v0.99.x : %v.%u
668
+ # tpop3d : %Mf
669
+ #
670
+ # Note that Outlook 2003 seems to have problems with %v.%u format which was
671
+ # Dovecot's default, so if you're building a new server it would be a good
672
+ # idea to change this. %08Xu%08Xv should be pretty fail-safe.
673
+ #
674
+ pop3_uidl_format = %08Xu%08Xv
675
+
676
+ # Permanently save UIDLs sent to POP3 clients, so pop3_uidl_format changes
677
+ # won't change those UIDLs. Currently this works only with Maildir.
678
+ #pop3_save_uidl = no
679
+
680
+ # POP3 logout format string:
681
+ # %i - total number of bytes read from client
682
+ # %o - total number of bytes sent to client
683
+ # %t - number of TOP commands
684
+ # %p - number of bytes sent to client as a result of TOP command
685
+ # %r - number of RETR commands
686
+ # %b - number of bytes sent to client as a result of RETR command
687
+ # %d - number of deleted messages
688
+ # %m - number of messages (before deletion)
689
+ # %s - mailbox size in bytes (before deletion)
690
+ #pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
691
+
692
+ # Maximum number of POP3 connections allowed for a user from each IP address.
693
+ # NOTE: The username is compared case-sensitively.
694
+ #mail_max_userip_connections = 3
695
+
696
+ # Support for dynamically loadable plugins. mail_plugins is a space separated
697
+ # list of plugins to load.
698
+ #mail_plugins =
699
+ #mail_plugin_dir = /usr/lib/dovecot/modules/pop3
700
+
701
+ # Workarounds for various client bugs:
702
+ # outlook-no-nuls:
703
+ # Outlook and Outlook Express hang if mails contain NUL characters.
704
+ # This setting replaces them with 0x80 character.
705
+ # oe-ns-eoh:
706
+ # Outlook Express and Netscape Mail breaks if end of headers-line is
707
+ # missing. This option simply sends it if it's missing.
708
+ # The list is space-separated.
709
+ #pop3_client_workarounds =
710
+ }
711
+
712
+ ##
713
+ ## ManageSieve specific settings
714
+ ##
715
+
716
+ protocol managesieve {
717
+ # Login executable location.
718
+ #login_executable = /usr/lib/dovecot/managesieve-login
719
+
720
+ # ManageSieve executable location. See IMAP's mail_executable above for
721
+ # examples how this could be changed.
722
+ #mail_executable = /usr/lib/dovecot/managesieve
723
+
724
+ # Maximum ManageSieve command line length in bytes. This setting is
725
+ # directly borrowed from IMAP. But, since long command lines are very
726
+ # unlikely with ManageSieve, changing this will not be very useful.
727
+ #managesieve_max_line_length = 65536
728
+
729
+ # ManageSieve logout format string:
730
+ # %i - total number of bytes read from client
731
+ # %o - total number of bytes sent to client
732
+ #managesieve_logout_format = bytes=%i/%o
733
+
734
+ # If, for some inobvious reason, the sieve_storage remains unset, the
735
+ # ManageSieve daemon uses the specification of the mail_location to find out
736
+ # where to store the sieve files (see explaination in README.managesieve).
737
+ # The example below, when uncommented, overrides any global mail_location
738
+ # specification and stores all the scripts in '~/mail/sieve' if sieve_storage
739
+ # is unset. However, you should always use the sieve_storage setting.
740
+ # mail_location = mbox:~/mail
741
+
742
+ # To fool ManageSieve clients that are focused on timesieved you can
743
+ # specify the IMPLEMENTATION capability that the dovecot reports to clients
744
+ # (default: "dovecot").
745
+ #managesieve_implementation_string = Cyrus timsieved v2.2.13
746
+ }
747
+
748
+ ##
749
+ ## LDA specific settings
750
+ ##
751
+
752
+ protocol lda {
753
+ # Address to use when sending rejection mails (e.g. postmaster@example.com).
754
+ postmaster_address = postmaster
755
+
756
+ # Hostname to use in various parts of sent mails, eg. in Message-Id.
757
+ # Default is the system's real hostname.
758
+ #hostname =
759
+
760
+ # Support for dynamically loadable plugins. mail_plugins is a space separated
761
+ # list of plugins to load.
762
+ #mail_plugins =
763
+ #mail_plugin_dir = /usr/lib/dovecot/modules/lda
764
+
765
+ # If user is over quota, return with temporary failure instead of
766
+ # bouncing the mail.
767
+ #quota_full_tempfail = no
768
+
769
+ # Format to use for logging mail deliveries. You can use variables:
770
+ # %$ - Delivery status message (e.g. "saved to INBOX")
771
+ # %m - Message-ID
772
+ # %s - Subject
773
+ # %f - From address
774
+ #deliver_log_format = msgid=%m: %$
775
+
776
+ # Binary to use for sending mails.
777
+ #sendmail_path = /usr/sbin/sendmail
778
+
779
+ # Subject: header to use for rejection mails. You can use the same variables
780
+ # as for rejection_reason below.
781
+ #rejection_subject = Rejected: %s
782
+
783
+ # Human readable error message for rejection mails. You can use variables:
784
+ # %n = CRLF, %r = reason, %s = original subject, %t = recipient
785
+ #rejection_reason = Your message to <%t> was automatically rejected:%n%r
786
+
787
+ # UNIX socket path to master authentication server to find users.
788
+ auth_socket_path = /var/run/dovecot/auth-master
789
+ }
790
+
791
+ ##
792
+ ## Authentication processes
793
+ ##
794
+
795
+ # Executable location
796
+ #auth_executable = /usr/lib/dovecot/dovecot-auth
797
+
798
+ # Set max. process size in megabytes.
799
+ #auth_process_size = 256
800
+
801
+ # Authentication cache size in kilobytes. 0 means it's disabled.
802
+ # Note that bsdauth, PAM and vpopmail require cache_key to be set for caching
803
+ # to be used.
804
+ #auth_cache_size = 0
805
+ # Time to live in seconds for cached data. After this many seconds the cached
806
+ # record is no longer used, *except* if the main database lookup returns
807
+ # internal failure. We also try to handle password changes automatically: If
808
+ # user's previous authentication was successful, but this one wasn't, the
809
+ # cache isn't used. For now this works only with plaintext authentication.
810
+ #auth_cache_ttl = 3600
811
+ # TTL for negative hits (user not found, password mismatch).
812
+ # 0 disables caching them completely.
813
+ #auth_cache_negative_ttl = 3600
814
+
815
+ # Space separated list of realms for SASL authentication mechanisms that need
816
+ # them. You can leave it empty if you don't want to support multiple realms.
817
+ # Many clients simply use the first one listed here, so keep the default realm
818
+ # first.
819
+ #auth_realms =
820
+
821
+ # Default realm/domain to use if none was specified. This is used for both
822
+ # SASL realms and appending @domain to username in plaintext logins.
823
+ #auth_default_realm =
824
+
825
+ # List of allowed characters in username. If the user-given username contains
826
+ # a character not listed in here, the login automatically fails. This is just
827
+ # an extra check to make sure user can't exploit any potential quote escaping
828
+ # vulnerabilities with SQL/LDAP databases. If you want to allow all characters,
829
+ # set this value to empty.
830
+ #auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
831
+
832
+ # Username character translations before it's looked up from databases. The
833
+ # value contains series of from -> to characters. For example "#@/@" means
834
+ # that '#' and '/' characters are translated to '@'.
835
+ #auth_username_translation =
836
+
837
+ # Username formatting before it's looked up from databases. You can use
838
+ # the standard variables here, eg. %Lu would lowercase the username, %n would
839
+ # drop away the domain if it was given, or "%n-AT-%d" would change the '@' into
840
+ # "-AT-". This translation is done after auth_username_translation changes.
841
+ #auth_username_format =
842
+
843
+ # If you want to allow master users to log in by specifying the master
844
+ # username within the normal username string (ie. not using SASL mechanism's
845
+ # support for it), you can specify the separator character here. The format
846
+ # is then <username><separator><master username>. UW-IMAP uses "*" as the
847
+ # separator, so that could be a good choice.
848
+ #auth_master_user_separator =
849
+
850
+ # Username to use for users logging in with ANONYMOUS SASL mechanism
851
+ #auth_anonymous_username = anonymous
852
+
853
+ # Log unsuccessful authentication attempts and the reasons why they failed.
854
+ auth_verbose = yes
855
+
856
+ # Even more verbose logging for debugging purposes. Shows for example SQL
857
+ # queries.
858
+ auth_debug = yes
859
+
860
+ # In case of password mismatches, log the passwords and used scheme so the
861
+ # problem can be debugged. Enabling this also enables auth_debug.
862
+ #auth_debug_passwords = no
863
+
864
+ # Maximum number of dovecot-auth worker processes. They're used to execute
865
+ # blocking passdb and userdb queries (eg. MySQL and PAM). They're
866
+ # automatically created and destroyed as needed.
867
+ #auth_worker_max_count = 30
868
+
869
+ # Host name to use in GSSAPI principal names. The default is to use the
870
+ # name returned by gethostname(). Use "$ALL" to allow all keytab entries.
871
+ #auth_gssapi_hostname =
872
+
873
+ # Kerberos keytab to use for the GSSAPI mechanism. Will use the system
874
+ # default (usually /etc/krb5.keytab) if not specified.
875
+ #auth_krb5_keytab =
876
+
877
+ # Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and
878
+ # ntlm_auth helper.
879
+ # </usr/share/doc/dovecot-common/wiki/Authentication.Mechanisms.Winbind.txt>
880
+ #auth_use_winbind = no
881
+
882
+ # Path for Samba's ntlm_auth helper binary.
883
+ #auth_winbind_helper_path = /usr/bin/ntlm_auth
884
+
885
+ # Number of seconds to delay before replying to failed authentications.
886
+ #auth_failure_delay = 2
887
+
888
+ auth default {
889
+ # Space separated list of wanted authentication mechanisms:
890
+ # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
891
+ # gss-spnego
892
+ # NOTE: See also disable_plaintext_auth setting.
893
+ mechanisms = plain
894
+
895
+ #
896
+ # Password database is used to verify user's password (and nothing more).
897
+ # You can have multiple passdbs and userdbs. This is useful if you want to
898
+ # allow both system users (/etc/passwd) and virtual users to login without
899
+ # duplicating the system users into virtual database.
900
+ #
901
+ # </usr/share/doc/dovecot-common/wiki/PasswordDatabase.txt>
902
+ #
903
+ # By adding master=yes setting inside a passdb you make the passdb a list
904
+ # of "master users", who can log in as anyone else. Unless you're using PAM,
905
+ # you probably still want the destination user to be looked up from passdb
906
+ # that it really exists. This can be done by adding pass=yes setting to the
907
+ # master passdb. </usr/share/doc/dovecot-common/wiki/Authentication.MasterUsers.txt>
908
+
909
+ # Users can be temporarily disabled by adding a passdb with deny=yes.
910
+ # If the user is found from that database, authentication will fail.
911
+ # The deny passdb should always be specified before others, so it gets
912
+ # checked first. Here's an example:
913
+
914
+ #passdb passwd-file {
915
+ # File contains a list of usernames, one per line
916
+ #args = /etc/dovecot/dovecot.deny
917
+ #deny = yes
918
+ #}
919
+
920
+ # PAM authentication. Preferred nowadays by most systems.
921
+ # Note that PAM can only be used to verify if user's password is correct,
922
+ # so it can't be used as userdb. If you don't want to use a separate user
923
+ # database (passwd usually), you can use static userdb.
924
+ # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM
925
+ # authentication to actually work. </usr/share/doc/dovecot-common/wiki/PasswordDatabase.PAM.txt>
926
+ #passdb pam {
927
+ # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
928
+ # [cache_key=<key>] [<service name>]
929
+ #
930
+ # session=yes makes Dovecot open and immediately close PAM session. Some
931
+ # PAM plugins need this to work, such as pam_mkhomedir.
932
+ #
933
+ # setcred=yes makes Dovecot establish PAM credentials if some PAM plugins
934
+ # need that. They aren't ever deleted though, so this isn't enabled by
935
+ # default.
936
+ #
937
+ # max_requests specifies how many PAM lookups to do in one process before
938
+ # recreating the process. The default is 100, because many PAM plugins
939
+ # leak memory.
940
+ #
941
+ # cache_key can be used to enable authentication caching for PAM
942
+ # (auth_cache_size also needs to be set). It isn't enabled by default
943
+ # because PAM modules can do all kinds of checks besides checking password,
944
+ # such as checking IP address. Dovecot can't know about these checks
945
+ # without some help. cache_key is simply a list of variables (see
946
+ # /usr/share/doc/dovecot-common/wiki/Variables.txt) which must match
947
+ # for the cached data to be used.
948
+ # Here are some examples:
949
+ # %u - Username must match. Probably sufficient for most uses.
950
+ # %u%r - Username and remote IP address must match.
951
+ # %u%s - Username and service (ie. IMAP, POP3) must match.
952
+ #
953
+ # The service name can contain variables, for example %Ls expands to
954
+ # pop3 or imap.
955
+ #
956
+ # Some examples:
957
+ # args = session=yes %Ls
958
+ # args = cache_key=%u dovecot
959
+ #args = dovecot
960
+ #}
961
+
962
+ # System users (NSS, /etc/passwd, or similiar)
963
+ # In many systems nowadays this uses Name Service Switch, which is
964
+ # configured in /etc/nsswitch.conf. </usr/share/doc/dovecot-common/wiki/AuthDatabase.Passwd.txt>
965
+ #passdb passwd {
966
+ # [blocking=yes] - See userdb passwd for explanation
967
+ #args =
968
+ #}
969
+
970
+ # Shadow passwords for system users (NSS, /etc/shadow or similiar).
971
+ # Deprecated by PAM nowadays.
972
+ # </usr/share/doc/dovecot-common/wiki/PasswordDatabase.Shadow.txt>
973
+ #passdb shadow {
974
+ # [blocking=yes] - See userdb passwd for explanation
975
+ #args =
976
+ #}
977
+
978
+ # PAM-like authentication for OpenBSD.
979
+ # </usr/share/doc/dovecot-common/wiki/PasswordDatabase.BSDAuth.txt>
980
+ #passdb bsdauth {
981
+ # [cache_key=<key>] - See cache_key in PAM for explanation.
982
+ #args =
983
+ #}
984
+
985
+ # passwd-like file with specified location
986
+ # </usr/share/doc/dovecot-common/wiki/AuthDatabase.PasswdFile.txt>
987
+ #passdb passwd-file {
988
+ # [scheme=<default password scheme>] [username_format=<format>]
989
+ # <Path for passwd-file>
990
+ #args =
991
+ #}
992
+
993
+ # checkpassword executable authentication
994
+ # NOTE: You will probably want to use "userdb prefetch" with this.
995
+ # </usr/share/doc/dovecot-common/wiki/AuthDatabase.CheckPassword.txt>
996
+ #passdb checkpassword {
997
+ # Path for checkpassword binary
998
+ #args =
999
+ #}
1000
+
1001
+ # SQL database </usr/share/doc/dovecot-common/wiki/AuthDatabase.SQL.txt>
1002
+ passdb sql {
1003
+ # Path for SQL configuration file
1004
+ args = /etc/dovecot/dovecot-sql.conf
1005
+ }
1006
+
1007
+ # LDAP database </usr/share/doc/dovecot-common/wiki/AuthDatabase.LDAP.txt>
1008
+ #passdb ldap {
1009
+ # Path for LDAP configuration file
1010
+ #args = /etc/dovecot/dovecot-ldap.conf
1011
+ #}
1012
+
1013
+ # vpopmail authentication </usr/share/doc/dovecot-common/wiki/AuthDatabase.VPopMail.txt>
1014
+ #passdb vpopmail {
1015
+ # [cache_key=<key>] - See cache_key in PAM for explanation.
1016
+ # [quota_template=<template>] - %q expands to Maildir++ quota
1017
+ # (eg. quota_template=quota_rule=*:backend=%q)
1018
+ #args =
1019
+ #}
1020
+
1021
+ #
1022
+ # User database specifies where mails are located and what user/group IDs
1023
+ # own them. For single-UID configuration use "static".
1024
+ #
1025
+ # </usr/share/doc/dovecot-common/wiki/UserDatabase.txt>
1026
+ #
1027
+
1028
+ # "prefetch" user database means that the passdb already provided the
1029
+ # needed information and there's no need to do a separate userdb lookup.
1030
+ # This can be made to work with SQL and LDAP databases, see their example
1031
+ # configuration files for more information how to do it.
1032
+ # </usr/share/doc/dovecot-common/wiki/UserDatabase.Prefetch.txt>
1033
+ #userdb prefetch {
1034
+ #}
1035
+
1036
+ # System users (NSS, /etc/passwd, or similiar). In many systems nowadays this
1037
+ # uses Name Service Switch, which is configured in /etc/nsswitch.conf.
1038
+ # </usr/share/doc/dovecot-common/wiki/AuthDatabase.Passwd.txt>
1039
+ #userdb passwd {
1040
+ # [blocking=yes] - By default the lookups are done in the main dovecot-auth
1041
+ # process. This setting causes the lookups to be done in auth worker
1042
+ # proceses. Useful with remote NSS lookups that may block.
1043
+ # NOTE: Be sure to use this setting with nss_ldap or users might get
1044
+ # logged in as each others!
1045
+ #args =
1046
+ #}
1047
+
1048
+ # passwd-like file with specified location
1049
+ # </usr/share/doc/dovecot-common/wiki/AuthDatabase.PasswdFile.txt>
1050
+ #userdb passwd-file {
1051
+ # [username_format=<format>] <Path for passwd-file>
1052
+ #args =
1053
+ #}
1054
+
1055
+ # checkpassword executable user database lookup
1056
+ # </usr/share/doc/dovecot-common/wiki/AuthDatabase.CheckPassword.txt>
1057
+ #userdb checkpassword {
1058
+ # Path for checkpassword binary
1059
+ #args =
1060
+ #}
1061
+
1062
+ # static settings generated from template </usr/share/doc/dovecot-common/wiki/UserDatabase.Static.txt>
1063
+ userdb static {
1064
+ # Template for the fields. Can return anything a userdb could normally
1065
+ # return. For example:
1066
+ #
1067
+ # args = uid=500 gid=500 home=/var/mail/%u
1068
+ #
1069
+ # If you use deliver, it needs to look up users only from the userdb. This
1070
+ # of course doesn't work with static because there is no list of users.
1071
+ # Normally static userdb handles this by doing a passdb lookup. This works
1072
+ # with most passdbs, with PAM being the most notable exception. If you do
1073
+ # the user verification another way, you can add allow_all_users=yes to
1074
+ # the args in which case the passdb lookup is skipped.
1075
+ #
1076
+ args = uid=vmail gid=vmail home=/srv/mail/users/%d/%n
1077
+ }
1078
+
1079
+ # SQL database </usr/share/doc/dovecot-common/wiki/AuthDatabase.SQL.txt>
1080
+ #userdb sql {
1081
+ # Path for SQL configuration file
1082
+ #args = /etc/dovecot/dovecot-sql.conf
1083
+ #}
1084
+
1085
+ # LDAP database </usr/share/doc/dovecot-common/wiki/AuthDatabase.LDAP.txt>
1086
+ #userdb ldap {
1087
+ # Path for LDAP configuration file
1088
+ #args = /etc/dovecot/dovecot-ldap.conf
1089
+ #}
1090
+
1091
+ # vpopmail </usr/share/doc/dovecot-common/wiki/AuthDatabase.VPopMail.txt>
1092
+ #userdb vpopmail {
1093
+ #}
1094
+
1095
+ # User to use for the process. This user needs access to only user and
1096
+ # password databases, nothing else. Only shadow and pam authentication
1097
+ # requires roots, so use something else if possible. Note that passwd
1098
+ # authentication with BSDs internally accesses shadow files, which also
1099
+ # requires roots. Note that this user is NOT used to access mails.
1100
+ # That user is specified by userdb above.
1101
+ user = root
1102
+
1103
+ # Directory where to chroot the process. Most authentication backends don't
1104
+ # work if this is set, and there's no point chrooting if auth_user is root.
1105
+ # Note that valid_chroot_dirs isn't needed to use this setting.
1106
+ #chroot =
1107
+
1108
+ # Number of authentication processes to create
1109
+ #count = 1
1110
+
1111
+ # Require a valid SSL client certificate or the authentication fails.
1112
+ #ssl_require_client_cert = no
1113
+
1114
+ # Take the username from client's SSL certificate, using
1115
+ # X509_NAME_get_text_by_NID() which returns the subject's DN's
1116
+ # CommonName.
1117
+ #ssl_username_from_cert = no
1118
+
1119
+ # It's possible to export the authentication interface to other programs:
1120
+ socket listen {
1121
+ master {
1122
+ # Master socket provides access to userdb information. It's typically
1123
+ # used to give Dovecot's local delivery agent access to userdb so it
1124
+ # can find mailbox locations.
1125
+ path = /var/run/dovecot/auth-master
1126
+ mode = 0600
1127
+ # Default user/group is the one who started dovecot-auth (root)
1128
+ user = vmail
1129
+ group = vmail
1130
+ }
1131
+ client {
1132
+ # The client socket is generally safe to export to everyone. Typical use
1133
+ # is to export it to your SMTP server so it can do SMTP AUTH lookups
1134
+ # using it.
1135
+ path = /var/run/dovecot/auth-client
1136
+ mode = 0660
1137
+ }
1138
+ }
1139
+ }
1140
+
1141
+ # If you wish to use another authentication server than dovecot-auth, you can
1142
+ # use connect sockets. They are assumed to be already running, Dovecot's master
1143
+ # process only tries to connect to them. They don't need any other settings
1144
+ # than the path for the master socket, as the configuration is done elsewhere.
1145
+ # Note that the client sockets must exist in the login_dir.
1146
+ #auth external {
1147
+ # socket connect {
1148
+ # master {
1149
+ # path = /var/run/dovecot/auth-master
1150
+ # }
1151
+ # }
1152
+ #}
1153
+
1154
+ ##
1155
+ ## Dictionary server settings
1156
+ ##
1157
+
1158
+ # Dictionary can be used by some plugins to store key=value lists, such as
1159
+ # quota, expire and acl plugins. The dictionary can be used either directly or
1160
+ # though a dictionary server. The following dict block maps dictionary names to
1161
+ # URIs when the server is used. These can then be referenced using URIs in
1162
+ # format "proxy::<name>".
1163
+
1164
+ dict {
1165
+ #quota = mysql:/etc/dovecot/dovecot-dict-quota.conf
1166
+ #expire = db:/var/lib/dovecot/expire.db
1167
+ }
1168
+
1169
+ # Path to Berkeley DB's configuration file. See doc/dovecot-db-example.conf
1170
+ #dict_db_config =
1171
+
1172
+ ##
1173
+ ## Plugin settings
1174
+ ##
1175
+
1176
+ plugin {
1177
+ # Here you can give some extra environment variables to mail processes.
1178
+ # This is mostly meant for passing parameters to plugins. %variable
1179
+ # expansion is done for all values.
1180
+
1181
+ # Quota plugin. Multiple backends are supported:
1182
+ # dirsize: Find and sum all the files found from mail directory.
1183
+ # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O.
1184
+ # dict: Keep quota stored in dictionary (eg. SQL)
1185
+ # maildir: Maildir++ quota
1186
+ # fs: Read-only support for filesystem quota
1187
+ #
1188
+ # Quota limits are set using "quota_rule" parameters, either in here or in
1189
+ # userdb. It's also possible to give mailbox-specific limits, for example:
1190
+ # quota_rule = *:storage=1048576
1191
+ # quota_rule2 = Trash:storage=102400
1192
+ # User has now 1GB quota, but when saving to Trash mailbox the user gets
1193
+ # additional 100MB.
1194
+ #
1195
+ # Multiple quota roots are also possible, for example:
1196
+ # quota = dict:user::proxy::quota
1197
+ # quota2 = dict:domain:%d:proxy::quota_domain
1198
+ # quota_rule = *:storage=102400
1199
+ # quota2_rule = *:storage=1048576
1200
+ # Gives each user their own 100MB quota and one shared 1GB quota within
1201
+ # the domain.
1202
+ #
1203
+ # You can execute a given command when user exceeds a specified quota limit.
1204
+ # Each quota root has separate limits. Only the command for the first
1205
+ # exceeded limit is excecuted, so put the highest limit first.
1206
+ # Note that % needs to be escaped as %%, otherwise "% " expands to empty.
1207
+ # quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
1208
+ # quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
1209
+ #quota = maildir
1210
+
1211
+ # ACL plugin. vfile backend reads ACLs from "dovecot-acl" file from maildir
1212
+ # directory. You can also optionally give a global ACL directory path where
1213
+ # ACLs are applied to all users' mailboxes. The global ACL directory contains
1214
+ # one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter
1215
+ # specifies how many seconds to wait between stat()ing dovecot-acl file
1216
+ # to see if it changed.
1217
+ #acl = vfile:/etc/dovecot/dovecot-acls:cache_secs=300
1218
+
1219
+ # To let users LIST mailboxes shared by other users, Dovecot needs a
1220
+ # shared mailbox dictionary. For example:
1221
+ #acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
1222
+
1223
+ # Convert plugin. If set, specifies the source storage path which is
1224
+ # converted to destination storage (mail_location) when the user logs in.
1225
+ # The existing mail directory is renamed to <dir>-converted.
1226
+ #convert_mail = mbox:%h/mail
1227
+ # Skip mailboxes which we can't open successfully instead of aborting.
1228
+ #convert_skip_broken_mailboxes = no
1229
+ # Skip directories beginning with '.'
1230
+ #convert_skip_dotdirs = no
1231
+ # If source storage has mailbox names with destination storage's hierarchy
1232
+ # separators, replace them with this character.
1233
+ #convert_alt_hierarchy_char = _
1234
+
1235
+ # Trash plugin. When saving a message would make user go over quota, this
1236
+ # plugin automatically deletes the oldest mails from configured mailboxes
1237
+ # until the message can be saved within quota limits. The configuration file
1238
+ # is a text file where each line is in format: <priority> <mailbox name>
1239
+ # Mails are first deleted in lowest -> highest priority number order
1240
+ #trash = /etc/dovecot/dovecot-trash.conf
1241
+
1242
+ # Expire plugin. Mails are expunged from mailboxes after being there the
1243
+ # configurable time. The first expiration date for each mailbox is stored in
1244
+ # a dictionary so it can be quickly determined which mailboxes contain
1245
+ # expired mails. The actual expunging is done in a nightly cronjob, which
1246
+ # you must set up:
1247
+ # dovecot --exec-mail ext /usr/lib/dovecot/expire-tool.sh
1248
+ #expire = Trash 7 Spam 30
1249
+ #expire_dict = proxy::expire
1250
+
1251
+ # Lazy expunge plugin. Currently works only with maildirs. When a user
1252
+ # expunges mails, the mails are moved to a mailbox in another namespace
1253
+ # (1st). When a mailbox is deleted, the mailbox is moved to another namespace
1254
+ # (2nd) as well. Also if the deleted mailbox had any expunged messages,
1255
+ # they're moved to a 3rd namespace. The mails won't be counted in quota,
1256
+ # and they're not deleted automatically (use a cronjob or something).
1257
+ #lazy_expunge = .EXPUNGED/ .DELETED/ .DELETED/.EXPUNGED/
1258
+
1259
+ # Events to log. Also available: flag_change append
1260
+ #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
1261
+ # Group events within a transaction to one line.
1262
+ #mail_log_group_events = no
1263
+ # Available fields: uid, box, msgid, from, subject, size, vsize, flags
1264
+ # size and vsize are available only for expunge and copy events.
1265
+ #mail_log_fields = uid box msgid size
1266
+
1267
+ # Sieve plugin (http://wiki.dovecot.org/LDA/Sieve) and ManageSieve service
1268
+ #
1269
+ # Location of the active script. When ManageSieve is used this is actually
1270
+ # a symlink pointing to the active script in the sieve storage directory.
1271
+ #sieve=~/.dovecot.sieve
1272
+ #
1273
+ # The path to the directory where the personal Sieve scripts are stored. For
1274
+ # ManageSieve this is where the uploaded scripts are stored.
1275
+ #sieve_dir=~/sieve
1276
+ }
1277
+
1278
+ # Config files can also be included. deliver doesn't support them currently.
1279
+ #!include /etc/dovecot/conf.d/*.conf
1280
+ # Optional configurations, don't give an error if it's not found:
1281
+ #!include_try /etc/dovecot/extra.conf