Postfix Catch All überschreibt alle anderen Muster in virtual_alias_maps

Postfix Catch All überschreibt alle anderen Muster in virtual_alias_maps

Ich glaube, ich habe jeden Thread mit „Catch All“ und „Overrides Catch All“ mit Postfix überprüft, kann aber trotzdem keine Lösung für mein Problem finden. Ich habe einen eingehenden (nur) SMTP-Server Postfix version 3.5.8. Ich möchte ihn zu einem offenen Relay machen und kann das mit virtual_alias_domains=static:yesin erreichen /etc/postfix/main.cf. Dann möchte ich diese Nachrichten je nach Empfängerdomäne an einige Benutzer versenden, also habe ich einige Muster mit pcre in erstellt virtual_alias_maps = pcre:/etc/postfix/virtual:

/1@test/ test
/2@test/ test2
/@test/ catchallfromtest
/@/ catchall

mit/etc/postfix/aliases

test: "/var/mail/test.mail"
test2: "/var/mail/test2.mail"
catchallfromtest: "/var/mail/catchallfromtest.mail"
catchall: "/var/mail/catchall.mail"

Wenn ich auskommentiere,   /@/ catchallwird die E-Mail korrekt versendet, aber ohne das geht jede E-Mail in den Catchall. Ich habe viele Ideen ausprobiert (andere Reihenfolge, Aufteilung in separate Dateien, mit verschiedenen Datenbanktypen, mit virtual_alias_mapfür einige Benutzer und mit recipient_bcc_maps für den Catchall, mit, luser_relayaber es funktioniert nur für, $mydomainalso funktioniert es in meinem Fall nicht, mit Ausschluss im Muster und in Zeile ( !//)) und mit unterschiedlicher Form des Catchalls ( //, /.*@.*/, /^.*@.*&/, /.+@.+/usw.). Wenn ich versuche, es mit zu testen

postmap -q "1@test" pcre:/etc/postfix/virtual

es gibt den korrekten Alias ​​zurück, aber wenn ich versuche, eine E-Mail zu senden, geht es in den Catchall. Was kann ich sonst noch versuchen? Aus [Dokumentation][1]

Patterns are applied in the order as specified in the  table,  until  a pattern is found that matches the input string.

Es sollte also direkt nach der ersten Musterübereinstimmung anhalten, tut dies aber nicht. [1]:http://www.postfix.org/pcre_table.5.html

verwandte Informationen