# AUTO GENERATED FILE # Modify template in /etc/alternc/templates/ # and launch alternc.install if you want # to modify this file. # ## Dovecot configuration file # This is a concatenation of all /etc/dovecot/conf.d/* from DEBIAN package # with rules adapted to AlternC best practices and link with MySQL tables. protocols = imap pop3 sieve default_process_limit = 1000 ## ------------------------------------------------------------------------- ## 10-auth # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = no # Space separated list of wanted authentication mechanisms: # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey # gss-spnego # NOTE: See also disable_plaintext_auth setting. auth_mechanisms = plain login ## ## Password and user databases ## # # Password database is used to verify user's password (and nothing more). # You can have multiple passdbs and userdbs. This is useful if you want to # allow both system users (/etc/passwd) and virtual users to login without # duplicating the system users into virtual database. # # # # User database specifies where mails are located and what user/group IDs # own them. For single-UID configuration use "static" userdb. # # #!include auth-deny.conf.ext #!include auth-master.conf.ext #!include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext #!include auth-passwdfile.conf.ext #!include auth-checkpassword.conf.ext #!include auth-vpopmail.conf.ext #!include auth-static.conf.ext # ---------------------------------------------------------------------------- # 10-login.conf # Prefix for each line written to log file. % codes are in strftime(3) # format. #log_timestamp = "%b %d %H:%M:%S " log_timestamp = "%Y-%m-%d %H:%M:%S " # ---------------------------------------------------------------------------- # 10-mail.conf # Location for users' mailboxes. This is the same as the old default_mail_env # setting. The default is empty, which means that Dovecot tries to find the # mailboxes automatically. This won't work if the user doesn't have any mail # yet, so you should explicitly tell Dovecot the full location. # # If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u) # isn't enough. You'll also need to tell Dovecot where the other mailboxes are # kept. This is called the "root mail directory", and it must be the first # path given in the mail_location setting. # # There are a few special variables you can use, eg.: # # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # # See for full list. # Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # # mail_location = maildir:~/Maildir # Group to enable temporarily for privileged operations. Currently this is # used only with INBOX when either its initial creation or dotlocking fails. # Typically this is set to "mail" to give access to /var/mail. #mail_privileged_group = mail_privileged_group = vmail # Valid UID range for users, defaults to 500 and above. This is mostly # to make sure that users can't log in as daemons or other system users. # Note that denying root logins is hardcoded to dovecot binary and can't # be done even if first_valid_uid is set to 0. first_valid_uid = 2000 last_valid_uid = 65000 # ---------------------------------------------------------------------------- # 10-master.conf passdb { driver = sql args = /etc/dovecot/alternc-sql.conf } userdb { driver = sql args = /etc/dovecot/alternc-sql.conf } userdb { driver = prefetch } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-master { mode = 0600 user = vmail } # user = vmail } # ---------------------------------------------------------------------------- # 10-ssl.conf # SSL/TLS support: yes, no, required. ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. #ssl_cert = (e.g. %Uf for the # filename in uppercase) # # %v - Mailbox's IMAP UIDVALIDITY # %u - Mail's IMAP 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 : %f or %v-%u (both might be used simultaneosly) # Cyrus (<= 2.1.3) : %u # Cyrus (>= 2.1.4) : %v.%u # Dovecot v0.99.x : %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. # pop3_uidl_format = %08Xu%08Xv # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. mail_plugins = quota #mail_plugin_dir = /usr/lib/dovecot/modules/pop3 } service pop3 { # tell imap to do post-login lookup using a socket called "postlogin" executable = pop3 postlogin } # ---------------------------------------------------------------------------- # 90-plugin.conf plugin { # Quota plugin. Multiple backends are supported: # dirsize: Find and sum all the files found from mail directory. # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O. # dict: Keep quota stored in dictionary (eg. SQL) # maildir: Maildir++ quota # fs: Read-only support for filesystem quota # # Quota limits are set using "quota_rule" parameters, either in here or in # userdb. It's also possible to give mailbox-specific limits, for example: # quota_rule = *:storage=1048576 quota_rule = *:storage=100M quota_rule2 = Trash:storage=+10%% # quota_rule2 = Trash:storage=102400 # User has now 1GB quota, but when saving to Trash mailbox the user gets # additional 100MB. # # Multiple quota roots are also possible, for example: # quota = dict:user::proxy::quota # quota2 = dict:domain:%d:proxy::quota_domain # quota_rule = *:storage=102400 # quota2_rule = *:storage=1048576 # Gives each user their own 100MB quota and one shared 1GB quota within # the domain. # # You can execute a given command when user exceeds a specified quota limit. # Each quota root has separate limits. Only the command for the first # exceeded limit is excecuted, so put the highest limit first. # Note that % needs to be escaped as %%, otherwise "% " expands to empty. # quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95 # quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80 quota_warning = storage=95%% /usr/lib/alternc/quota-warning.sh 95 quota_warning2 = storage=80%% /usr/lib/alternc/quota-warning.sh 80 #quota = maildir quota = dict:user::proxy::quotadict # Sieve plugin (http://wiki.dovecot.org/LDA/Sieve) and ManageSieve service # # Location of the active script. When ManageSieve is used this is actually # a symlink pointing to the active script in the sieve storage directory. sieve=~/.dovecot.sieve # # The path to the directory where the personal Sieve scripts are stored. For # ManageSieve this is where the uploaded scripts are stored. sieve_dir=~/sieve } # Dictionary can be used by some plugins to store key=value lists, such as # quota, expire and acl plugins. The dictionary can be used either directly or # though a dictionary server. The following dict block maps dictionary names to # URIs when the server is used. These can then be referenced using URIs in # format "proxy::". dict { quotadict = mysql:/etc/dovecot/alternc-dict-quota.conf #expire = db:/var/lib/dovecot/expire.db } service auth-worker { user = vmail } service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }