Recipient delimiter and lmtp proxying

Dave dovecot-e51 at deemzed.uk
Thu Jun 16 19:49:31 UTC 2016


Hi,

I'm attempting to proxy lmtp using director to hash to the same backend 
as pop3/imap. My pop3/imap users are of the form:

username

and my lmtp users are of the form:

<username at domain>

Where domain is fairly redundant but does carry some useful information.

Now, I can proxy lmtp using user=%{username} and
destuser=%{orig_user},  and this all appears to work correctly.

However, if I also try to pass a detail part through to the backend the 
lmtp users now take the form:

<username+detail at domain>

I can still use user=%{username}
with recipient_delimiter = +, and the detail is correctly stripped, 
hashing works as expected.

However, I can no longer use destuser=%{orig_user}

Because recipient_delimiter = +, destuser becomes:

<username at domain>

And the detail part never reaches the backend.

There doesn't appear to be any variables suitable for the destuser 
expansion - %{auth_user} is unsupported (UNSUPPORTED_VARIABLE_auth_user) 
on override_fields and in the sql passdb driver.

Is there any "correct" way to do this? I can think of a couple of 
approaches that may work, but both seem like hacks to me:

1. Unset recipient_delimiter and manually strip the detail from the 
username in the passdb lookup.

2. Give up on passing detail via the login and instead pass the detail 
via a message header to sieve.

Any thoughts/suggestions?

-- 
Dave






More information about the dovecot mailing list