Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

exim: Rewrite domain

35 views
Skip to first unread message

Peter Mairhofer

unread,
Apr 26, 2012, 5:06:31 PM4/26/12
to
Hi,

Ich möchte, dass Domains an eine bestimmte virtuelle Domain an einen
bestimmten internen Server weitergeleitet werden. Bis daher ist es trivial:

special_router:
domains = virtual.example.com
driver = manualroute
transport = special_transport
route_list = "* 192.168.0.203 byname"
self = send

# Send over LMTP
special_transport:
driver = smtp
port = 10028
allow_localhost

Allerdings soll die Empfängerdomain der weitergeleiteten Domains nun
umgeschrieben werden und zwar zum Namen ohne der virtuellen Domain. D.h.
Mails an pe...@virtual.example.com sollen per LMTP an 192.168.0.203
geschickt werden, dort aber für den Empfänger pe...@example.com ankommen.

Wie mache ich das?

LG
Peter

Florian Weimer

unread,
Apr 27, 2012, 2:00:34 PM4/27/12
to
* Peter Mairhofer:

> Allerdings soll die Empfängerdomain der weitergeleiteten Domains nun
> umgeschrieben werden und zwar zum Namen ohne der virtuellen Domain. D.h.
> Mails an pe...@virtual.example.com sollen per LMTP an 192.168.0.203
> geschickt werden, dort aber für den Empfänger pe...@example.com ankommen.

Das Hauptproblem ist, daß Du pe...@example.com aber nicht an
192.168.0.203 leiten willst, oder?

Peter Mairhofer

unread,
Apr 27, 2012, 2:54:27 PM4/27/12
to
Hi,

Korrekt, ja :-)

Im Endeffekt geht's darum, dass ich sieve Regeln erstellen möchte, um
die Outlook Termineinladungen/Antworten/Icals/... zu filtern (das wär'
die nächste Frage gewesen ;-) ) und an einen Zarafaserver
weiterzuleiten. Deshalb hätte ich hier als Regel "Forward to
pe...@zarafa.example.com" genommen.

Dazu einen exim4 router, der über SMTP/LMTP transport das Mail nach
Zarafa weiterleitet. Aber dieser Server erwartet natürlich
pe...@example.com ...

Für andere Lösungen bin ich natürlich offen :)


LG
Peter

Florian Weimer

unread,
Apr 28, 2012, 8:02:20 AM4/28/12
to
* Peter Mairhofer:

>> Das Hauptproblem ist, daß Du pe...@example.com aber nicht an
>> 192.168.0.203 leiten willst, oder?

> Korrekt, ja :-)

Es heißt:

| it is not possible to rewrite envelope recipients at transport time

D.h. direkt läßt sich das nur mit zwei komplett getrennten Instanzen
machen.

Möglicherweise kannst Du die Mail bei Zarafa auf einem anderen Weg
einliefern als LMTP, der sich besser konfigurieren läßt und auch das
Problem umschifft, daß eine Nachricht mehrere Empfänger haben kann.
Oder Du sagst Zarafa, daß die Installation für eine weitere Domain
zuständig ist.

Ansonsten könntest Du versuchen, den LMTP-Transport als pipe_transport
bei einem redirect-Router zu konfigurieren und alles auf eine Pipe
umzuschreiben. Vielleicht wirkt das ja wie gewünscht, aber das ist
nicht etwas, was ich schon einmal im Betrieb sah.

Christof Meerwald

unread,
Apr 28, 2012, 11:07:52 AM4/28/12
to
On Thu, 26 Apr 2012 23:06:31 +0200, Peter Mairhofer wrote:
> Ich möchte, dass Domains an eine bestimmte virtuelle Domain an einen
> bestimmten internen Server weitergeleitet werden. Bis daher ist es trivial:
[...]
> Allerdings soll die Empfängerdomain der weitergeleiteten Domains nun
> umgeschrieben werden und zwar zum Namen ohne der virtuellen Domain. D.h.
> Mails an pe...@virtual.example.com sollen per LMTP an 192.168.0.203
> geschickt werden, dort aber für den Empfänger pe...@example.com ankommen.
>
> Wie mache ich das?

Ich denke, ich mache hier etwas aehnliches mit Hilfe von
local_part_suffix - siehe dazu Doku zu
local_part_prefix/local_part_suffix: "In particular, the local part
that is transmitted in the RCPT command for LMTP, SMTP, and BSMTP
deliveries has the prefix removed by default.".

Dh du machst einen manualroute Router (mit local_part_suffix =
+route-to-virtual) fuer peter+route...@example.com zum LMTP
Transport.

(Wennst pe...@virtual.example.com auch noch brauchst, waere das noch
ein zusaetlicher redirect Router).


Christof

--
http://cmeerw.org sip:cmeerw at cmeerw.org
mailto:cmeerw at cmeerw.org xmpp:cmeerw at cmeerw.org

Andreas Metzler

unread,
May 3, 2012, 1:33:23 PM5/3/12
to
Peter Mairhofer <6383...@gmx.net> wrote:
> Ich möchte, dass Domains an eine bestimmte virtuelle Domain an einen
> bestimmten internen Server weitergeleitet werden. Bis daher ist es trivial:


> Allerdings soll die Empfängerdomain der weitergeleiteten Domains nun
> umgeschrieben werden und zwar zum Namen ohne der virtuellen Domain. D.h.
> Mails an pe...@virtual.example.com sollen per LMTP an 192.168.0.203
> geschickt werden, dort aber für den Empfänger pe...@example.com ankommen.

Sowas in der Art müsste doch gehen, oder?

very_special_router:
domains = virtual.example.com
driver = redirect
data = $local...@example.com
redirect_router = special_router
address_data = x_redir

special_router:
condition = ${if eq {$address_data}{x_redir} {yes}{no} }
domains = example.com
driver = manualroute
transport = special_transport
route_list = "* 192.168.0.203 byname"
self = send

# Send over LMTP
special_transport:
driver = smtp
port = 10028
allow_localhost


lg Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
0 new messages