Dovecot IMAP server
23 January,2022
Install packages
apt install dovecot-core dovecot-ldap dovecot-lmtpd dovecot-sieve dovecot-managesieved
Edit config files
- Create auth and lmtp required for postfix services in 10-master.conf.
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0600 user = postfix group = postfix } }
- Set up ssl in 10-ssl.conf
-
Set ip log directory in 10-logging.conf
- Set up auth in 10-auth.conf
disable_plaintext_auth = no auth_username_format = %Lu auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_mechanisms = plain login
Password and user databases
!include auth-ldap.conf.ext
- 20-imap.conf
mail_plugins = quota imap_quota protocol imap { mail_plugins = $mail_plugins autocreate mail_max_userip_connections = 100 }
- 20-lmtp.conf
lmtp_rcpt_check_quota = yes lmtp_add_received_header = yes protocol lmtp { mail_plugins = $mail_plugins quota sieve }
- managesieved can be used to describe additional spamfiltering rules etc
- 20-managesieve.conf
protocols = $protocols sieve
service managesieve-login { inet_listener sieve { port = 4190 } } service managesieve { process_limit = 1024 }
- 90-quota.conf
plugin { quota_rule = *:storage=1G } plugin { quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u } plugin { quota = maildir:User quota }
- 90-sieve.conf
plugin { sieve = file:/home/vmail/%n/sieve;active=/home/vmail/%n/.dovecot.sieve }
- dovecot-ldap.conf
hosts = localhost sasl_bind = no auth_bind = yes auth_bind_userdn = uid=%n,ou=users,dc=example,dc=in base = ou=users,dc=example,dc=in scope = subtree user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid user_filter = (&(objectClass=inetOrgPerson)(uid=%n)) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=inetOrgPerson)(uid=%n))