<div>Hello<br></div><div>Postfix + LDAP , Samba as LDAP server, Dovecot<br></div><div><br></div><div>virtual_transport set in postfix to dovecot-lmtp ( for autoresponder support )<br></div><div><br></div><div>Users have their email aliases in the otherMailbox record<br></div><div>For example, account_test@example-domain user has an alias: test@exmaple-domain<br></div><div>Query from command line works fine:<br></div><div><br></div><div>postmap -q test@example-domain ldap://etc/postfix/ad_virtual_mailbox_maps2.cf<br></div><div>account_test/Maildir/<br></div><div><br></div><div>(The filter in the query ad_virtual_mailbox_maps2.cf looks like this:<br></div><div>[cut]<br></div><div>scope = sub<br></div><div>query_filter = (&(objectclass=person)(|(mail=%s)(otherMailbox=%s))<br></div><div>result_attribute= uid<br></div><div>result_format = %u/Maildir/<br></div><div><br></div><div>)<br></div><div><br></div><div>However, sending an email to the alias test@example-domain ends:<br></div><div><br></div><div>Feb 28 12:31:40 mbox-01 postfix/lmtp[13474]: 2367A6EF: to=<test@example-domain>, relay=mbox-01[private/dovecot-lmtp], delay=0.05, delays=0.02/0/0.02, dsn=5.1.1, status=bounced (host mbox-01[private/dovecot-lmtp] said: 550 5.1.1 <test@example-domain> User doesn't exist: test@example-domain (in reply to RCPT TO command))<br></div><div><br></div><div>I modified dovecot-ldap.conf.ext:<br></div><div><br></div><div>I changed:<br></div><div><br></div><div>user_filter = (&(objectClass=person)(uid=%u)(!(userAccountControl=514)))<br></div><div><br></div><div>to:<br></div><div><br></div><div>user_filter = (&(objectClass=person)(|(uid=%u)(otherMailbox=%u))(!(userAccountControl=514)))<br></div><div><br></div><div>but that didn't solve the problem. Where's the bug?  Any hint?<br></div><div><br></div><div>Below dovecot configuration:<br></div><div><br></div><div><br></div><div># 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf<br></div><div># Pigeonhole version 0.5.4 ()<br></div><div># OS: Linux 4.19.0-6-amd64 x86_64 Debian 10.2<br></div><div># Hostname: mbox-01<br></div><div>auth_cache_negative_ttl = 0<br></div><div>auth_username_format = %Ln<br></div><div>disable_plaintext_auth = no<br></div><div>mail_gid = vmail<br></div><div>mail_location = mbox:~/mail:INBOX=/var/mailbox-store/%u<br></div><div>mail_privileged_group = mail<br></div><div>mail_uid = vmail<br></div><div>managesieve_notify_capability = mailto<br></div><div>managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds<br></div><div>namespace inbox {<br></div><div>  inbox = yes<br></div><div>  location =<br></div><div>  mailbox Drafts {<br></div><div>    special_use = \Drafts<br></div><div>  }<br></div><div>  mailbox Junk {<br></div><div>    special_use = \Junk<br></div><div>  }<br></div><div>  mailbox Sent {<br></div><div>    special_use = \Sent<br></div><div>  }<br></div><div>  mailbox "Sent Messages" {<br></div><div>    special_use = \Sent<br></div><div>  }<br></div><div>  mailbox Trash {<br></div><div>    special_use = \Trash<br></div><div>  }<br></div><div>  prefix =<br></div><div>}<br></div><div>passdb {<br></div><div>  args = /etc/dovecot/dovecot-ldap.conf.ext<br></div><div>  driver = ldap<br></div><div>}<br></div><div>plugin {<br></div><div>  sieve = /var/mailbox-store/%u/.dovecot.sieve<br></div><div>  sieve_dir = /var/mailbox-store/%u<br></div><div>  sieve_extensions = +vacation-seconds<br></div><div>  sieve_trace_debug = yes<br></div><div>  sieve_trace_dir = /tmp/sieve/<br></div><div>  sieve_trace_level = matching<br></div><div>  sieve_vacation_default_period = 10d<br></div><div>  sieve_vacation_max_period = 30d<br></div><div>  sieve_vacation_min_period = 1h<br></div><div>}<br></div><div>protocols = " imap lmtp sieve pop3 sieve"<br></div><div>service auth {<br></div><div>  unix_listener /var/spool/postfix/private/auth {<br></div><div>    group = postfix<br></div><div>    mode = 0666<br></div><div>    user = postfix<br></div><div>  }<br></div><div>  unix_listener auth-userdb {<br></div><div>    mode = 0666<br></div><div>    user = vmail<br></div><div>  }<br></div><div>}<br></div><div>service lmtp {<br></div><div>  unix_listener /var/spool/postfix/private/dovecot-lmtp {<br></div><div>    group = postfix<br></div><div>    mode = 0600<br></div><div>    user = postfix<br></div><div>  }<br></div><div>}<br></div><div>service managesieve-login {<br></div><div>  inet_listener sieve {<br></div><div>    port = 4190<br></div><div>  }<br></div><div>  process_min_avail = 0<br></div><div>  service_count = 1<br></div><div>  vsz_limit = 64 M<br></div><div>}<br></div><div>service managesieve {<br></div><div>  process_limit = 1024<br></div><div>}<br></div><div>service stats {<br></div><div>  unix_listener stats-reader {<br></div><div>    group = vmail<br></div><div>    mode = 0660<br></div><div>    user = vmail<br></div><div>  }<br></div><div>  unix_listener stats-writer {<br></div><div>    group = vmail<br></div><div>    mode = 0660<br></div><div>    user = vmail<br></div><div>  }<br></div><div>}<br></div><div>ssl_cert = </etc/dovecot/private/dovecot.pem<br></div><div>ssl_client_ca_dir = /etc/ssl/certs<br></div><div>ssl_dh = # hidden, use -P to show it<br></div><div>ssl_key = # hidden, use -P to show it<br></div><div>userdb {<br></div><div>  args = /etc/dovecot/dovecot-ldap.conf.ext<br></div><div>  driver = ldap<br></div><div>}<br></div><div>protocol lmtp {<br></div><div>  mail_plugins = " sieve"<br></div><div>}<br></div><div>protocol lda {<br></div><div>  info_log_path = /var/log/dovecot-lda.log<br></div><div>  log_path = /var/log/dovecot-lda-errors.log<br></div><div>  mail_plugins = " sieve"<br></div><div>}<br></div><div><br></div><div>and  dovecot-ldap.conf.ext:<br></div><div>[cut]<br></div><div>deref = never<br></div><div>scope = subtree<br></div><div>user_attrs = =mail=maildir:/var/mailbox-store/%Ln/Maildir/<br></div><div>user_filter = (&(objectClass=person)(|(uid=%u)(otherMailbox=%u))(!(userAccountControl=514)))<br></div><div>pass_attrs = uid=user,userPassword=password<br></div><div>pass_filter = (&(objectClass=person)(uid=%u)(!(userAccountControl=514)))<br></div><div>default_pass_scheme = CRYPT<br></div><div><br></div>