Regex auf Postfix mit Centos

Regex auf Postfix mit Centos

Ich habe einen Centos-Server, auf dem nur Postfix läuft. Ich möchte E-Mails herausfiltern, die das Wort gratisoder grátisoder grétisoder enthalten grâtis.

Der zweite Buchstabe ist das Problem. Ich habe also diesen Rejex verwendet:

/^Subject:.*gr.tis/ REJECT Your message was rejected

Das Problem ist, dass der „Punkt“ nicht mit Sonderzeichen mit Postfix übereinstimmt. Ich meine, wenn ich eine E-Mail mit dem Wort gratisim Betreff sende, wird sie gefiltert. Aber wenn ich eine E-Mail sende, die das Wort enthält, grátiswird sie nicht gefiltert.

Wie löse ich dieses Problem?

Antwort1

Speichern Sie die Spam-Probe in einer Datei und untersuchen Sie sie z. B. mit , cat -A, sed -n l, hexdump, hdusw. od– was auch immer nötig ist, um zu sehen, wie viele Bytes sich tatsächlich im Betreff:-Header befinden.

z.B

grep '^Subject:' /tmp/saved.spam | sed -n l

Auf diese Weise können Sie einen genauen regulären Ausdruck erstellen, den Sie in Ihre header_checks-Datei einfügen können.

Antwort2

Versuchen Sie es mit:

/^Subject:.*gr.{1,2}tis/ REJECT Your message was rejected

stattdessen. Vielleicht ist es ein Fehler bei der Kodierung.

verwandte Informationen