[Postfixbuch-users] Mails für Domains auf mehreren Servern

Sandy Drobic postfixbuch-users at drobic.de
So Jul 22 02:35:51 CEST 2012


Am 20.07.2012 13:17, schrieb Rene Pilz:
> Hallo,
> 
>  
> 
> ich bin hier am Aufbau eines neuen Linux Mailserver mit Postfix, Dovecot und
> Mysql für virtuelle Domänen.
> 
>  
> 
> Das Grundproblem ist jenes, das Mailadressen pro Domäne auf eben diesem
> Linux-Mailserver und auf einem Exchange Server liegen.
> 
> Das heißt eine Adresse test at domain.ag <mailto:test at domain.ag> gibt es am Linux
> Server und z.B. eine Adresse test1 at domain.ag <mailto:test1 at domain.ag> auf dem
> Exchange Server.
> 
>  
> 
> Die Mailappliance die vor diesen Servern läuft, weiß wo welche Adresse liegt
> und leitet die Mail an den entsprechenden Server weiter.

Sehr schön, aber WIE weiss die Appliance, wo welche Adresse hingeliefert wird?
Ich nehme an, dass es sich um eine LDAP-Abfrage an das Active Directory handelt?

> Schicke ich eine Mail von test at domain.ag <test at domain.ag%20> (liegt am Linux)
> an die Adresse test1 at domain.ag <mailto:test1 at domain.ag> (liegt am Exchange)
> kriege ich folgende Fehlermeldung:
> 
> /Jul 20 12:16:24 mailx postfix/smtpd[8767]: NOQUEUE: reject: RCPT from
> unknown[xx.xx.xx.xx]: 550 5.1.1 <test at domain.ag <mailto:test at domain.ag>>:
> Recipient address rejected: User unknown in virtual mailbox table;
> from=<test at domain.ag <mailto:test at domain.ag>> to=<test1 at domain.ag
> <mailto:test1 at domain.ag>> proto=ESMTP helo=<xxxxx>/

> Mir ist der Fehler klar. Die Mailbox gibt es in der MySQL Tabelle nicht und
> daher wird die Mail verworfen – klar.
> 
> Ich kann die Mailbox aber hier am Linux nicht anlegen, da sie ja am Exchange
> existiert und dorthin weitergeleitet werden soll.
> 
> Gibt es grundsätzlich eine Lösung für das Problem?

Ja, Postfix muss in virtual_mailbox_maps auf eine Abfrage eine Antwort
bekommen, dass die Mailbox existiert.

Für die Postfix-Postfächer hast du dies mit
 virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

schon gemacht, jetzt musst du noch eine zweite Abfrage dranhängen, welche für
die Exchange-Postfächer eine korrekte Antwort gibt. Dies dürfte eine
LDAP-Abfrage an den DC oder den Exchange sein. Wenn es nur ein paar Postfächer
sind, kann man dies auch mit einer manuellen Eintragung machen.

virtual_mailbox_maps =
	mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
	ldap:/etc/postfix/ldap_exchange.cf
	

Danach weiss Postfix, dass die Mailadresse gültig ist und nimmt sie an.

> So in der Art von Mailbox existiert lokal nicht – schicke die Anfrage weiter
> an die Mailappliance und diese weiß dann wo die Mailbox liegt.
> 
> Müsste sich doch über transport lösen lassen oder? Habs bis jetzt nicht geschafft.

Nö, transport_maps kommt erst ins Spiel, wenn die Mail angenommen wurde und
der nächste Hop bestimmt wird.

Es gibt jedoch eine Möglichkeit, dies über die Appliance zu machen.

Setze virtual_mailbox_maps =

also leer, und lasse die Entscheidung über reject_unverified_recipients
laufen. Dann noch den address_verify_virtual_transport setzen und in der Map
auf die Appliance zeigen. Wenn die Adresse gültig ist, dann wird dies auch an
Postfix gemeldet. Natürlich muss die Appliance dann auch eine ungültige
Adresse abweisen.

> Anbei noch meine Postfix Config:

Viel wichtiger ist im Augenblick noch deine Infrastruktur und was dein
eigentliches Ziel ist.
Nimmt die Appliance die Mails aus dem Internet an und schickt ausgehende Mails
auch wieder zurück ins Internet, ist die Appliance also das Gateway für Mails?
Soll der Exchange ausrotiert werden, oder sind und bleiben dort xxxx
Postfächer drauf?
Wie weiss die Appliance, wo welche Mails geroutet werden müssen für die Domain?

Sandy



Mehr Informationen über die Mailingliste Postfixbuch-users