Здравствуйте!
Задача слишком абстрактная: не понятно, как представлены в каталоге user1 и user2, какая связь между ними и реальными почтовыми доменами (вряд ли же по номеру пользователя и номеру почтового домена =) )?
В такой постановке как сейчас, задачу можно решить регулярными выражениями (test1 связать с user1 по цифре 1 в конце). В реальных условиях такое, скорее всего, не подойдёт. Пока вижу решение задачи в использовании фильтра в условии <what> директивы access, типа такого:
access to attrs=userPassword
by self write
by anonymous auth
by * none
access to dn.children="ou=unit,o=org,c=US" filter=(mail=*@test1.ru)
by dn="uid=user1,ou=Users,o=org,c=US" read
by * none
access to dn.children="ou=unit,o=org,c=US" filter=(mail=*@test2.ru)
by dn="uid=user2,ou=Users,o=org,c=US" read
by * none
access to dn.children="ou=unit,o=org,c=US"
by * none
access to *
by self write
by * read
Вместо конкретных учёток в условии <who> директивы access целесообразнее использовать группы пользователей.
Если покажите примеры учёток пользователей и реальных почтовых доменов, можно попытаться придумать что-то более оптимальное.
Егор