Linux-Profis sind gefragt
Aufgabenstellung:
Bestimmte Emailadressen innerhalb lokaler Domains sollen header_checks bekommen.
Dazu habe ich in main.cf einen Verweis auf eine externe Datei gemacht:
- Code: Alles auswählen
header_checks = regexp:/etc/postfix/externe_datei
Inhalt der Datei:
- Code: Alles auswählen
/^From:.*@gatewayrealty\.com/ DISCARD
/^From:.*@1webhighway\.com/ DISCARD
/^From:.*@mail\.ru/ DISCARD
Soweit, sogut. Diese Regeln funktionieren alle brav.
Nun will ich aber für einzelne Mailadressen noch spezielle Regeln aufstellen.
Zb. soll Domain A keine Mails aus .it oder .ro erhalten.
Domain B hingegen keine Mails aus .us usw.
Ich dachte, es ist mit if/endif lösbar aber es läuft einfach nicht.
Testcode:
- Code: Alles auswählen
# Domain A will keine Mails aus RO und IT
if /^To:.*@domainA\.com/
/^From:.*@.*\.ro/ DISCARD
/^From:.*@.*\.it/ DISCARD
endif;
# Domain B will keine Mails aus US und ORG
if /^To:.*@domainB\.com/
/^From:.*@.*\.us/ DISCARD
/^From:.*@.*\.org/ DISCARD
endif
Theoretisch schaut es auch gut aus - bekomme auch keine Fehler. Aber trotzdem kommen die Testmails an.
Erst wenn ich die if/endif auskommentiere, werden die Mails abgewiesen - dann aber für alle Empfänger - was ich ja nicht will.
//Edit: Semikolon entfernt - der Mensch ist eben ein Gewohnheitstier