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
> 
> 

Reply via email to