derausvoelksen
Goto Top

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_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!

Content-Key: 157933

Url: https://administrator.de/contentid/157933

Printed on: April 16, 2024 at 11:04 o'clock

Member: filippg
filippg Jan 03, 2011 at 23:05:49 (UTC)
Goto Top
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
Member: derausvoelksen
derausvoelksen Jan 03, 2011 at 23:26:57 (UTC)
Goto Top
Hallo Filipp,

danke für deine Anregung, eine LDAP Abfrage nach gültigen Empfängeradressen findet aber nicht statt.

Grüße!
Member: derausvoelksen
derausvoelksen Feb 13, 2011 at 00:37:05 (UTC)
Goto Top
Zitat von @derausvoelksen:
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

tut jetzt soweit.


3) Die in 1 und 2 empfangenen E-Mails auf Spam und Viren überprüfen und ggf. taggen oder rejecten

habe ich mal hintangestellt.

hab jetzt ein problem mit dem outbound mail relay. der exchange hat als smarthost für alle absenderdomains den postfix eingetragen. ich will aber natürlich kein offenes relay einrichten, sondern lediglich erreichen, dass der exchange ohne authentifizierung mails für die welt beim postfix einliefern kann. dazu habe ich die ip des exchange zu mynetworks hinzugefügt, doch irgendwas stimmt dennoch nicht (entweder an der config, oder an meinem verständnis):


von der welt zum postfix:
220 mail.meinedomain.de ESMTP Postfix
ehlo welt.de
250-mail.meinedomain.de
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:asd@welt.de
250 2.1.0 Ok
rcpt to:qwerty@welt.de
554 5.7.1 <qwerty@welt.de>: Relay access denied

kein relayen erlaubt, soweit so gut. aber:

vom exchange per telnet zum postfix:
220 mail.meinedomain.de ESMTP Postfix
ehlo winexchange
250-mail.meinedomain.de
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:ich@meinedomain.de
250 2.1.0 Ok
rcpt to:asd@welt.de
550 5.1.1 <asd@welt.de>: Recipient address rejected: welt.de

der exchange darf keine mails zum versand in die welt beim postfix abgeben, warum nicht? hier mal meine mail.cf:

smtpd_banner = $myhostname ESMTP $mail_name
biff = no

append_dot_mydomain = no

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


debug_peer_list = 192.168.56.11

mynetworks = 127.0.0.0/8, 192.168.56.11/32 (<- ip vom exchange)
myhostname = mailserver
mydomain = 
myorigin = 
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost.local, localhost
relay_domains = meinedomain.de, meinezweitedomain.de
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = hash:/etc/postfix/virtual


smtpd_delay_reject = no
smtpd_helo_required = yes
mailbox_size_limit = 0
message_size_limit = 20480000
recipient_delimiter = +
default_transport = error
inet_protocols = ipv4



transport:

meinedomain.de       relay:[192.168.56.11]
meinezweitedomain.de        relay:[192.168.56.11]

virtual:
@meinedomain.de      ich@meinedomain.de
@meinezweitedomain.de ich@meinezweitedomain.de



mir ist insgesamt unklar, wo bestimmt wird, welcher host emails zum weiterversenden in die welt abgeben darf, und wer nicht. wird das allein durch mynetworks geregelt? insgeheim greift diese regel ja schon, da die fehlermeldungen unterschiedlich sind (siehe oben). aber was hindert den exchange daran, mails zum versand in die weltbeim postfix einzuliefern??
Member: insiderla
insiderla Feb 11, 2015 at 19:24:32 (UTC)
Goto Top
Hallo,

wie hast du die weiterleitung zum exchange nun hinbekommen?
Steh vor dem selben Problem und bekomm den "Relay Access denied" Fehler.

LG

Michael