
Ich verwende postfix-pcre auf meinem Ubuntu-Server. Wenn ich meine header_checks-Konfiguration mit dem folgenden Befehl teste
postmap -q 'To: "Markus Schlei" <[email protected]>' regexp:/etc/postfix/header_checks
Ich erhalte die folgende Warnmeldung:
Postmap: Warnung: Regexp-Map /etc/postfix/header_checks, Zeile 36: Ungültiger vorangehender regulärer Ausdruck.
Außerdem wird mein Test nicht abgelehnt. In Zeile 36 habe ich diesen Code erhalten:
/^To:.*\@(?!(gmail\.com)).*/ REJECT Test-Nr-1
Ich möchte alle Nachrichten ablehnen, die nicht mitgmail.com
Bearbeitung 1: Ich habe festgestellt, dass, wenn ich das "(?!(..)“ ist die Warnmeldung verschwunden, aber es passiert das Gegenteil von dem, was ich will.
Antwort1
Sie sollten wissen, dass es POSIX-reguläre Ausdrücke und PCRE-reguläre Ausdrücke gibt.
Sie verwenden einenegativer Vorausblick( ?!
) mit einemregulärer AusdruckTabelle. Diese Art von regulärem Ausdruck wird nur von PCRE-Regex-Tabellen unterstützt.
Um herauszufinden, welche Arten von Nachschlagetabellen Ihr Postfix-System unterstützt, verwenden Sie den Befehl „postconf -m“.
Wenn pcre aufgeführt ist, wechseln Sie einfach zu pcre-Tabellen anstelle von regexp-Tabellen. Wenn nicht, müssen Sie installierenPostfix-PCRE.