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

Rene Pilz rene.pilz at lyoness.ag
Mo Jul 23 14:32:51 CEST 2012


> -----Ursprüngliche Nachricht-----
> Von: postfixbuch-users-bounces at listen.jpberlin.de [mailto:postfixbuch-
> users-bounces at listen.jpberlin.de] Im Auftrag von Sandy Drobic
> Gesendet: Sonntag, 22. Juli 2012 02:36
> An: postfixbuch-users at listen.jpberlin.de
> Betreff: Re: [Postfixbuch-users] Mails für Domains auf mehreren Servern
> 
> 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?
> 
Die Mailappliance weißt wo die Adresse liegt über die LDAP Abfrage an einen eigenen LDAP Server - nicht an das Active Directory.


> > 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.
> 

Super - danke für den Tipp. Damit nimmt er mir die Adresse nun mal an und rejected sie nicht. Er fragt an LDAP Server nach und 
sieht das es die Adresse gibt und stellt sie lokal zu. 
Das ist jetzt auch noch mein Problem. 
Selbst wenn die Adresse am Exchange liegt stellt er die Mail lokal zu, weil er ja die Domäne in den virtual_mailbox_domains hat und 
anscheinend nicht überprüft ob die Mailbox lokal existiert oder nicht.
Virtual_Transport schickt das an den Dovecot und der legt die Mailbox 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?

Die Appliance nimmt Mails an und leitet sie je nach Adresse (LDAP Abfrage) an das entsprechende Mailsystem weiter. 
Ausgehende schicken die Mailserver direkt.
Der Exchange Server bleibt bestehen und auch die Postfächer bleiben dort bestehen.
Die Appliance weiß, wie gesagt, anhand der E-Mailadresse an welchen Server sie zugestellt werden muss.

> 
> Sandy
> --
Danke Sandy.
> _______________________________________________
> Postfixbuch-users -- http://www.postfixbuch.de Heinlein Professional Linux
> Support GmbH
> 
> Postfixbuch-users at listen.jpberlin.de
> https://listi.jpberlin.de/mailman/listinfo/postfixbuch-users


Mehr Informationen über die Mailingliste Postfixbuch-users