Hi Philipp You can use exim to prepare the address as you wish: only the user name for pam users and the full address for virtual users.
Configure a new router to strip the domain part for pam users: local_pam_users: debug_print = "R: strip domain for local pam users" driver = redirect check_local_user domains = @ : localhost : ${primary_hostname} data = ${local_part} redirect_router = local_user I'm not 100% sure of the domains condition; it should restrict the router to your domain(s) where your pam users receive their email. The redirect_router designates the router which routes your local deliveries to your lmtp transport. Place the new router to run just before your "local_user" router. Since your config works for your virtual users, you don't need to do anything in addition. Regards, Adrian. Am 25.12.13 08:16 schrieb Philipp Kolmann: > Hi, > > I have a mailsystem where i have some local users with shell access and > full home dirs which receive mail and also several SQL virtual users > only for mail. > With the virtual users, everything works fine. Mail is delivered via > LMTP and also sieve works :) > The SQL Lookup knows what to do with usern...@domain.com > > The problem is the system user. If exim delivers the mail to the lmtp > socket, the LMTPd can't find usern...@local.host > I would be able to specify the global auth_username_format=%n but then > my SQL queries break and I like the possibility to have x...@domain1.com > and x...@domain2.com routed to two different accounts. > > As I have seen in the source, I can't specify username_format=%n in the > passdb { driver = pam } backend. Do you have any suggestion how to > solve this issue? > > thanks > Philipp > >