[Postfixbuch-users] eine frage
Werner Detter
werner at aloah-from-hell.de
Fr Apr 7 09:01:52 CEST 2006
>
>
>
>
>>- ein skript gleicht die virtual_alias_tabelle meines primaries mit dem
>>secondary ab und
>> ändert desweiteren den transport einer tabelle auf dem secondary.
>>"relay" wenn auf
>> dem primären mindestens eine mailbox vorhanden ist, ansonsten "virtual".
>>
>>
>
>Okay, so weit so gut. Obwohl ich es seltsam finde, dass der Transport
>umgeändert werden muss. Stehen diese denn nicht in der MySQL-Tabelle, die
>für beide Server gültig ist?
>
>
>
Hi Sandy,
erst mal Danke für deine Antwort. Das Konstrukt ist nicht jedermanns
Setup, das
muss ich zugeben :) Also. Zur kurzen Erklärung, warum ich den Transport
Skriptgesteuert ändern möchte.
- Aktuell haben alle Domains in der MySQL Datenbank als Transport
"relay" gesetzt.
- Die Implementierung von "relay_recipient_maps" ist auf diesem System
nicht trivial,
- Ich möchte, dass der Secondary die virtual_alias_maps des Primary
berücksichtigt
wenn für eine Domain meine beiden MX als MX eingetragen sind.
daraus ergibt sich folgendes:
1) Ist für Domain example.com mein Primary und Secondary als MX
eingetragen und
keine Mailbox auf dem Primary vorhanden, setzen des Transports auf
"virtual" auf
dem Secondary. Somit berücksichtigt dieser die virtual_alias_maps und
nimmt
Mails an nicht existente Adressen nicht mehr an. Desweiteren stellt
der Secondary
in dem Fall die Weiterleitungen auch direkt an externe Ziele zu (und
stellt diese
nicht erst dem Primary - Stichwort Entlastung).
2) Ist für Domain example.com mein Primary und Secondary als MX
eingetragen, jedoch
mindestens eine Mailbox auf dem Primary eingerichtet wird der
transport in der
Datenbank auf "relay" gesetzt. (Mit dem Hintergrund, dass auf dem mx2
keine
virtual_mailbox Umgebung eingerichtet ist und dieser die eMails an den
Primary
weiterleiten muss.
3) Es gibt Domains, die nur auf meinem Secondary eingetragen sind. Diese
haben in der
MySQL als transport "relay".
zu 3)
Das Funktioniert, nach dem ich vorhergegangenes Setup aktiviert nicht mehr.
>
>
>
>>die implementierung in postfix sieht so aus:
>>
>>mydestination = mx2test, mx2test.trans.net, localhost.localdomain,
>>localhost, $transport_maps
>>
>>
>
>Das ist etwas, das mir etwas quersteht mit den $transport_maps in
>$mydestination. mydestination ist ja gedacht für lokale Domains, welche mit dem local transport ausgeliefert werden
>
>
Ich weiss, dass Postfix die Domain dann als lokale Domain behandelt.
>Abgesehen davon kann es passieren, dass du mal einen Transport für eine
>externe, nicht von dir gehostete Domain setzen musst, dann ist diese
>Domain plötzlich für deinen Server ein lokale Domain.
>
>
Das ist genau das Problem wozu ich eine Lösung suche :)
>Wie genau hast du den Transport denn gesetzt? Was ergibt die Abfrage von
>mysql_transport_maps.cf mit deiner domain
>
>
kurz und knackig:
a) Abfrage einer Domain, die auf Primary und Secondary gehostet ist und
mind. eine Mailbox auf
dem Primary hat:
postmap -q "example.com" mysql:/etc/postfix/mysql_transport_maps.cf
relay
b) Abfrage einer Domain, die auf Primary udn Secondary gehostet ist
jedoch keine Mailbox hat:
postmap -q "example.de" mysql:/etc/postfix/mysql_transport_maps.cf
virtual
c) Abfrage einer Domain, die nur auf dem Secondary gehostet ist
postmap -q "example.org" mysql:/etc/postfix/mysql_transport_maps.cf
relay
>>transport_maps = mysql:/etc/postfix/mysql_transport_maps.cf
>>virtual_mailbox_base = /tmp
>>virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
>>
>>alles funktioniert soweit prima, nun habe ich etwas lustiges festgestellt:
>>- eine domain, die im dns meinen secondary als secondary eingetragen hat
>>jedoch
>> der primary vom kunden selbst gemacht, wird bekomm ich die meldung:
>>
>>
>
>Der Kunde hat also einen eigenen Server und trägt diesen als primären MX
>ein und deinen Server als sekundären MX
>
>
ja, richtig. ich habe mehrere Kunden für den mein sec. MX secondary für
deren Domain ist.
>>Recipient address rejected: User unknown in local recipient table;
>>
>>
>
>Der Transport lief also über local. Die Abfrage von Transport hat also
>nicht übersteuert.
>
>
Das lustige ist, wenn ich den local Transport komplett deaktiviere (in
master.cf und in
main.cf) scheint auf den ersten Blick alles zu funktionieren. Bei
näherer Betrachtung
nimmt Postfix eMails für die Domains brav an, die virtual_alias_maps
greift dann jedoch
auch nicht mehr.
>Was ergibt denn die Abfrage mit
>postmap -q domain mysql:/etc/postfix/mysql_transport_maps.cf
>
>
siehe oben :)
>
>
>>in der transport-tabelle ist für diese domain als transport
>>richtigerweise "relay"
>>gesetzt. normal sollte postfix die mail doch doch jetzt ebenfalls
>>annehmen und
>>weiterleiten, tut dies aber nur für diese domains nicht. alles andere
>>funktoiniert
>>
>>
>
>Wenn du das nicht geändert hast, dann ist relay und smtp das gleiche:
>
>smtp unix - - n - - smtp
>relay unix - - n - - smtp
>
>
hab ich drin:
smtp unix - - n - - smtp
relay unix - - n - - smtp
Werner
Mehr Informationen über die Mailingliste Postfixbuch-users