Postfix als Relay für Exchange2010
Hallo Zusammen,
Ich betreibe einen Exchange 2010 Server, der E-Mails für zwei Domains verwaltet. Es gibt meine Mailbox für UserA@DomainA und eine Mailbox für UserB@DomainB. In diesem Setup (Exchange direkt im Internet, jaja nur zu Testzwecken) funktioniert alles wie es soll.
Diesem soll nun ein Postfix vorgeschaltet werden und folgende Aufgaben erledigen:
1) E-Mails von außerhalb für beide Domains annehmen und zum Exchange relayen
2) E-Mails per Fetchmail von diversen anderen E-Mail Hostern einsammeln und ebenfalls an den Exchange an entweder UserA oder UserB weiterleiten
3) Die in 1 und 2 empfangenen E-Mails auf Spam und Viren überprüfen und ggf. taggen oder rejecten
4) E-Mails, die über ein Exchange Konto versendet werden, entgegennehmen (als Smarthost), und entsprechend der Absenderadresse entweder direkt beim Empfänger E-Mailserver abgeben, oder bei einem Mail Hoster (z.B. gmx) zur weiteren Zustellung abgeben (Mit hinterlegten Logindaten). Wir möchten also über das Exchange Konto auch E-Mails mit einer Freemailerabsenderadresse versenden können.
Ich will nun erstmal Aufgabe 1 angehen. Das einfache Relayen klappt ohne Probleme, solange die von außen beim Postfix eingehende Mail für einen Empfänger bestimmt ist, der beim Exchange bekannt ist, also {UserA, UserB}@{DomainA, DomainB} lautet. Jedoch sollen alle E-Mails an *@DomainA letztendlich in der Mailbox von UserA landen, und alle E-Mails an *@DomainB in der Mailbox von UserB. Das ist eine catchall Funktionalität. Kurze Erklärung, warum ich das brauche: Ich vergebe bei der Anmeldung z.B. in Foren prinzipiell separate Adressen, z.B. administrator.de@DomainA.
Dazu habe ich versucht, eine recipient_canonical map einzurichten, um bei eingehenden E-Mails die Empfängeradresse umzuschreiben:
main.cf:
recipient_canonical:
transport_maps:
Emails an UserA@DomainA und UserB@DomainB werden richtig zugestellt, alle anderen aber abgewiesen, 550 5.1.1, User Unknown.
Nun meine Frage: Greifen die recipient_canonical maps überhaupt, wenn E-Mails relayed werden? Habe ich ggf. ein Syntax Fehler in den Maps Dateien? Postmap und Postfix reload habe ich natürlich gemacht...
Danke für einen Tip!
Ich betreibe einen Exchange 2010 Server, der E-Mails für zwei Domains verwaltet. Es gibt meine Mailbox für UserA@DomainA und eine Mailbox für UserB@DomainB. In diesem Setup (Exchange direkt im Internet, jaja nur zu Testzwecken) funktioniert alles wie es soll.
Diesem soll nun ein Postfix vorgeschaltet werden und folgende Aufgaben erledigen:
1) E-Mails von außerhalb für beide Domains annehmen und zum Exchange relayen
2) E-Mails per Fetchmail von diversen anderen E-Mail Hostern einsammeln und ebenfalls an den Exchange an entweder UserA oder UserB weiterleiten
3) Die in 1 und 2 empfangenen E-Mails auf Spam und Viren überprüfen und ggf. taggen oder rejecten
4) E-Mails, die über ein Exchange Konto versendet werden, entgegennehmen (als Smarthost), und entsprechend der Absenderadresse entweder direkt beim Empfänger E-Mailserver abgeben, oder bei einem Mail Hoster (z.B. gmx) zur weiteren Zustellung abgeben (Mit hinterlegten Logindaten). Wir möchten also über das Exchange Konto auch E-Mails mit einer Freemailerabsenderadresse versenden können.
Ich will nun erstmal Aufgabe 1 angehen. Das einfache Relayen klappt ohne Probleme, solange die von außen beim Postfix eingehende Mail für einen Empfänger bestimmt ist, der beim Exchange bekannt ist, also {UserA, UserB}@{DomainA, DomainB} lautet. Jedoch sollen alle E-Mails an *@DomainA letztendlich in der Mailbox von UserA landen, und alle E-Mails an *@DomainB in der Mailbox von UserB. Das ist eine catchall Funktionalität. Kurze Erklärung, warum ich das brauche: Ich vergebe bei der Anmeldung z.B. in Foren prinzipiell separate Adressen, z.B. administrator.de@DomainA.
Dazu habe ich versucht, eine recipient_canonical map einzurichten, um bei eingehenden E-Mails die Empfängeradresse umzuschreiben:
main.cf:
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
transport_maps = hash:/etc/postfix/transport_maps
relay_domains = DomainA, DomainB
recipient_canonical:
@DomainA UserA@DomainA
@DomainB UserB@DomainB
transport_maps:
DomainA smtp:[DomainA.tld]
DomainB smtp:[DomainB.tld]
Emails an UserA@DomainA und UserB@DomainB werden richtig zugestellt, alle anderen aber abgewiesen, 550 5.1.1, User Unknown.
Nun meine Frage: Greifen die recipient_canonical maps überhaupt, wenn E-Mails relayed werden? Habe ich ggf. ein Syntax Fehler in den Maps Dateien? Postmap und Postfix reload habe ich natürlich gemacht...
Danke für einen Tip!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157933
Url: https://administrator.de/contentid/157933
Ausgedruckt am: 16.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
bin kein Postfix-Experte, was ich aber von anderen Mail-Gateways kenne: Ist evtl. der Postfix so konfiguriert, dass er direkt beim Annahmen die Empfängeradressen per LDAP gegen's AD ceckt? Das müsste dann ausgeschaltet werden, sonst nutzt es auch nichts, wenn die Empfänger-Adressen später umgeschrieben würden.
Gruß
Filipp
bin kein Postfix-Experte, was ich aber von anderen Mail-Gateways kenne: Ist evtl. der Postfix so konfiguriert, dass er direkt beim Annahmen die Empfängeradressen per LDAP gegen's AD ceckt? Das müsste dann ausgeschaltet werden, sonst nutzt es auch nichts, wenn die Empfänger-Adressen später umgeschrieben würden.
Gruß
Filipp