{"id":252,"date":"2012-02-17T17:49:43","date_gmt":"2012-02-17T08:49:43","guid":{"rendered":"http:\/\/kaz.it-n.jp\/wordpress\/?page_id=252"},"modified":"2012-02-17T17:49:43","modified_gmt":"2012-02-17T08:49:43","slug":"dovecot-conf","status":"publish","type":"page","link":"https:\/\/kaz.it-n.jp\/?page_id=252","title":{"rendered":"dovecot.conf"},"content":{"rendered":"<p>## Dovecot configuration file<\/p>\n<p># If you&#8217;re in a hurry, see http:\/\/wiki.dovecot.org\/QuickConfiguration<\/p>\n<p># &#8220;dovecot -n&#8221; command gives a clean output of the changed settings. Use it<br \/>\n# instead of copy&amp;pasting this file when posting to the Dovecot mailing list.<\/p>\n<p># &#8216;#&#8217; character and everything after it is treated as comments. Extra spaces<br \/>\n# and tabs are ignored. If you want to use either of these explicitly, put the<br \/>\n# value inside quotes, eg.: key = &#8220;# char and trailing whitespace &#8221;<\/p>\n<p># Default values are shown for each setting, it&#8217;s not required to uncomment<br \/>\n# any of the lines.<\/p>\n<p># Base directory where to store runtime data.<br \/>\n#base_dir = \/var\/run\/dovecot\/<\/p>\n<p># Protocols we want to be serving: imap imaps pop3 pop3s<br \/>\n# If you only want to use dovecot-auth, you can set this to &#8220;none&#8221;.<br \/>\n#protocols = imap imaps pop3 pop3s<br \/>\n<strong><span style=\"color: #ff0000;\">protocols = imaps pop3s<\/span><\/strong><\/p>\n<p># IP or host address where to listen in for connections. It&#8217;s not currently<br \/>\n# possible to specify multiple addresses. &#8220;*&#8221; listens in all IPv4 interfaces.<br \/>\n# &#8220;[::]&#8221; listens in all IPv6 interfaces, but may also listen in all IPv4<br \/>\n# interfaces depending on the operating system.<br \/>\n#<br \/>\n# If you want to specify ports for each service, you will need to configure<br \/>\n# these settings inside the protocol imap\/pop3 { &#8230; } section, so you can<br \/>\n# specify different ports for IMAP\/POP3. For example:<br \/>\n# protocol imap {<br \/>\n# listen = *:10143<br \/>\n# ssl_listen = *:10943<br \/>\n# ..<br \/>\n# }<br \/>\n# protocol pop3 {<br \/>\n# listen = *:10100<br \/>\n# ..<br \/>\n# }<br \/>\n#listen = [::]<\/p>\n<p># Disable LOGIN command and all other plaintext authentications unless<br \/>\n# SSL\/TLS is used (LOGINDISABLED capability). Note that if the remote IP<br \/>\n# matches the local IP (ie. you&#8217;re connecting from the same computer), the<br \/>\n# connection is considered secure and plaintext authentication is allowed.<br \/>\n#disable_plaintext_auth = no<\/p>\n<p># Should all IMAP and POP3 processes be killed when Dovecot master process<br \/>\n# shuts down. Setting this to &#8220;no&#8221; means that Dovecot can be upgraded without<br \/>\n# forcing existing client connections to close (although that could also be<br \/>\n# a problem if the upgrade is eg. because of a security fix). This however<br \/>\n# means that after master process has died, the client processes can&#8217;t write<br \/>\n# to log files anymore.<br \/>\n#shutdown_clients = yes<\/p>\n<p>##<br \/>\n## Logging<br \/>\n##<\/p>\n<p># Log file to use for error messages, instead of sending them to syslog.<br \/>\n# \/dev\/stderr can be used to log into stderr.<br \/>\n#log_path =<\/p>\n<p># Log file to use for informational and debug messages.<br \/>\n# Default is the same as log_path.<br \/>\n#info_log_path =<\/p>\n<p># Prefix for each line written to log file. % codes are in strftime(3)<br \/>\n# format.<br \/>\n#log_timestamp = &#8220;%b %d %H:%M:%S &#8221;<\/p>\n<p># Syslog facility to use if you&#8217;re logging to syslog. Usually if you don&#8217;t<br \/>\n# want to use &#8220;mail&#8221;, you&#8217;ll use local0..local7. Also other standard<br \/>\n# facilities are supported.<br \/>\n#syslog_facility = mail<\/p>\n<p>##<br \/>\n## SSL settings<br \/>\n##<\/p>\n<p># IP or host address where to listen in for SSL connections. Defaults<br \/>\n# to above if not specified.<br \/>\n#ssl_listen =<\/p>\n<p># Disable SSL\/TLS support.<br \/>\n<strong><span style=\"color: #ff0000;\">ssl_disable = no<\/span><\/strong><\/p>\n<p># PEM encoded X.509 SSL\/TLS certificate and private key. They&#8217;re opened before<br \/>\n# dropping root privileges, so keep the key file unreadable by anyone but<br \/>\n# root. Included doc\/mkcert.sh can be used to easily generate self-signed<br \/>\n# certificate, just make sure to update the domains in dovecot-openssl.cnf<br \/>\n#ssl_cert_file = \/etc\/pki\/dovecot\/certs\/dovecot.pem<br \/>\n#ssl_key_file = \/etc\/pki\/dovecot\/private\/dovecot.pem<br \/>\n<strong><span style=\"color: #ff0000;\">ssl_cert_file = \/etc\/pki\/tls\/certs\/mail.pem<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\"> ssl_key_file = \/etc\/pki\/tls\/certs\/mail.pem<\/span><\/strong><\/p>\n<p># If key file is password protected, give the password here. Alternatively<br \/>\n# give it when starting dovecot with -p parameter. Since this file is often<br \/>\n# world-readable, you may want to place this setting instead to a different<br \/>\n# root owned 0600 file by using !include_try .<br \/>\n#ssl_key_password =<\/p>\n<p># File containing trusted SSL certificate authorities. Usually not needed.<br \/>\n# The CAfile should contain the CA-certificate(s) followed by the matching<br \/>\n# CRL(s). CRL checking is new in dovecot .rc1<br \/>\n#ssl_ca_file =<\/p>\n<p># Request client to send a certificate. If you also want to require it, set<br \/>\n# ssl_require_client_cert=yes in auth section.<br \/>\n#ssl_verify_client_cert = no<\/p>\n<p># How often to regenerate the SSL parameters file. Generation is quite CPU<br \/>\n# intensive operation. The value is in hours, 0 disables regeneration<br \/>\n# entirely.<br \/>\n#ssl_parameters_regenerate = 168<\/p>\n<p># SSL ciphers to use<br \/>\n#ssl_cipher_list = ALL:!LOW<\/p>\n<p># Show protocol level SSL errors.<br \/>\n#verbose_ssl = no<\/p>\n<p>##<br \/>\n## Login processes<br \/>\n##<\/p>\n<p>#<\/p>\n<p># Directory where authentication process places authentication UNIX sockets<br \/>\n# which login needs to be able to connect to. The sockets are created when<br \/>\n# running as root, so you don&#8217;t have to worry about permissions. Note that<br \/>\n# everything in this directory is deleted when Dovecot is started.<br \/>\n#login_dir = \/var\/run\/dovecot\/login<\/p>\n<p># chroot login process to the login_dir. Only reason not to do this is if you<br \/>\n# wish to run the whole Dovecot without roots.<br \/>\n#login_chroot = yes<\/p>\n<p># User to use for the login process. Create a completely new user for this,<br \/>\n# and don&#8217;t use it anywhere else. The user must also belong to a group where<br \/>\n# only it has access, it&#8217;s used to control access for authentication process.<br \/>\n# Note that this user is NOT used to access mails.<br \/>\n#login_user = dovecot<\/p>\n<p># Set max. process size in megabytes. If you don&#8217;t use<br \/>\n# login_process_per_connection you might need to grow this.<br \/>\n#login_process_size = 64<\/p>\n<p># Should each login be processed in it&#8217;s own process (yes), or should one<br \/>\n# login process be allowed to process multiple connections (no)? Yes is more<br \/>\n# secure, espcially with SSL\/TLS enabled. No is faster since there&#8217;s no need<br \/>\n# to create processes all the time.<br \/>\n#login_process_per_connection = yes<\/p>\n<p># Number of login processes to keep for listening new connections.<br \/>\n#login_processes_count = 3<\/p>\n<p># Maximum number of login processes to create. The listening process count<br \/>\n# usually stays at login_processes_count, but when multiple users start logging<br \/>\n# in at the same time more extra processes are created. To prevent fork-bombing<br \/>\n# we check only once in a second if new processes should be created &#8211; if all<br \/>\n# of them are used at the time, we double their amount until the limit set by<br \/>\n# this setting is reached.<br \/>\n#login_max_processes_count = 128<\/p>\n<p># Maximum number of connections allowed per each login process. This setting<br \/>\n# is used only if login_process_per_connection=no. Once the limit is reached,<br \/>\n# the process notifies master so that it can create a new login process.<br \/>\n# You should make sure that the process has at least<br \/>\n# 16 + login_max_connections * 2 available file descriptors.<br \/>\n#login_max_connections = 256<\/p>\n<p># Greeting message for clients.<br \/>\n#login_greeting = Dovecot ready.<\/p>\n<p># Space-separated list of elements we want to log. The elements which have<br \/>\n# a non-empty variable value are joined together to form a comma-separated<br \/>\n# string.<br \/>\n#login_log_format_elements = user= method=%m rip=%r lip=%l %c<\/p>\n<p># Login log format. %$ contains login_log_format_elements string, %s contains<br \/>\n# the data we want to log.<br \/>\n#login_log_format = %$: %s<\/p>\n<p>##<br \/>\n## Mailbox locations and namespaces<br \/>\n##<\/p>\n<p># Location for users&#8217; mailboxes. This is the same as the old default_mail_env<br \/>\n# setting. The default is empty, which means that Dovecot tries to find the<br \/>\n# mailboxes automatically. This won&#8217;t work if the user doesn&#8217;t have any mail<br \/>\n# yet, so you should explicitly tell Dovecot the full location.<br \/>\n#<br \/>\n# If you&#8217;re using mbox, giving a path to the INBOX file (eg. \/var\/mail\/%u)<br \/>\n# isn&#8217;t enough. You&#8217;ll also need to tell Dovecot where the other mailboxes are<br \/>\n# kept. This is called the &#8220;root mail directory&#8221;, and it must be the first<br \/>\n# path given in the mail_location setting.<br \/>\n#<br \/>\n# There are a few special variables you can use, eg.:<br \/>\n#<br \/>\n# %u &#8211; username<br \/>\n# %n &#8211; user part in user@domain, same as %u if there&#8217;s no domain<br \/>\n# %d &#8211; domain part in user@domain, empty if there&#8217;s no domain<br \/>\n# %h &#8211; home directory<br \/>\n#<br \/>\n# See doc\/wiki\/Variables.txt for full list. Some examples:<br \/>\n#<br \/>\n# mail_location = maildir:~\/Maildir<br \/>\n# mail_location = mbox:~\/mail:INBOX=\/var\/mail\/%u<br \/>\n# mail_location = mbox:\/var\/mail\/%d\/%1n\/%n:INDEX=\/var\/indexes\/%d\/%1n\/%n<br \/>\n#<br \/>\n#<br \/>\n#<br \/>\n<strong><span style=\"color: #ff0000;\">mail_location = maildir:~\/Maildir<\/span><\/strong><\/p>\n<p># If you need to set multiple mailbox locations or want to change default<br \/>\n# namespace settings, you can do it by defining namespace sections.<br \/>\n# NOTE: Namespaces currently work ONLY with IMAP! POP3 and LDA currently ignore<br \/>\n# namespaces completely, they use only the mail_location setting.<br \/>\n#<br \/>\n# You can have private, shared and public namespaces. The only difference<br \/>\n# between them is how Dovecot announces them to client via NAMESPACE<br \/>\n# extension. Shared namespaces are meant for user-owned mailboxes which are<br \/>\n# shared to other users, while public namespaces are for more globally<br \/>\n# accessible mailboxes.<br \/>\n#<br \/>\n# REMEMBER: If you add any namespaces, the default namespace must be added<br \/>\n# explicitly, ie. mail_location does nothing unless you have a namespace<br \/>\n# without a location setting. Default namespace is simply done by having a<br \/>\n# namespace with empty prefix.<br \/>\n#namespace private {<br \/>\n# Hierarchy separator to use. You should use the same separator for all<br \/>\n# namespaces or some clients get confused. &#8216;\/&#8217; is usually a good one.<br \/>\n# The default however depends on the underlying mail storage format.<br \/>\n#separator =<\/p>\n<p># Prefix required to access this namespace. This needs to be different for<br \/>\n# all namespaces. For example &#8220;Public\/&#8221;.<br \/>\n#prefix =<\/p>\n<p># Physical location of the mailbox. This is in same format as<br \/>\n# mail_location, which is also the default for it.<br \/>\n#location =<\/p>\n<p># There can be only one INBOX, and this setting defines which namespace<br \/>\n# has it.<br \/>\n#inbox = yes<\/p>\n<p># If namespace is hidden, it&#8217;s not advertised to clients via NAMESPACE<br \/>\n# extension or shown in LIST replies. This is mostly useful when converting<br \/>\n# from another server with different namespaces which you want to depricate<br \/>\n# but still keep working. For example you can create hidden namespaces with<br \/>\n# prefixes &#8220;~\/mail\/&#8221;, &#8220;~%u\/mail\/&#8221; and &#8220;mail\/&#8221;.<br \/>\n#hidden = yes<br \/>\n#}<\/p>\n<p># Group to enable temporarily for privileged operations. Currently this is<br \/>\n# used only for creating mbox dotlock files when creation fails for INBOX.<br \/>\n# Typically this is set to &#8220;mail&#8221; to give access to \/var\/mail.<br \/>\n#mail_privileged_group =<\/p>\n<p># Grant access to these supplementary groups for mail processes. Typically<br \/>\n# these are used to set up access to shared mailboxes. Note that it may be<br \/>\n# dangerous to set these if users can create symlinks (e.g. if &#8220;mail&#8221; group is<br \/>\n# set here, ln -s \/var\/mail ~\/mail\/var could allow a user to delete others&#8217;<br \/>\n# mailboxes, or ln -s \/secret\/shared\/box ~\/mail\/mybox would allow reading it).<br \/>\n#mail_access_groups =<\/p>\n<p># Allow full filesystem access to clients. There&#8217;s no access checks other than<br \/>\n# what the operating system does for the active UID\/GID. It works with both<br \/>\n# maildir and mboxes, allowing you to prefix mailboxes names with eg. \/path\/<br \/>\n# or ~user\/.<br \/>\n#mail_full_filesystem_access = no<\/p>\n<p>##<br \/>\n## Mail processes<br \/>\n##<\/p>\n<p># Enable mail process debugging. This can help you figure out why Dovecot<br \/>\n# isn&#8217;t finding your mails.<br \/>\n#mail_debug = no<\/p>\n<p># Log prefix for mail processes. See doc\/wiki\/Variables.txt for list of<br \/>\n# possible variables you can use.<br \/>\n#mail_log_prefix = &#8220;%Us(%u): &#8221;<\/p>\n<p># Max. number of lines a mail process is allowed to log per second before it&#8217;s<br \/>\n# throttled. 0 means unlimited. Typically there&#8217;s no need to change this<br \/>\n# unless you&#8217;re using mail_log plugin, which may log a lot.<br \/>\n#mail_log_max_lines_per_sec = 10<\/p>\n<p># Don&#8217;t use mmap() at all. This is required if you store indexes to shared<br \/>\n# filesystems (NFS or clustered filesystem).<br \/>\n#mmap_disable = no<\/p>\n<p># Don&#8217;t write() to mmaped files. This is required for some operating systems<br \/>\n# which use separate caches for them, such as OpenBSD.<br \/>\n#mmap_no_write = no<\/p>\n<p># Rely on O_EXCL to work when creating dotlock files. The default is to use<br \/>\n# hard linking. O_EXCL makes the dotlocking faster, but it doesn&#8217;t always<br \/>\n# work with NFS.<br \/>\n#dotlock_use_excl = no<\/p>\n<p># Don&#8217;t use fsync() or fdatasync() calls. This makes the performance better<br \/>\n# at the cost of potential data loss if the server (or the file server)<br \/>\n# goes down.<br \/>\n#fsync_disable = no<\/p>\n<p># Locking method for index files. Alternatives are fcntl, flock and dotlock.<br \/>\n# Dotlocking uses some tricks which may create more disk I\/O than other locking<br \/>\n# methods. NFS users: flock doesn&#8217;t work, remember to change mmap_disable.<br \/>\n#lock_method = fcntl<\/p>\n<p># Drop all privileges before exec()ing the mail process. This is mostly<br \/>\n# meant for debugging, otherwise you don&#8217;t get core dumps. It could be a small<br \/>\n# security risk if you use single UID for multiple users, as the users could<br \/>\n# ptrace() each others processes then.<br \/>\n#mail_drop_priv_before_exec = no<\/p>\n<p># Show more verbose process titles (in ps). Currently shows user name and<br \/>\n# IP address. Useful for seeing who are actually using the IMAP processes<br \/>\n# (eg. shared mailboxes or if same uid is used for multiple accounts).<br \/>\n#verbose_proctitle = no<\/p>\n<p># Valid UID range for users, defaults to 500 and above. This is mostly<br \/>\n# to make sure that users can&#8217;t log in as daemons or other system users.<br \/>\n# Note that denying root logins is hardcoded to dovecot binary and can&#8217;t<br \/>\n# be done even if first_valid_uid is set to 0.<br \/>\n#first_valid_uid = 500<br \/>\n#last_valid_uid = 0<\/p>\n<p># Valid GID range for users, defaults to non-root\/wheel. Users having<br \/>\n# non-valid GID as primary group ID aren&#8217;t allowed to log in. If user<br \/>\n# belongs to supplementary groups with non-valid GIDs, those groups are<br \/>\n# not set.<br \/>\n#first_valid_gid = 1<br \/>\n#last_valid_gid = 0<\/p>\n<p># Maximum number of running mail processes. When this limit is reached,<br \/>\n# new users aren&#8217;t allowed to log in.<br \/>\n#max_mail_processes = 1024<\/p>\n<p># Set max. process size in megabytes. Most of the memory goes to mmap()ing<br \/>\n# files, so it shouldn&#8217;t harm much even if this limit is set pretty high.<br \/>\n#mail_process_size = 256<\/p>\n<p># Maximum allowed length for mail keyword name. It&#8217;s only forced when trying<br \/>\n# to create new keywords.<br \/>\n#mail_max_keyword_length = 50<\/p>\n<p># &#8216;:&#8217; separated list of directories under which chrooting is allowed for mail<br \/>\n# processes (ie. \/var\/mail will allow chrooting to \/var\/mail\/foo\/bar too).<br \/>\n# This setting doesn&#8217;t affect login_chroot or auth chroot variables.<br \/>\n# WARNING: Never add directories here which local users can modify, that<br \/>\n# may lead to root exploit. Usually this should be done only if you don&#8217;t<br \/>\n# allow shell access for users.<br \/>\n#valid_chroot_dirs =<\/p>\n<p># Default chroot directory for mail processes. This can be overridden for<br \/>\n# specific users in user database by giving \/.\/ in user&#8217;s home directory<br \/>\n# (eg. \/home\/.\/user chroots into \/home). Note that usually there is no real<br \/>\n# need to do chrooting, Dovecot doesn&#8217;t allow users to access files outside<br \/>\n# their mail directory anyway.<br \/>\n#mail_chroot =<\/p>\n<p>##<br \/>\n## Mailbox handling optimizations<br \/>\n##<\/p>\n<p># Space-separated list of fields to initially save into cache file. Currently<br \/>\n# these fields are allowed:<br \/>\n#<br \/>\n# flags, date.sent, date.received, size.virtual, size.physical<br \/>\n# mime.parts, imap.body, imap.bodystructure<br \/>\n#<br \/>\n# Different IMAP clients work in different ways, so they benefit from<br \/>\n# different cached fields. Some do not benefit from them at all. Caching more<br \/>\n# than necessary generates useless disk I\/O, so you don&#8217;t want to do that<br \/>\n# either.<br \/>\n#<br \/>\n# Dovecot attempts to automatically figure out what client wants and it keeps<br \/>\n# only that. However the first few times a mailbox is opened, Dovecot hasn&#8217;t<br \/>\n# yet figured out what client needs, so it may not perform optimally. If you<br \/>\n# know what fields the majority of your clients need, it may be useful to set<br \/>\n# these fields by hand. If client doesn&#8217;t actually use them, Dovecot will<br \/>\n# eventually drop them.<br \/>\n#<br \/>\n# Usually you should just leave this field alone. The potential benefits are<br \/>\n# typically unnoticeable.<br \/>\n#mail_cache_fields =<\/p>\n<p># Space-separated list of fields that Dovecot should never save to cache file.<br \/>\n# Useful if you want to save disk space at the cost of more I\/O when the fields<br \/>\n# needed.<br \/>\n#mail_never_cache_fields =<\/p>\n<p># The minimum number of mails in a mailbox before updates are done to cache<br \/>\n# file. This allows optimizing Dovecot&#8217;s behavior to do less disk writes at<br \/>\n# the cost of more disk reads.<br \/>\n#mail_cache_min_mail_count = 0<\/p>\n<p># When IDLE command is running, mailbox is checked once in a while to see if<br \/>\n# there are any new mails or other changes. This setting defines the minimum<br \/>\n# time in seconds to wait between those checks. Dovecot can also use dnotify,<br \/>\n# inotify and kqueue to find out immediately when changes occur.<br \/>\n#mailbox_idle_check_interval = 30<\/p>\n<p># Save mails with CR+LF instead of plain LF. This makes sending those mails<br \/>\n# take less CPU, especially with sendfile() syscall with Linux and FreeBSD.<br \/>\n# But it also creates a bit more disk I\/O which may just make it slower.<br \/>\n# Also note that if other software reads the mboxes\/maildirs, they may handle<br \/>\n# the extra CRs wrong and cause problems.<br \/>\n#mail_save_crlf = no<\/p>\n<p>##<br \/>\n## Maildir-specific settings<br \/>\n##<\/p>\n<p># By default LIST command returns all entries in maildir beginning with a dot.<br \/>\n# Enabling this option makes Dovecot return only entries which are directories.<br \/>\n# This is done by stat()ing each entry, so it causes more disk I\/O.<br \/>\n# (For systems setting struct dirent-&gt;d_type, this check is free and it&#8217;s<br \/>\n# done always regardless of this setting)<br \/>\n#maildir_stat_dirs = no<\/p>\n<p># When copying a message, do it with hard links whenever possible. This makes<br \/>\n# the performance much better, and it&#8217;s unlikely to have any side effects.<br \/>\n#maildir_copy_with_hardlinks = no<\/p>\n<p># When copying a message, try to preserve the base filename. Only if the<br \/>\n# destination mailbox already contains the same name (ie. the mail is being<br \/>\n# copied there twice), a new name is given. The destination filename check is<br \/>\n# done only by looking at dovecot-uidlist file, so if something outside<br \/>\n# Dovecot does similar filename preserving copies, you may run into problems.<br \/>\n# NOTE: This setting requires maildir_copy_with_hardlinks = yes to work.<br \/>\n#maildir_copy_preserve_filename = no<\/p>\n<p>##<br \/>\n## mbox-specific settings<br \/>\n##<\/p>\n<p># Which locking methods to use for locking mbox. There are four available:<br \/>\n# dotlock: Create .lock file. This is the oldest and most NFS-safe<br \/>\n# solution. If you want to use \/var\/mail\/ like directory, the users<br \/>\n# will need write access to that directory.<br \/>\n# fcntl : Use this if possible. Works with NFS too if lockd is used.<br \/>\n# flock : May not exist in all systems. Doesn&#8217;t work with NFS.<br \/>\n# lockf : May not exist in all systems. Doesn&#8217;t work with NFS.<br \/>\n#<br \/>\n# You can use multiple locking methods; if you do the order they&#8217;re declared<br \/>\n# in is important to avoid deadlocks if other MTAs\/MUAs are using multiple<br \/>\n# locking methods as well. Some operating systems don&#8217;t allow using some of<br \/>\n# them simultaneously.<br \/>\n#mbox_read_locks = fcntl<br \/>\n#mbox_write_locks = fcntl<\/p>\n<p># Maximum time in seconds to wait for lock (all of them) before aborting.<br \/>\n#mbox_lock_timeout = 300<\/p>\n<p># If dotlock exists but the mailbox isn&#8217;t modified in any way, override the<br \/>\n# lock file after this many seconds.<br \/>\n#mbox_dotlock_change_timeout = 120<\/p>\n<p># When mbox changes unexpectedly we have to fully read it to find out what<br \/>\n# changed. If the mbox is large this can take a long time. Since the change<br \/>\n# is usually just a newly appended mail, it&#8217;d be faster to simply read the<br \/>\n# new mails. If this setting is enabled, Dovecot does this but still safely<br \/>\n# fallbacks to re-reading the whole mbox file whenever something in mbox isn&#8217;t<br \/>\n# how it&#8217;s expected to be. The only real downside to this setting is that if<br \/>\n# some other MUA changes message flags, Dovecot doesn&#8217;t notice it immediately.<br \/>\n# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK<br \/>\n# commands.<br \/>\n#mbox_dirty_syncs = yes<\/p>\n<p># Like mbox_dirty_syncs, but don&#8217;t do full syncs even with SELECT, EXAMINE,<br \/>\n# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.<br \/>\n#mbox_very_dirty_syncs = no<\/p>\n<p># Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK<br \/>\n# commands and when closing the mailbox). This is especially useful for POP3<br \/>\n# where clients often delete all mails. The downside is that our changes<br \/>\n# aren&#8217;t immediately visible to other MUAs.<br \/>\n#mbox_lazy_writes = yes<\/p>\n<p># If mbox size is smaller than this (in kilobytes), don&#8217;t write index files.<br \/>\n# If an index file already exists it&#8217;s still read, just not updated.<br \/>\n#mbox_min_index_size = 0<\/p>\n<p>##<br \/>\n## dbox-specific settings<br \/>\n##<\/p>\n<p># Maximum dbox file size in kilobytes until it&#8217;s rotated.<br \/>\n#dbox_rotate_size = 2048<\/p>\n<p># Minimum dbox file size in kilobytes before it&#8217;s rotated<br \/>\n# (overrides dbox_rotate_days)<br \/>\n#dbox_rotate_min_size = 16<\/p>\n<p># Maximum dbox file age in days until it&#8217;s rotated. Day always begins from<br \/>\n# midnight, so 1 = today, 2 = yesterday, etc. 0 = check disabled.<br \/>\n#dbox_rotate_days = 0<\/p>\n<p>##<br \/>\n## IMAP specific settings<br \/>\n##<\/p>\n<p>protocol imap {<br \/>\n# Login executable location.<br \/>\n#login_executable = \/usr\/libexec\/dovecot\/imap-login<\/p>\n<p># IMAP executable location. Changing this allows you to execute other<br \/>\n# binaries before the imap process is executed.<br \/>\n#<br \/>\n# This would write rawlogs into ~\/dovecot.rawlog\/ directory:<br \/>\n# mail_executable = \/usr\/libexec\/dovecot\/rawlog \/usr\/libexec\/dovecot\/imap<br \/>\n#<br \/>\n# This would attach gdb into the imap process and write backtraces into<br \/>\n# \/tmp\/gdbhelper.* files:<br \/>\n# mail_executable = \/usr\/libexec\/dovecot\/gdbhelper \/usr\/libexec\/dovecot\/imap<br \/>\n#<br \/>\n#mail_executable = \/usr\/libexec\/dovecot\/imap<\/p>\n<p># Maximum IMAP command line length in bytes. Some clients generate very long<br \/>\n# command lines with huge mailboxes, so you may need to raise this if you get<br \/>\n# &#8220;Too long argument&#8221; or &#8220;IMAP command line too large&#8221; errors often.<br \/>\n#imap_max_line_length = 65536<\/p>\n<p># Support for dynamically loadable plugins. mail_plugins is a space separated<br \/>\n# list of plugins to load.<br \/>\n#mail_plugins =<br \/>\n#mail_plugin_dir = \/usr\/lib\/dovecot\/imap<\/p>\n<p># Send IMAP capabilities in greeting message. This makes it unnecessary for<br \/>\n# clients to request it with CAPABILITY command, so it saves one round-trip.<br \/>\n# Many clients however don&#8217;t understand it and ask the CAPABILITY anyway.<br \/>\n#login_greeting_capability = no<\/p>\n<p># Override the IMAP CAPABILITY response.<br \/>\n#imap_capability =<\/p>\n<p># Workarounds for various client bugs:<br \/>\n# delay-newmail:<br \/>\n# Send EXISTS\/RECENT new mail notifications only when replying to NOOP<br \/>\n# and CHECK commands. Some clients ignore them otherwise, for example OSX<br \/>\n# Mail ( # may show user &#8220;Message no longer in server&#8221; errors. Note that OE6 still<br \/>\n# breaks even with this workaround if synchronization is set to<br \/>\n# &#8220;Headers Only&#8221;.<br \/>\n# outlook-idle:<br \/>\n# Outlook and Outlook Express never abort IDLE command, so if no mail<br \/>\n# arrives in half a hour, Dovecot closes the connection. This is still<br \/>\n# fine, except Outlook doesn&#8217;t connect back so you don&#8217;t see if new mail<br \/>\n# arrives.<br \/>\n# netscape-eoh:<br \/>\n# Netscape 4.x breaks if message headers don&#8217;t end with the empty &#8220;end of<br \/>\n# headers&#8221; line. Normally all messages have this, but setting this<br \/>\n# workaround makes sure that Netscape never breaks by adding the line if<br \/>\n# it doesn&#8217;t exist. This is done only for FETCH BODY[HEADER.FIELDS..]<br \/>\n# commands. Note that RFC says this shouldn&#8217;t be done.<br \/>\n# tb-extra-mailbox-sep:<br \/>\n# With mbox storage a mailbox can contain either mails or submailboxes,<br \/>\n# but not both. Thunderbird separates these two by forcing server to<br \/>\n# accept &#8216;\/&#8217; suffix in mailbox names in subscriptions list.<br \/>\n# The list is space-separated.<br \/>\n#imap_client_workarounds = outlook-idle<br \/>\n}<\/p>\n<p>##<br \/>\n## POP3 specific settings<br \/>\n##<\/p>\n<p>protocol pop3 {<br \/>\n# Login executable location.<br \/>\n#login_executable = \/usr\/libexec\/dovecot\/pop3-login<\/p>\n<p># POP3 executable location. See IMAP&#8217;s mail_executable above for examples<br \/>\n# how this could be changed.<br \/>\n#mail_executable = \/usr\/libexec\/dovecot\/pop3<\/p>\n<p># Don&#8217;t try to set mails non-recent or seen with POP3 sessions. This is<br \/>\n# mostly intended to reduce disk I\/O. With maildir it doesn&#8217;t move files<br \/>\n# from new\/ to cur\/, with mbox it doesn&#8217;t write Status-header.<br \/>\n#pop3_no_flag_updates = no<\/p>\n<p># Support LAST command which exists in old POP3 specs, but has been removed<br \/>\n# from new ones. Some clients still wish to use this though. Enabling this<br \/>\n# makes RSET command clear all \\Seen flags from messages.<br \/>\n#pop3_enable_last = no<\/p>\n<p># If mail has X-UIDL header, use it as the mail&#8217;s UIDL.<br \/>\n#pop3_reuse_xuidl = no<\/p>\n<p># Keep the mailbox locked for the entire POP3 session.<br \/>\n#pop3_lock_session = no<\/p>\n<p># POP3 UIDL (unique mail identifier) format to use. You can use following<br \/>\n# variables:<br \/>\n#<br \/>\n# %v &#8211; Mailbox&#8217;s IMAP UIDVALIDITY<br \/>\n# %u &#8211; Mail&#8217;s IMAP UID<br \/>\n# %m &#8211; MD5 sum of the mailbox headers in hex (mbox only)<br \/>\n# %f &#8211; filename (maildir only)<br \/>\n#<br \/>\n# If you want UIDL compatibility with other POP3 servers, use:<br \/>\n# UW&#8217;s ipop3d : %08Xv%08Xu<br \/>\n# Courier version 0 : %f<br \/>\n# Courier version 1 : %u<br \/>\n# Courier version 2 : %v-%u<br \/>\n# Cyrus (= 2.1.4) : %v.%u<br \/>\n# Older Dovecots : %v.%u<br \/>\n# tpop3d : %Mf<br \/>\n#<br \/>\n# Note that Outlook 2003 seems to have problems with %v.%u format which was<br \/>\n# Dovecot&#8217;s default, so if you&#8217;re building a new server it would be a good<br \/>\n# idea to change this. %08Xu%08Xv should be pretty fail-safe.<br \/>\n#<br \/>\n# NOTE: Nowadays this is required to be set explicitly, since the old<br \/>\n# default was bad but it couldn&#8217;t be changed without breaking existing<br \/>\n# installations. %08Xu%08Xv will be the new default, so use it for new<br \/>\n# installations.<br \/>\n#<br \/>\n#pop3_uidl_format = %08Xu%08Xv<\/p>\n<p># POP3 logout format string:<br \/>\n# %t &#8211; number of TOP commands<br \/>\n# %p &#8211; number of bytes sent to client as a result of TOP command<br \/>\n# %r &#8211; number of RETR commands<br \/>\n# %b &#8211; number of bytes sent to client as a result of RETR command<br \/>\n# %d &#8211; number of deleted messages<br \/>\n# %m &#8211; number of messages (before deletion)<br \/>\n# %s &#8211; mailbox size in bytes (before deletion)<br \/>\n#pop3_logout_format = top=%t\/%p, retr=%r\/%b, del=%d\/%m, size=%s<\/p>\n<p># Support for dynamically loadable plugins. mail_plugins is a space separated<br \/>\n# list of plugins to load.<br \/>\n#mail_plugins =<br \/>\n#mail_plugin_dir = \/usr\/lib\/dovecot\/pop3<\/p>\n<p># Workarounds for various client bugs:<br \/>\n# outlook-no-nuls:<br \/>\n# Outlook and Outlook Express hang if mails contain NUL characters.<br \/>\n# This setting replaces them with 0x80 character.<br \/>\n# oe-ns-eoh:<br \/>\n# Outlook Express and Netscape Mail breaks if end of headers-line is<br \/>\n# missing. This option simply sends it if it&#8217;s missing.<br \/>\n# The list is space-separated.<br \/>\n#pop3_client_workarounds =<br \/>\n}<\/p>\n<p>##<br \/>\n## LDA specific settings<br \/>\n##<\/p>\n<p>protocol lda {<br \/>\n# Address to use when sending rejection mails.<br \/>\npostmaster_address = postmaster@example.com<\/p>\n<p># Hostname to use in various parts of sent mails, eg. in Message-Id.<br \/>\n# Default is the system&#8217;s real hostname.<br \/>\n#hostname =<\/p>\n<p># Support for dynamically loadable plugins. mail_plugins is a space separated<br \/>\n# list of plugins to load.<br \/>\n#mail_plugins =<br \/>\n#mail_plugin_dir = \/usr\/lib\/dovecot\/lda<\/p>\n<p># Binary to use for sending mails.<br \/>\n#sendmail_path = \/usr\/lib\/sendmail<\/p>\n<p># UNIX socket path to master authentication server to find users.<br \/>\n#auth_socket_path = \/var\/run\/dovecot\/auth-master<br \/>\n}<\/p>\n<p>##<br \/>\n## Authentication processes<br \/>\n##<\/p>\n<p># Executable location<br \/>\n#auth_executable = \/usr\/libexec\/dovecot\/dovecot-auth<\/p>\n<p># Set max. process size in megabytes.<br \/>\n#auth_process_size = 256<\/p>\n<p># Authentication cache size in kilobytes. 0 means it&#8217;s disabled.<br \/>\n# Note that bsdauth, PAM and vpopmail require cache_key to be set for caching<br \/>\n# to be used.<br \/>\n#auth_cache_size = 0<br \/>\n# Time to live in seconds for cached data. After this many seconds the cached<br \/>\n# record is no longer used, *except* if the main database lookup returns<br \/>\n# internal failure. We also try to handle password changes automatically: If<br \/>\n# user&#8217;s previous authentication was successful, but this one wasn&#8217;t, the<br \/>\n# cache isn&#8217;t used. For now this works only with plaintext authentication.<br \/>\n#auth_cache_ttl = 3600<\/p>\n<p># Space separated list of realms for SASL authentication mechanisms that need<br \/>\n# them. You can leave it empty if you don&#8217;t want to support multiple realms.<br \/>\n# Many clients simply use the first one listed here, so keep the default realm<br \/>\n# first.<br \/>\n#auth_realms =<\/p>\n<p># Default realm\/domain to use if none was specified. This is used for both<br \/>\n# SASL realms and appending @domain to username in plaintext logins.<br \/>\n#auth_default_realm =<\/p>\n<p># List of allowed characters in username. If the user-given username contains<br \/>\n# a character not listed in here, the login automatically fails. This is just<br \/>\n# an extra check to make sure user can&#8217;t exploit any potential quote escaping<br \/>\n# vulnerabilities with SQL\/LDAP databases. If you want to allow all characters,<br \/>\n# set this value to empty.<br \/>\n#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@<\/p>\n<p># Username character translations before it&#8217;s looked up from databases. The<br \/>\n# value contains series of from -&gt; to characters. For example &#8220;#@\/@&#8221; means<br \/>\n# that &#8216;#&#8217; and &#8216;\/&#8217; characters are translated to &#8216;@&#8217;.<br \/>\n#auth_username_translation =<\/p>\n<p># Username formatting before it&#8217;s looked up from databases. You can use<br \/>\n# the standard variables here, eg. %Lu would lowercase the username, %n would<br \/>\n# drop away the domain if it was given, or &#8220;%n-AT-%d&#8221; would change the &#8216;@&#8217; into<br \/>\n# &#8220;-AT-&#8220;. This translation is done after auth_username_translation changes.<br \/>\n#auth_username_format =<\/p>\n<p># If you want to allow master users to log in by specifying the master<br \/>\n# username within the normal username string (ie. not using SASL mechanism&#8217;s<br \/>\n# support for it), you can specify the separator character here. The format<br \/>\n# is then . UW-IMAP uses &#8220;*&#8221; as the<br \/>\n# separator, so that could be a good choice.<br \/>\n#auth_master_user_separator =<\/p>\n<p># Username to use for users logging in with ANONYMOUS SASL mechanism<br \/>\n#auth_anonymous_username = anonymous<\/p>\n<p># More verbose logging. Useful for figuring out why authentication isn&#8217;t<br \/>\n# working.<br \/>\n#auth_verbose = no<\/p>\n<p># Even more verbose logging for debugging purposes. Shows for example SQL<br \/>\n# queries.<br \/>\n#auth_debug = no<\/p>\n<p># In case of password mismatches, log the passwords and used scheme so the<br \/>\n# problem can be debugged. Requires auth_debug=yes to be set.<br \/>\n#auth_debug_passwords = no<\/p>\n<p># Maximum number of dovecot-auth worker processes. They&#8217;re used to execute<br \/>\n# blocking passdb and userdb queries (eg. MySQL and PAM). They&#8217;re<br \/>\n# automatically created and destroyed as needed.<br \/>\n#auth_worker_max_count = 30<\/p>\n<p># Host name to use in GSSAPI principal names. The default is to use the<br \/>\n# name returned by gethostname().<br \/>\n#auth_gssapi_hostname =<\/p>\n<p># Kerberos keytab to use for the GSSAPI mechanism. Will use the system<br \/>\n# default (usually \/etc\/krb5.keytab) if not specified.<br \/>\n#auth_krb5_keytab =<\/p>\n<p>auth default {<br \/>\n# Space separated list of wanted authentication mechanisms:<br \/>\n# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi<br \/>\n# NOTE: See also disable_plaintext_auth setting.<br \/>\nmechanisms = plain<\/p>\n<p>#<br \/>\n# Password database is used to verify user&#8217;s password (and nothing more).<br \/>\n# You can have multiple passdbs and userdbs. This is useful if you want to<br \/>\n# allow both system users (\/etc\/passwd) and virtual users to login without<br \/>\n# duplicating the system users into virtual database.<br \/>\n#<br \/>\n#<br \/>\n#<br \/>\n# By adding master=yes setting inside a passdb you make the passdb a list<br \/>\n# of &#8220;master users&#8221;, who can log in as anyone else. Unless you&#8217;re using PAM,<br \/>\n# you probably still want the destination user to be looked up from passdb<br \/>\n# that it really exists. This can be done by adding pass=yes setting to the<br \/>\n# master passdb.<\/p>\n<p># Users can be temporarily disabled by adding a passdb with deny=yes.<br \/>\n# If the user is found from that database, authentication will fail.<br \/>\n# The deny passdb should always be specified before others, so it gets<br \/>\n# checked first. Here&#8217;s an example:<\/p>\n<p>#passdb passwd-file {<br \/>\n# File contains a list of usernames, one per line<br \/>\n#args = \/etc\/dovecot.deny<br \/>\n#deny = yes<br \/>\n#}<\/p>\n<p># PAM authentication. Preferred nowadays by most systems.<br \/>\n# Note that PAM can only be used to verify if user&#8217;s password is correct,<br \/>\n# so it can&#8217;t be used as userdb. If you don&#8217;t want to use a separate user<br \/>\n# database (passwd usually), you can use static userdb.<br \/>\n# REMEMBER: You&#8217;ll need \/etc\/pam.d\/dovecot file created for PAM<br \/>\n# authentication to actually work.<br \/>\npassdb pam {<br \/>\n# [blocking=yes] [session=yes] [setcred=yes]<br \/>\n# [cache_key=] []<br \/>\n#<br \/>\n# By default a new process is forked from dovecot-auth for each PAM lookup.<br \/>\n# Setting blocking=yes uses the alternative way: dovecot-auth worker<br \/>\n# processes do the PAM lookups.<br \/>\n#<br \/>\n# session=yes makes Dovecot open and immediately close PAM session. Some<br \/>\n# PAM plugins need this to work, such as pam_mkhomedir.<br \/>\n#<br \/>\n# setcred=yes makes Dovecot establish PAM credentials if some PAM plugins<br \/>\n# need that. They aren&#8217;t ever deleted though, so this isn&#8217;t enabled by<br \/>\n# default.<br \/>\n#<br \/>\n# cache_key can be used to enable authentication caching for PAM<br \/>\n# (auth_cache_size also needs to be set). It isn&#8217;t enabled by default<br \/>\n# because PAM modules can do all kinds of checks besides checking password,<br \/>\n# such as checking IP address. Dovecot can&#8217;t know about these checks<br \/>\n# without some help. cache_key is simply a list of variables (see<br \/>\n# doc\/wiki\/Variables.txt) which must match for the cached data to be used.<br \/>\n# Here are some examples:<br \/>\n# %u &#8211; Username must match. Probably sufficient for most uses.<br \/>\n# %u%r &#8211; Username and remote IP address must match.<br \/>\n# %u%s &#8211; Username and service (ie. IMAP, POP3) must match.<br \/>\n#<br \/>\n# If service name is &#8220;*&#8221;, it means the authenticating service name<br \/>\n# is used, eg. pop3 or imap (\/etc\/pam.d\/pop3, \/etc\/pam.d\/imap).<br \/>\n#<br \/>\n# Some examples:<br \/>\n# args = session=yes *<br \/>\n# args = cache_key=%u dovecot<br \/>\n#args = dovecot<br \/>\n}<\/p>\n<p># System users (NSS, \/etc\/passwd, or similiar)<br \/>\n# In many systems nowadays this uses Name Service Switch, which is<br \/>\n# configured in \/etc\/nsswitch.conf.<br \/>\n#passdb passwd {<br \/>\n# [blocking=yes] &#8211; See userdb passwd for explanation<br \/>\n#args =<br \/>\n#}<\/p>\n<p># Shadow passwords for system users (NSS, \/etc\/shadow or similiar).<br \/>\n# Deprecated by PAM nowadays.<br \/>\n#<br \/>\n#passdb shadow {<br \/>\n# [blocking=yes] &#8211; See userdb passwd for explanation<br \/>\n#args =<br \/>\n#}<\/p>\n<p># PAM-like authentication for OpenBSD.<br \/>\n#<br \/>\n#passdb bsdauth {<br \/>\n# [cache_key=] &#8211; See cache_key in PAM for explanation.<br \/>\n#args =<br \/>\n#}<\/p>\n<p># passwd-like file with specified location<br \/>\n#<br \/>\n#passdb passwd-file {<br \/>\n# Path for passwd-file<br \/>\n#args =<br \/>\n#}<\/p>\n<p># checkpassword executable authentication<br \/>\n# NOTE: You will probably want to use &#8220;userdb prefetch&#8221; with this.<br \/>\n#<br \/>\n#passdb checkpassword {<br \/>\n# Path for checkpassword binary<br \/>\n#args =<br \/>\n#}<\/p>\n<p># SQL database<br \/>\n#passdb sql {<br \/>\n# Path for SQL configuration file, see doc\/dovecot-sql-example.conf<br \/>\n#args =<br \/>\n#}<\/p>\n<p># LDAP database<br \/>\n#passdb ldap {<br \/>\n# Path for LDAP configuration file, see doc\/dovecot-ldap-example.conf<br \/>\n#args =<br \/>\n#}<\/p>\n<p># vpopmail authentication<br \/>\n#passdb vpopmail {<br \/>\n# [cache_key=] &#8211; See cache_key in PAM for explanation.<br \/>\n#args =<br \/>\n#}<\/p>\n<p>#<br \/>\n# User database specifies where mails are located and what user\/group IDs<br \/>\n# own them. For single-UID configuration use &#8220;static&#8221;.<br \/>\n#<br \/>\n#<br \/>\n#<\/p>\n<p># System users (NSS, \/etc\/passwd, or similiar). In many systems nowadays this<br \/>\n# uses Name Service Switch, which is configured in \/etc\/nsswitch.conf.<br \/>\n#<br \/>\nuserdb passwd {<br \/>\n# [blocking=yes] &#8211; By default the lookups are done in the main dovecot-auth<br \/>\n# process. This setting causes the lookups to be done in auth worker<br \/>\n# proceses. Useful with remote NSS lookups that may block.<br \/>\n# NOTE: Be sure to use this setting with nss_ldap or users might get<br \/>\n# logged in as each others!<br \/>\n#args =<br \/>\n}<\/p>\n<p># passwd-like file with specified location<br \/>\n#<br \/>\n#userdb passwd-file {<br \/>\n# Path for passwd-file<br \/>\n#args =<br \/>\n#}<\/p>\n<p># static settings generated from template<br \/>\n#userdb static {<br \/>\n# Template for the fields. Can return anything a userdb could normally<br \/>\n# return. For example:<br \/>\n#<br \/>\n# args = uid=500 gid=500 home=\/var\/mail\/%u<br \/>\n#<br \/>\n# If you use deliver, it needs to look up users only from the userdb. This<br \/>\n# of course doesn&#8217;t work with static because there is no list of users.<br \/>\n# Normally static userdb handles this by doing a passdb lookup. This works<br \/>\n# with most passdbs, with PAM being the most notable exception. If you do<br \/>\n# the user verification another way, you can add allow_all_users=yes to<br \/>\n# the args in which case the passdb lookup is skipped.<br \/>\n#<br \/>\n#args =<br \/>\n#}<\/p>\n<p># SQL database<br \/>\n#userdb sql {<br \/>\n# Path for SQL configuration file, see doc\/dovecot-sql-example.conf<br \/>\n#args =<br \/>\n#}<\/p>\n<p># LDAP database<br \/>\n#userdb ldap {<br \/>\n# Path for LDAP configuration file, see doc\/dovecot-ldap-example.conf<br \/>\n#args =<br \/>\n#}<\/p>\n<p># vpopmail<br \/>\n#userdb vpopmail {<br \/>\n#}<\/p>\n<p># &#8220;prefetch&#8221; user database means that the passdb already provided the<br \/>\n# needed information and there&#8217;s no need to do a separate userdb lookup.<br \/>\n# This can be made to work with SQL and LDAP databases, see their example<br \/>\n# configuration files for more information how to do it.<br \/>\n#<br \/>\n#userdb prefetch {<br \/>\n#}<\/p>\n<p># User to use for the process. This user needs access to only user and<br \/>\n# password databases, nothing else. Only shadow and pam authentication<br \/>\n# requires roots, so use something else if possible. Note that passwd<br \/>\n# authentication with BSDs internally accesses shadow files, which also<br \/>\n# requires roots. Note that this user is NOT used to access mails.<br \/>\n# That user is specified by userdb above.<br \/>\nuser = root<\/p>\n<p># Directory where to chroot the process. Most authentication backends don&#8217;t<br \/>\n# work if this is set, and there&#8217;s no point chrooting if auth_user is root.<br \/>\n# Note that valid_chroot_dirs isn&#8217;t needed to use this setting.<br \/>\n#chroot =<\/p>\n<p># Number of authentication processes to create<br \/>\n#count = 1<\/p>\n<p># Require a valid SSL client certificate or the authentication fails.<br \/>\n#ssl_require_client_cert = no<\/p>\n<p># Take the username from client&#8217;s SSL certificate, using<br \/>\n# X509_NAME_get_text_by_NID() which returns the subject&#8217;s DN&#8217;s<br \/>\n# CommonName.<br \/>\n#ssl_username_from_cert = no<\/p>\n<p># It&#8217;s possible to export the authentication interface to other programs:<br \/>\n#socket listen {<br \/>\n#master {<br \/>\n# Master socket provides access to userdb information. It&#8217;s typically<br \/>\n# used to give Dovecot&#8217;s local delivery agent access to userdb so it<br \/>\n# can find mailbox locations.<br \/>\n#path = \/var\/run\/dovecot\/auth-master<br \/>\n#mode = 0600<br \/>\n# Default user\/group is the one who started dovecot-auth (root)<br \/>\n#user =<br \/>\n#group =<br \/>\n#}<br \/>\n#client {<br \/>\n# The client socket is generally safe to export to everyone. Typical use<br \/>\n# is to export it to your SMTP server so it can do SMTP AUTH lookups<br \/>\n# using it.<br \/>\n#path = \/var\/run\/dovecot\/auth-client<br \/>\n#mode = 0660<br \/>\n#}<br \/>\n#}<br \/>\n}<\/p>\n<p># If you wish to use another authentication server than dovecot-auth, you can<br \/>\n# use connect sockets. They are assumed to be already running, Dovecot&#8217;s master<br \/>\n# process only tries to connect to them. They don&#8217;t need any other settings<br \/>\n# than the path for the master socket, as the configuration is done elsewhere.<br \/>\n# Note that the client sockets must exist in the login_dir.<br \/>\n#auth external {<br \/>\n# socket connect {<br \/>\n# master {<br \/>\n# path = \/var\/run\/dovecot\/auth-master<br \/>\n# }<br \/>\n# }<br \/>\n#}<\/p>\n<p>##<br \/>\n## Dictionary server settings<br \/>\n##<\/p>\n<p># Dictionary can be used by some plugins to store key=value lists.<br \/>\n# Currently this is only used by dict quota backend. The dictionary can be<br \/>\n# used either directly or though a dictionary server. The following dict block<br \/>\n# maps dictionary names to URIs when the server is used. These can then be<br \/>\n# referenced using URIs in format &#8220;proxy:&#8221;.<\/p>\n<p>dict {<br \/>\n#quota = mysql:\/etc\/dovecot-dict-quota.conf<br \/>\n}<\/p>\n<p>##<br \/>\n## Plugin settings<br \/>\n##<\/p>\n<p>plugin {<br \/>\n# Here you can give some extra environment variables to mail processes.<br \/>\n# This is mostly meant for passing parameters to plugins. %variable<br \/>\n# expansion is done for all values.<\/p>\n<p># Quota plugin. Multiple backends are supported:<br \/>\n# dirsize: Find and sum all the files found from mail directory.<br \/>\n# Extremely SLOW with Maildir. It&#8217;ll eat your CPU and disk I\/O.<br \/>\n# dict: Keep quota stored in dictionary (eg. SQL)<br \/>\n# maildir: Maildir++ quota<br \/>\n# fs: Read-only support for filesystem quota<br \/>\n#quota = maildir<\/p>\n<p># ACL plugin. vfile backend reads ACLs from &#8220;dovecot-acl&#8221; file from maildir<br \/>\n# directory. You can also optionally give a global ACL directory path where<br \/>\n# ACLs are applied to all users&#8217; mailboxes. The global ACL directory contains<br \/>\n# one file for each mailbox, eg. INBOX or sub.mailbox.<br \/>\n#acl = vfile:\/etc\/dovecot-acls<\/p>\n<p># Convert plugin. If set, specifies the source storage path which is<br \/>\n# converted to destination storage (mail_location) when the user logs in.<br \/>\n# The existing mail directory is renamed to<\/p>\n<p><dir>-converted.<\/dir>&nbsp;<\/p>\n<p><dir>#convert_mail = mbox:%h\/mail<\/dir>&nbsp;<\/p>\n<p><dir># Skip mailboxes which we can&#8217;t open successfully instead of aborting.<\/dir>&nbsp;<\/p>\n<p><dir>#convert_skip_broken_mailboxes = no<\/dir># Trash plugin. When saving a message would make user go over quota, this<br \/>\n# plugin automatically deletes the oldest mails from configured mailboxes<br \/>\n# until the message can be saved within quota limits. The configuration file<br \/>\n# is a text file where each line is in format:<br \/>\n# Mails are first deleted in lowest -&gt; highest priority number order<br \/>\n#trash = \/etc\/dovecot-trash.conf<\/p>\n<p># Lazy expunge plugin. Currently works only with maildirs. When a user<br \/>\n# expunges mails, the mails are moved to a mailbox in another namespace<br \/>\n# (1st). When a mailbox is deleted, the mailbox is moved to another namespace<br \/>\n# (2nd) as well. Also if the deleted mailbox had any expunged messages,<br \/>\n# they&#8217;re moved to a 3rd namespace. The mails won&#8217;t be counted in quota,<br \/>\n# and they&#8217;re not deleted automatically (use a cronjob or something).<br \/>\n#lazy_expunge = .EXPUNGED\/ .DELETED\/ .DELETED\/.EXPUNGED\/<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>## Dovecot configuration file # If you&#8217;re in a hurry, see http:\/\/wiki.dovecot.org\/QuickConfiguration # &#038; &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/kaz.it-n.jp\/?page_id=252\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;dovecot.conf&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":244,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-252","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/pages\/252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=252"}],"version-history":[{"count":0,"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/pages\/252\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=\/wp\/v2\/pages\/244"}],"wp:attachment":[{"href":"https:\/\/kaz.it-n.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}