PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix mit virtueller Domain



hbroich
25.10.05, 18:45
Hallo,
ich hab da ein Problem mit Postfix und einer virtueller Domain.
Das Umfeld:
-----------
Ich habe intern eine Domain xy.net mit angelegten Benutzerkonten. Desweiteren habe ich eine virtuelle Domain mit xy.de angelegt und in der cannonical-map die User von xy.net auf xy.de verlinkt, damit man von außen antworten kann. In der main.cf ist der Provider als Relayhost angegeben.
Mein Problem:
-------------
Die virtuelle Domain ist nicht nur auf einen Standort beschränkt, d.h. es gibt auch User xy.de die woanders (andere Niederlassungen) über den Provider erreichbar sind (eine shared Domain mit System-Account verlangt halt für alle User ein Postfach). Nun dachte ich, man könnte diese User via Eintrag in der Transport zu dem entsprechenden Provider hin verweisen.
hans@xy.de smtp:mail.provider.de
usw.
Es werden aber auch die lokalen User (nach Umbenennung der xy.net in xy.de) an den Provider (relay in der main.cf) weitergeleitet (sieht man in der /var/log/mail).
Gibt es eine Möglichkeit, diese User lokal gleich dem entsprechenden Postfach (z.B. in einer Alias-Datei für die virtuelle Domain), damit diese nicht erst zum Provider hin geschickt werden?
Ich befürchte halt, das die Einträge in der Transport-Datei gar nicht greifen und der Versand einfach geschieht, da die virtuelle Domain xy.de nicht erkannt wird. Muß ich für jeden User dann noch ein virtuelles Benutzerkonto anlegen oder kann ich auf auf bestehendes Benutzerkonto verweisen?
z.B. in der /etc/postfix/transport
hans@xy.de smtp:localhost

Gruß
Hartmut

Polarizer
26.10.05, 11:07
Alle unter "mydestination" aufgeführten Domains werden nicht an das Relay weitergereicht, sondern lokal verarbeitet. Also einfach "xy.de" dort hinzufügen und ein "postfix reload".

hbroich
27.10.05, 19:32
Hallo,

sorry für die lange Wartezeit, aber ich war beruflich etwas im Streß :-).

Das Problem ist hier halt, das alle Postfächer bei mydestination lokal vorhanden sein müssen; dieses ist aber nicht der Fall.
Einige Anwender mit der Domain xy.de befinden sich in einer anderen Lokation, die nur über Internet (sprich Provider-Relay) erreichbar sind.
Wenn ich denen eine Mail zusenden will, dann meldet Postfix, das dieses Benutzerkonto nicht vorhanden ist (ist es ja auch lokal nicht sondern auf einem anderen Server in der entsprechenden Niederlassung).
Ein Eintrag für diese User in der Transport-Datei mit entsprechendem smtp-Verweis brachte leider auch nichts.

mfg.
Hartmut

Roger Wilco
29.10.05, 12:15
Dokumentationen lesen ist mittlerweile offenbar aus der Mode gekommen. Schade eigentlich.

http://www.postfix.org/postconf.5.html#relay_domains

Polarizer
01.11.05, 09:47
Dann trag doch diese user in die /etc/aliases ein. Hinterher noch ein postalias /etc/aliases und fertig!

hbroich
02.11.05, 11:07
Hallo,

> Roger Wilco
> Dokumentationen lesen ist mittlerweile offenbar aus der Mode gekommen.
> Schade eigentlich.

Nein keineswegs. Ich habe ja unter mydestination die entsprechende Domain xy.de mit angegeben. Wenn aber eine Mail an einen Anwender versendet werden soll, der kein lokales Postfach hat; muß ich dann in der main.cf noch explizit als relay_domain die Domaine xy.de mit angeben, damit diese Mail an den externen User versandt wird (ist in der /etc/postfix/transport mit entsprechendem smtp-Eintrag eingetragen)? Das geht irgendwie aus der Doku nicht hervor.
Ich hab halt das leidige Problem, daß ich zwar eine Domaine hab, die aber über mehrere Niederlassungen verstreut ist und ich möchte eigentlich nicht immer alle Mails, die lokal zugestellt werden sollen, erst zu Provider schicken.

