I also tried to add filter to passdb allusers: passdb allusers { ... username_filter = !user3@user2.local.one !user1@postmaster.local.one ... } passdb postmasterfilter { ... username_filter = user1@postmaster.local.one ... } passdb user2filter { .... username_filter = user3@user2.local.one ,,, } and got strange error in logs (still testing user3@user2.local.one): Aug 2 14:36:13 auth: Debug: Loading modules from directory: /usr/local/lib/dovecot/auth Aug 2 14:36:13 auth: Debug: Module loaded: /usr/local/lib/dovecot/auth/lib20_auth_var_expand_crypt.so Aug 2 14:36:13 auth: Debug: Read auth token secret from /var/run/dovecot/auth-token-secret.dat Aug 2 14:36:13 auth: Debug: passwd-file /usr/local/etc/dovecot.users.list:Read 7 users in 0 secs Aug 2 14:36:13 auth: Debug: auth client connected (pid=0) Aug 2 14:36:13 auth: Debug: client in: AUTH 1 PLAIN service=doveadm debug resp=<hidden> Aug 2 14:36:13 auth: Debug: plain(user3@user2.local.one): skipping passdb: username filtered Aug 2 14:36:13 auth: Error: plain(user3@user2.local.one): All password databases were skipped Aug 2 14:36:13 auth: Debug: auth(user3@user2.local.one): Auth request finished Aug 2 14:36:15 auth: Debug: client passdb out: FAIL 1 user=user3@user2.local.one code=temp_fail
Looks like filter worked for allusers passdb, but than skipped all other passdbs