[Dovecot] LMTP with virtual and system users
Adrian Zaugg
adi at ente.limmat.ch
Wed Jan 1 19:25:47 EET 2014
Hi Philipp
You are completely right, the proposed solution doesn't work. It seems
exim always qualifies an address without a domain, I believe this is
because LMTP requiers to get only qualified addresses (LMTP is based on
SMTP and the RFC, if I read it correctly specifies it like this).
So, another solution would be to use LDA for your local users and LMTP
for the rest. The configuration for exim would be: a router and a
transport for your local users using LDA, and your virtual users setup
as you have it using LMTP.
local_user:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = @ : localhost : ${primary_hostname}
check_local_user
transport = dovecot_lda
cannot_route_message = Unknown user
dovecot_lda:
driver = pipe
command = /usr/lib/dovecot/dovecot-lda \
-f $sender_address \
-a $original_local_part@$original_domain
log_output
delivery_date_add
return_path_add
envelope_to_add
user = $local_part
group = mail
temp_errors = 64 : 69 : 70 : 71 : 72 : 73 : 74 : 75 : 78
Please check man dovecot-lda and the dovecot wiki
(http://wiki2.dovecot.org/LDA/Exim) for details. Also check the
permissions you need for dovecot-lda to write to your mailspool (user
and group options from the transport).
I haven't tried the above, but I think it works like this ...
Best regards, Adrian.
Am 30.12.13 09:40 schrieb Philipp Kolmann:
> Hi Adrian,
>
> Am 26.12.2013 12:20, schrieb Adrian Zaugg:
>> 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.
>
> I had tried this once already. I have used your snipplet and attached
> the debug output from exim. Sadly it didn't work, because the mtp
> process got the foll email again and not just the username.
>
> thanks
> Philipp
>
>
>
More information about the dovecot
mailing list