[Postfixbuch-users] Absenderabhängige IP-Adresse (Mail loops back to myself) ...
Peer Heinlein
p.heinlein at heinlein-support.de
Fr Okt 17 19:02:03 CEST 2008
> ich benötige für den Mailversand (von mx1.server.de) eine
> absenderabhängige bzw. kundenspezifische IP-Adresse für ausgehende
> Mails (smtp_bind_address).
Hi Michael!
Folgende Idee kam mir gestern zwischen Tür und Angel -- habe ich aber noch
nicht verifiziert.
Eigentlich dachte ich, es würde ggf. folgendes gehen:
a) in der master.cf pro Kunde einen smtp-Transport anlegen (smtp-kund1,
smtp-kunde2, smtp-kunde3) und jeden dieser Transports mittels
smtp_bind_address mit "seiner" IP versorgen.
b) In die smtpd_recipient_restrictions sehr spät eine
check_sender_access-Map einbauen.
c) In dieser access-Map dann je nach Kunde dann seine Transportmethode
definieren:
kunde1domain.de smtp-kunde1:
kunde2domain.de smtp-kunde2:
kunde3domain.de smtp-kunde3:
Ich habe es eben getestet -- es geht leider NICHT, da Postfix dann
smtp-kunde1:$myhostname annimmt und nicht den MX-Record des eigentlichen
Ziels beibehält.
Bleiben aber zwei Workarounds, die Ihr dann selbst ausbasteln dürft:
a) Für jeden Absender eine eigene Restriction-Class setzen, in die er
anhand seines Absenders einsortiert wird,
b) in jeder Restriction-Classe gibt es dann eine
check_recipient_access-Map (!) die aus einem Regexp-Lookup besteht und
die sinngemäß
/(.+)@(.+)/ FILTER smtp-kunde1:\1
beinhaltet (RegExp-Syntax dürft Ihr basteln). D.h.: JEder Empfänger wird
auf die Kundentransportmethode gemappt, gleichzeitig wird der Filter aber
auf $zieldomain verweisen, also smtp-kunde1:zieldomain -- und damit
routet Postfix dann nicht mehr an $myhostname, sondern an die Mailserver
der Zieldomain -- so wie immer, aber nun eben über smtp-kunde1.
Skaliert aber sehr schlecht, da jeder Kunde eine eigene
check_recipient_access und eine eigene Restriction-Klasse braucht.
Plan B daher: Mal kurz einen Policy-Dämon zusammenhacken, der alles
vereinfacht: Lookup nach dem Absender => setzt die Transportmethode und
dann gibt der Policy-Dämon eben seinerseits "FILTER
smtp-kunde1:zieldomain" zurück. Und schon skaliert das ganze wunderbar.
Es muß dann nur noch für jeden Kunden ein Einrag in der master.cf gemacht
werden, aber da kommt man denke ich nie drumherum.
Nachteil: content_filter geht dann nicht mehr, aber das werdet Ihr in
Eurem Setup wohl nicht mehr brauchen. Oder man würde das ganze eben
sowieso erst auf localhost:10025 einbinden, dann geht wieder alles.
(Letzteres alles nicht getestet, glaube aber nicht, daß ich einen
Denkfehler habe.)
Lieben Gruß aus Köln,
Peer
--
Heinlein Professional Linux Support GmbH
Linux: Akademie - Support - Hosting
http://www.heinlein-support.de
Zwangsangaben lt. §35a GmbHG:
HRB 93818 B / Amtsgericht Berlin-Charlottenburg,
Geschäftsführer: Peer Heinlein -- Sitz: Berlin
Mehr Informationen über die Mailingliste Postfixbuch-users