Gruß
Hartmut

Roger Wilco
02.11.05, 19:10
Ich habe ja unter mydestination die entsprechende Domain xy.de mit angegeben.
Das ist falsch und steht auch so in der Doku. In mydestination kommen nur die Domains, für die Postfix Mails annehmen und lokal ausliefern soll. Siehe http://www.postfix.org/postconf.5.html#mydestination


Wenn aber eine Mail an einen Anwender versendet werden soll, der kein lokales Postfach hat; muß ich dann in der main.cf noch explizit als relay_domain die Domaine xy.de mit angeben, damit diese Mail an den externen User versandt wird (ist in der /etc/postfix/transport mit entsprechendem smtp-Eintrag eingetragen)?
Nicht zusätzlich, sondern nur in relay_domains.


Ich hab halt das leidige Problem, daß ich zwar eine Domaine hab, die aber über mehrere Niederlassungen verstreut ist und ich möchte eigentlich nicht immer alle Mails, die lokal zugestellt werden sollen, erst zu Provider schicken.
Das mußt du bzw. Postfix ja auch nicht. Alle Mails an Domains in mydestination werden ja eh lokal zugestellt.

hbroich
02.11.05, 21:50
Hallo,

Zitat:
Zitat von hbroich
Ich hab halt das leidige Problem, daß ich zwar eine Domaine hab, die aber über mehrere Niederlassungen verstreut ist und ich möchte eigentlich nicht immer alle Mails, die lokal zugestellt werden sollen, erst zu Provider schicken.

Das mußt du bzw. Postfix ja auch nicht. Alle Mails an Domains in mydestination werden ja eh lokal zugestellt.

Genau das ist ja mein Problem :rolleyes: wo ich einfach nicht weiterkomme.
Ich habe z.B. einen lokalen User mit Domain name@xy.de. Gleichzeitig gibt es einen User mit name2@xy.de, der nicht lokal an meinem Ort ist und über den Provider weitergeleitet werden muß (Eintrag in der /etc/postfix/transport).
Derzeitiges und auch richtiges Problem laut Doku:
Stelle ich nun die Domain xy.de in mydestination und verschicke an name2@xy.de eine Mail, so erhalte ich als Fehlermeldung, daß dieser User nicht lokal vorhanden ist (ist ja auch richtig so).
Wie kann ich es nun machen, daß sowohl lokal für diese Domain zugestellt wird, als auch nicht lokale User weitergeleitet werden.
Reicht ein Eintrag relay_domain = xy.de Domain und kein Eintrag in mydestination, sowie die entsprechenden Einträge in der /etc/postfix/transport? Oder muß ich diese Domain, zusätzlich zum Eintrag relay_domain, als virtuelle Domain angeben.

Hartmut

Polarizer
03.11.05, 16:50
Wie wär's wenn Du die Sache mit mydestination und relay_domains sein läßt, und die Empfänger via header_checks redirect"est". Wenn's nur einige weniger sind, kann man das sicher so machen, oda?

man header_checks

REDIRECT user@domain
Write a message redirection request to the queue file and inspect the next input line. After the message
is queued, it will be sent to the specified address instead of the intended recipient(s).

hbroich
04.11.05, 11:18
Das hört sich gut an.
Ich könnte somit, da ich ja vorher alle User über eine sender_cannonical adressmäßig auf die xy.de ändere, die lokal vorhandenen User über den header_check den lokalen Postfächern xy.net wieder zuordnen :D .

Werd's mal ausprobieren. Danke.

Gruß
Hartmut

hbroich
10.11.05, 13:48
Hallo,

hat so nicht geklappt, da es noch ein Postfix 1.1.x (beim Suse Slox)war. Hab aber die Auswertung jetzt über eine regexp_table gemacht, sodaß die gefundene E-Mail Adresse zur entsprechenden lokalen weitergeleitet wird.

Danke für Tips.

Gruß
Hartmut