bestimmte Empfängeradressen mit im Postfix blockieren

Dani99

New Member
Hallo Leute,

bin gerade dabe mich in Postfix einzuarbeiten.
Es läuft auch vieles schon gut, nur so ein paar kleine Probleme müssen noch beseitigt werden.

Ich habe für mehrere Domains catchall Konten erstellt und blocke diverse Mailadressen über Maps (denied_recipients).

Gibt es für die oben genannte Map einen vereinfachten Syntax um z.B. alle Mails an eine bestimmte Domain, welche mit einer Zahl im local-part beginnen zu reject 'en?
Gibt es dies auch für z.B alle eMailadressen mit einem x irgendwo im local-part?

Danke und liebe Grüsse.
Dani :-)
 
Du suchst offenbar nach der pcre-Extension für postfix.

Je nach Distribution einfach installieren:
Code:
aptitude install postfix-pcre

und dann in der main.cf
Code:
.
.
.
check_recipient_access pcre:/etc/postfix/blocked_recipient.pcre ,
.
.
.

/etc/postfix/blocked_recipient.pcre

Code:
/.*x.*@/ REJECT x im localpart
/^[0-9]/ REJECT localpart beginnt mit Zahl
 
Nein, du musst eine zweite Datei erstellen (oder alle bisherigen Einträge mit Slashes /mail@domain/ versehen) und die Datei dann nicht über hash:/ sondern pcre:/ laden, sonst funzt das nicht.
 
ok, dann kann ich aber die alte Datei entfernen oder?

Funktionieren dann deine oben genannte Strings

/.*x.*@/. Reject
/^[0-9]/. Reject

dann für alle im System eingetragenen Domains?

Geht das dann auch z.B. Für

/help@/ reject

das alle Mails mit help im localpart für alle Domains abgelehnt werden?

Muss ich mit der erstellten pcre Datei noch irgendwas machen?
Sorry, ich bin noch Anfänger und kenne mich mit pcre absolut nicht aus, gibt es hierzu vielleicht ein howto.

Danke,
Dani :-)
 
Ja, im Prinzip kannst die alte Datei entfernen, wenn du alles in PCRE überträgst.

PCRE steht für Perl Compatible Regular Expression und vergleicht (in diesem Fall) Empfänger mit allen Einträgen in deiner Liste. Meine Beispiele gelten für alle Domains, da kein spezifischer Domain-Part angegeben ist, der mitgematcht werden kann. Möchtest du einen Eintrag nur auf eine Domain beschränken, so musst du diesen auch angeben.

Nein, im Gegensatz zu hash-Listen ist bei pcre kein postmap nötig. Einfach die Datei erstellen reicht.

Howto ist keines nötig, du solltest dich lediglich mit regulären Ausdrücken etwas befassen, was eigentlich ganz einfach ist. http://de.wikipedia.org/wiki/Regulärer_Ausdruck
 
Vielen Dank.

wenn ich aber hallo@... blocken möchte, dann darf ich aber nicht /hallo/@... verwenden, da sonst auch die Adresse hallihallo@... geblockt wird oder?

Ich meine das geht mit /\dhallo\d/@... , korrekt?

Kann ich eigentlich ähnliches auch für die Positivliste schreiben, also alle eMails, welche den String z.B. -007 enthalten sollen angenommen werden, der Rest nicht.
Ich würde catchall deaktivieren und eine Map schreiben mit /-007/@, nur wie veranker ich dies in der main.cf?

Danke!
 
Vorsicht, alles muss innerhalb der Slashes sein.

Code:
/hallo@/ REJECT
blockt hallo@alle_deine_domains.tld


Man kann statt REJECT auch OK angeben, dann werden Mails angenommen (Stichwort Positiv-List). Bei PCRE wird ein Ausdruck nach dem anderen abgearbeitet und der erste der passt verwendet.

zB. nur -007 Mails zulassen und alle anderen blockieren:

Code:
/-007@/ OK
/.*/ REJECT

lies doch vielleicht auch mal http://www.postfix.org/pcre_table.5.html
 
Back
Top