Hi List,
i'm having some "problems" building a (debian/sarge) system with exim[1]
and cyrus[2] where users and their eMail-addresses are stored in a
postgres[3]-database also used by OpenGroupware.org.
Exim and Cyrus should - and do - authentificate[4] against that DB too,
and talk to each other using lmtp.
Unfortunately Exim automatically uses $local_part to address Cyrus while
OpenGroupware.org uses it's login.
So, if i restrict OGo-eMail-addresses to match OGo-logins it works fine.
It also works using an ugly workaround abusing a redirect router to
overwrite $local_part with the OGo-login taken from a psql-lookup.
Like this:
cyrus_redirect_router:
driver = redirect
redirect_router = cyrus_redirected
condition = ${lookup pgsql{ blah...
data = ${lookup pgsql{SELECT login FROM <snip>
$value}fail}@$domain
cyrus_redirected:
driver = accept
transport = cyrus_deliver
cyrus_deliver:
driver = lmtp
socket = /var/run/cyrus/socket/lmtp
user = cyrus
group = mail
If there is a way to transfer the mailboxname it should deliver to,
to cyrus in the cyrus_transport, i'm definitely unable to find it. 8-(
So if anyone's got an idea:please enlight me!
Michael Dominok
p.s.: I'm aware that this can be done using deliver instead of lmtp.
[1]Exim version 4.32 #1 built 26-Apr-2004 09:57:22
[2]cyrus21-imapd 2.1.16-4
[3]postgresql 7.4.2-1
[4]using pam_pgsql
--
Michael Dominok Tel.: +49 231 61048 - 42
natural computing GmbH Fax.: +49 231 61048 - 40
Martener Strasse 535 Mail: michael.dominok@???
44379 Dortmund http://www.natural-computing.de/