📄 dovecot.conf
字号:
## Mailbox handling optimizations### Space-separated list of fields to initially save into cache file. Currently# these fields are allowed:## flags, date.sent, date.received, size.virtual, size.physical# mime.parts, imap.body, imap.bodystructure## Different IMAP clients work in different ways, so they benefit from# different cached fields. Some do not benefit from them at all. Caching more# than necessary generates useless disk I/O, so you don't want to do that# either.## Dovecot attempts to automatically figure out what client wants and it keeps# only that. However the first few times a mailbox is opened, Dovecot hasn't# yet figured out what client needs, so it may not perform optimally. If you# know what fields the majority of your clients need, it may be useful to set# these fields by hand. If client doesn't actually use them, Dovecot will# eventually drop them.## Usually you should just leave this field alone. The potential benefits are# typically unnoticeable.#mail_cache_fields = # Space-separated list of fields that Dovecot should never save to cache file.# Useful if you want to save disk space at the cost of more I/O when the fields# needed.#mail_never_cache_fields = # The minimum number of mails in a mailbox before updates are done to cache# file. This allows optimizing Dovecot's behavior to do less disk writes at# the cost of more disk reads.#mail_cache_min_mail_count = 0# When IDLE command is running, mailbox is checked once in a while to see if# there are any new mails or other changes. This setting defines the minimum# time to wait between those checks. Dovecot is however able to use dnotify# and inotify with Linux to reply immediately after the change occurs.#mailbox_idle_check_interval = 30# Save mails with CR+LF instead of plain LF. This makes sending those mails# take less CPU, especially with sendfile() syscall with Linux and FreeBSD.# But it also creates a bit more disk I/O which may just make it slower.# Also note that if other software reads the mboxes/maildirs, they may handle# the extra CRs wrong and cause problems.#mail_save_crlf = no#### Maildir-specific settings### By default LIST command returns all entries in maildir beginning with dot.# Enabling this option makes Dovecot return only entries which are directories.# This is done by stat()ing each entry, so it causes more disk I/O.# (For systems setting struct dirent->d_type, this check is free and it's# done always regardless of this setting)#maildir_stat_dirs = no# Copy mail to another folders using hard links. This is much faster than# actually copying the file. This is problematic only if something modifies# the mail in one folder but doesn't want it modified in the others. I don't# know any MUA which would modify mail files directly. IMAP protocol also# requires that the mails don't change, so it would be problematic in any case.# If you care about performance, enable it.#maildir_copy_with_hardlinks = no#### mbox-specific settings### Which locking methods to use for locking mbox. There are four available:# dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe# solution. If you want to use /var/mail/ like directory, the users# will need write access to that directory.# fcntl : Use this if possible. Works with NFS too if lockd is used.# flock : May not exist in all systems. Doesn't work with NFS.# lockf : May not exist in all systems. Doesn't work with NFS.## You can use multiple locking methods; if you do the order they're declared# in is important to avoid deadlocks if other MTAs/MUAs are using multiple# locking methods as well. Some operating systems don't allow using some of# them simultaneously.#mbox_read_locks = fcntl#mbox_write_locks = fcntl# Maximum time in seconds to wait for lock (all of them) before aborting.#mbox_lock_timeout = 300# If dotlock exists but the mailbox isn't modified in any way, override the# lock file after this many seconds.#mbox_dotlock_change_timeout = 120# When mbox changes unexpectedly we have to fully read it to find out what# changed. If the mbox is large this can take a long time. Since the change# is usually just a newly appended mail, it'd be faster to simply read the# new mails. If this setting is enabled, Dovecot does this but still safely# fallbacks to re-reading the whole mbox file whenever something in mbox isn't# how it's expected to be. The only real downside to this setting is that if# some other MUA changes message flags, Dovecot doesn't notice it immediately.# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK # commands.#mbox_dirty_syncs = yes# Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE,# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.#mbox_very_dirty_syncs = no# Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK# commands and when closing the mailbox). This is especially useful for POP3# where clients often delete all mails. The downside is that our changes# aren't immediately visible to other MUAs.#mbox_lazy_writes = yes# If mbox size is smaller than this (in kilobytes), don't write index files.# If an index file already exists it's still read, just not updated.#mbox_min_index_size = 0#### dbox-specific settings### Maximum dbox file size in kilobytes until it's rotated.#dbox_rotate_size = 2048# Minimum dbox file size in kilobytes before it's rotated# (overrides dbox_rotate_days)#dbox_rotate_min_size = 16# Maximum dbox file age in days until it's rotated. Day always begins from# midnight, so 1 = today, 2 = yesterday, etc. 0 = check disabled.#dbox_rotate_days = 0#### IMAP specific settings##protocol imap { # Login executable location. #login_executable = /usr/libexec/dovecot/imap-login # IMAP executable location. Changing this allows you to execute other # binaries before the imap process is executed. # # This would write rawlogs into ~/dovecot.rawlog/ directory: # mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap # # This would attach gdb into the imap process and write backtraces into # /tmp/gdbhelper.* files: # mail_executable = /usr/libexec/dovecot/gdbhelper /usr/libexec/dovecot/imap # #mail_executable = /usr/libexec/dovecot/imap # Maximum IMAP command line length in bytes. Some clients generate very long # command lines with huge mailboxes, so you may need to raise this if you get # "Too long argument" or "IMAP command line too large" errors often. #imap_max_line_length = 65536 # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = #mail_plugin_dir = /usr/lib/dovecot/imap # Send IMAP capabilities in greeting message. This makes it unnecessary for # clients to request it with CAPABILITY command, so it saves one round-trip. # Many clients however don't understand it and ask the CAPABILITY anyway. #login_greeting_capability = no # Override the IMAP CAPABILITY response. #imap_capability = # Workarounds for various client bugs: # delay-newmail: # Send EXISTS/RECENT new mail notifications only when replying to NOOP # and CHECK commands. Some clients ignore them otherwise, for example # OSX Mail. Outlook Express breaks more badly though, without this it # may show user "Message no longer in server" errors. Note that OE6 still # breaks even with this workaround if synchronization is set to # "Headers Only". # outlook-idle: # Outlook and Outlook Express never abort IDLE command, so if no mail # arrives in half a hour, Dovecot closes the connection. This is still # fine, except Outlook doesn't connect back so you don't see if new mail # arrives. # netscape-eoh: # Netscape 4.x breaks if message headers don't end with the empty "end of # headers" line. Normally all messages have this, but setting this # workaround makes sure that Netscape never breaks by adding the line if # it doesn't exist. This is done only for FETCH BODY[HEADER.FIELDS..] # commands. Note that RFC says this shouldn't be done. # tb-extra-mailbox-sep: # With mbox storage a mailbox can contain either mails or submailboxes, # but not both. Thunderbird separates these two by forcing server to # accept '/' suffix in mailbox names in subscriptions list. # The list is space-separated. #imap_client_workarounds = outlook-idle} #### POP3 specific settings##protocol pop3 { # Login executable location. #login_executable = /usr/libexec/dovecot/pop3-login # POP3 executable location. See IMAP's mail_executable above for examples # how this could be changed. #mail_executable = /usr/libexec/dovecot/pop3 # Don't try to set mails non-recent or seen with POP3 sessions. This is # mostly intended to reduce disk I/O. With maildir it doesn't move files # from new/ to cur/, with mbox it doesn't write Status-header. #pop3_no_flag_updates = no # Support LAST command which exists in old POP3 specs, but has been removed # from new ones. Some clients still wish to use this though. Enabling this # makes RSET command clear all \Seen flags from messages. #pop3_enable_last = no # If mail has X-UIDL header, use it as the mail's UIDL. #pop3_reuse_xuidl = no # Keep the mailbox locked for the entire POP3 session. #pop3_lock_session = no # POP3 UIDL format to use. You can use following variables: # # %v - Mailbox UIDVALIDITY # %u - Mail UID # %m - MD5 sum of the mailbox headers in hex (mbox only) # %f - filename (maildir only) # # If you want UIDL compatibility with other POP3 servers, use: # UW's ipop3d : %08Xv%08Xu # Courier version 0 : %f # Courier version 1 : %u # Courier version 2 : %v-%u # Cyrus (<= 2.1.3) : %u # Cyrus (>= 2.1.4) : %v.%u # Older Dovecots : %v.%u # tpop3d : %Mf # # Note that Outlook 2003 seems to have problems with %v.%u format which was # Dovecot's default, so if you're building a new server it would be a good # idea to change this. %08Xu%08Xv should be pretty fail-safe. # # NOTE: Nowadays this is required to be set explicitly, since the old # default was bad but it couldn't be changed without breaking existing # installations. %08Xu%08Xv will be the new default, so use it for new # installations. # #pop3_uidl_format = %08Xu%08Xv # POP3 logout format string: # %t - number of TOP commands # %p - number of bytes sent to client as a result of TOP command # %r - number of RETR commands # %b - number of bytes sent to client as a result of RETR command # %d - number of deleted messages # %m - number of messages (before deletion) # %s - mailbox size in bytes (before deletion) #pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = #mail_plugin_dir = /usr/lib/dovecot/pop3 # Workarounds for various client bugs: # outlook-no-nuls: # Outlook and Outlook Express hang if mails contain NUL characters. # This setting replaces them with 0x80 character. # oe-ns-eoh: # Outlook Express and Netscape Mail breaks if end of headers-line is # missing. This option simply sends it if it's missing. # The list is space-separated. #pop3_client_workarounds = }#### LDA specific settings##protocol lda { # Address to use when sending rejection mails. postmaster_address = postmaster@example.com # Hostname to use in various parts of sent mails, eg. in Message-Id. # Default is the system's real hostname. #hostname = # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = #mail_plugin_dir = /usr/lib/dovecot/lda # Binary to use for sending mails. #sendmail_path = /usr/lib/sendmail # UNIX socket path to master authentication server to find users. #auth_socket_path = /var/run/dovecot/auth-master}#### Authentication processes### Executable location#auth_executable = /usr/libexec/dovecot/dovecot-auth# Set max. process size in megabytes.#auth_process_size = 256# Authentication cache size in kilobytes. 0 means it's disabled.# Note that bsdauth, PAM and vpopmail require cache_key to be set for caching# to be used. Also note that currently auth cache doesn't work very well if # you're using multiple passdbs with same usernames in them.#auth_cache_size = 0# Time to live in seconds for cached data. After this many seconds the cached# record is no longer used, *except* if the main database lookup returns# internal failure. We also try to handle password changes automatically: If# user's previous authentication was successful, but this one wasn't, the# cache isn't used. For now this works only with plaintext authentication.#auth_cache_ttl = 3600# Space separated list of realms for SASL authentication mechanisms that need# them. You can leave it empty if you don't want to support multiple realms.# Many clients simply use the first one listed here, so keep the default realm# first.#auth_realms =# Default realm/domain to use if none was specified. This is used for both# SASL realms and appending @domain to username in plaintext logins.#auth_default_realm = # List of allowed characters in username. If the user-given username contains# a character not listed in here, the login automatically fails. This is just# an extra check to make sure user can't exploit any potential quote escaping# vulnerabilities with SQL/LDAP databases. If you want to allow all characters,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -