dovecot.conf : protocols = imap pop3 imaps pop3s disable_plaintext_auth = no ssl_cert_file = /usr/local/etc/apache2/ssl.crt/webmail.crt ssl_key_file = /usr/local/etc/apache2/ssl.key/webmail.key login_process_size = 64 mail_location = mbox:~/mail/:INBOX=/var/mail/%u mail_extra_groups = mail verbose_proctitle = yes first_valid_gid = 0 mbox_read_locks = fcntl mbox_write_locks = dotlock fcntl protocol imap { imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep } protocol pop3 { pop3_uidl_format = %08Xu%08Xv pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } protocol lda { postmaster_address = postmaster@example.com sendmail_path = /usr/sbin/sendmail } auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth default { mechanisms = plain login passdb pam { } passdb sql { args = /usr/local/etc/dovecot-sql.conf } userdb passwd { } userdb prefetch { } user = root } dict { } plugin { } dovecot-sql.conf: driver = sqlite connect = /var/db/mail/virtusers.sqlite default_pass_scheme = PLAIN password_query = SELECT login || '@' || domain.name AS user , password , 'maildir:/var/virtusers/'|| domain.name || '/' || login || '/Maildir' AS userdb_mail , 20000 AS userdb_uid , 20000 AS userdb_gid FROM user JOIN domain ON ( domain_id = domain.id ) WHERE login = '%n' AND domain.name = '%d' UNION SELECT login AS user , password , 'maildir:/var/virtusers/'|| domain.name || '/' || login || '/Maildir' AS userdb_mail , 20000 AS userdb_uid , 20000 AS userdb_gid FROM user JOIN domain ON ( domain_id = domain.id ) WHERE login = '%n' AND domain.name = 'default.domain.tld' AND not length('%d')