[Postfixbuch-users] Weiterleitung (virtual_alias) und gleichzeitig auch Transport derselben Domain (transport_map)

Markus Hofer hofmarkus at gmail.com
Do Dez 4 14:30:06 CET 2008


Peer Heinlein schrieb:
> Am Mittwoch, 3. Dezember 2008 schrieb Markus Hofer:
>   
>> Wir übernehmen für einen grösseren Kunden die Mailfilterung
>> Antivirus+Antispam) und bei einer Domain (sagen wir mal example.com)
>> möchte ich einige der Adressen  mittels "virtual_alias_maps" an eine
>> andere Adresse (z.B. test.example.com) umschreiben (da dies der Kunde
>> so wünscht). Dies sind
>> ca. 80 % der Mailadressen.
>>     
>
> /etc/postfix/relay_domains:
>
> example.com		smtp:[host1.andererserver.tld]
> test.example.com	smtp:[host2.andererserver.tld]
>
> /etc/postfix/relay_recipient_maps:
>
> user at example.com	OK
> (hier die 20% Adressen rein)
>
> /etc/postfix/virtual-relay
>
> user2 at example.com		1234 at test.example.com
> (eben die 80% umgeschriebene Adressen)
>
> In der main.cf dann:
>
> relay_domains=hash:/etc/postfix/relay_domains
>
> transport_maps=hash:/etc/postfix/transport, 
> hash:/etc/postfix/relay_domains
>
> relay_recipient_maps=hash:/etc/postfix/relay_recipient_maps, 
> hash:/etc/postfix/virtual-relay
>
> virtual_maps=hash:/etc/postfix/virtual, hash:/etc/postfix/virtual-relay
>
>   
>> Die restlichen 20 % der Mailadressen example.com sollte ich nach
>> Filterung und evtl. "User unknown" Meldung an einen anderen Mailserver
>> weiterleiten.
>>     
>
> Nix da user unknown. Hier wird nicht gebounct. Was Dein Server nicht kennt 
> hat er nicht anzunehmen -- aber das ist ja oben über relay_recipient_maps 
> geklärt.
>   

>> virtual_alias_domains = example.com
>>     
>
> Nein, da Postfix ja NICHT final für die Domain zuständig ist! Es ist doch 
> eine Relay-Domain! Also in die richtige Domainklasse aufnehmen und keine 
> Schweinereien machen.
>
>   
>> virtual_alias_maps = hash:/etc/postfix/virtual
>>     
>
> Ja, oder eben eine eigene Datei machen, damit man sich die virtual-Datei 
> ansonsten freihält und diese "besondere" virtual dann gleich für 
> relay_recipient_maps mißbrauchen kann.
>
>   
>> transport_maps = hash:/etc/postfix/transport
>>     
>
> Ja, bzw. eben mit relay_domains zusammenlegen (siehe oben, bzw. 
> Ausführungen im Buch).
>
>   
>> in virtual_alias_maps aufgelistet ist) schicke, dann bekomme ich
>> folgende Fehlermeldung
>> "Recipient address rejected: User unknown in virtual alias table".
>>     
>
> Eben. Weil Du die Relay-Domain nicht als Relay-, sondern als virtuelle 
> Domain definiert hast und damit ist die virtual-Maps als Userliste 
> heranzuziehen. Und da stehen die halt nicht drin.
>
>   
>> Kommentiere ich nun "virtual_alias_domains" in main.cf aus, dann
>> scheint alles zu funktionieren.
>>     
>
> Aber nur, weil Du aus $mynetworks oder so heraus testest, ansonsten würde 
> Postfix Mails an diese Domain von außen nicht annehmen ("relay access 
> denied").
>
> Lieben Gruß
>
> Peer
>   
Habe nun alles soweit auf einem Testmailsystem getestet und es 
funktioniert auch sehr gut. Also
danke Peer und Sandy für die Infos. Nur habe ich jetzt noch ein Problem.

Ich habe auf unserm Maileingangsgateway auch mehrere Maildomänen von 
verschiedenen Kunden,
wo ich leider keine Information zu den Mailadressen habe. So erledigt 
dieser Mailgateway die
gesamte Spam- und Virenfilterung und leitet die Mail dann an die Kunden 
weiter, welche
dann evtl. eine "bounce" Mail generieren. (user unknown).

Ich weiss, dass dies keine Ideallösung ist, aber nunmal bekomme ich 
jetzt nicht so schnell von
allen Kunden die Adresslisten und deshlab muss ich dies weiterhin so 
implementieren.
Deshalb wollte ich nun fragen, wie die Konfiguration anzupassen ist, 
wenn ich für einige Domänen
z.B. example.com, test.example.com usw. sehr wohl alle Mailadressen habe 
und dann die Mails
andere Mailadressen dieser Domänen umgehend ablehe, aber bei einigen 
Ausnahmen, möchte
ich die Mailadressen nicht kontrollieren und an die Kunden weiterleiten. 
Bisher hatte ich die
gesamte Domänenliste für welche ich zuständig bin in

relay_domains=hash:/etc/postfix/relay_domains
und
transport_maps=hash:/etc/postfix/transport

eingetragen,
aber "relay_recipient_maps", war nicht aktiv und so habe ich die Mailadressen
nicht überprüft. Nun lehnt er aber alle Mailadressen ab, welche nicht in

relay_recipient_maps=hash:/etc/postfix/relay_recipient_maps, 
hash:/etc/postfix/virtual-relay

eingetragen sind.
Dies ist momentan leider nicht optimal.

Desweiteren hätte ich noch eine letzte Frage:
Wir haben für jeden User jeweils 2 Mailadressen unterschiedlicher Domänen, je nach
Sprache:
Also z.B.
User1 at example.com
User1 at test.com
User2 at example.com
User2 at test.com

Wäre es möglich, dass ich nicht jeden User 2 mals in die virtual-relay Liste eintragen muss,
sondern irgendwie Postfix beibringe, dass alle Adressen auf der linken Seite den Domänen (example.com, test.com)
entsprechen. So würde ich nur die Hälfte Einträge in der Liste haben und bei der
täglichen Anpassung/Konfiguration wäre dies leichter und übersichtlicher. Es handelt sich 
derzeit um über 5000 Mailadressen (einfach).

Danke!
Viele Grüsse,
Markus


>
>   



Mehr Informationen über die Mailingliste Postfixbuch-users