JavaScript aktivieren, um diese Seite anzuzeigen.

Der Befehl compareattr() prüft Attribute/Systemvariablen auf einen zu definierenden Vergleichswert.

 

Dieser Befehl vergleicht den Inhalt einer Variablen (attribute) mit Hilfe eines Vergleichsoperators (operator) mit einem angegebenen Wert (value)..

 

Aufbau des Befehls

 

compareattr('attribute','operator','value');

 

 

Rückgabewert

positiv

bei zutreffender Bedingung

negativ

bei nicht zutreffender Bedingung

 

Parameter

attribute

Mögliche Werte:

connect_from

gibt die IP-Adresse des Systems aus, von welcher eine E-Mail an die Appliance übergeben wurde.

SENDER

gibt den Envelope Sender einer E-Mail aus.

 

empty

anchor link Hinweis:

Die E-Mail Adresse wird immer in spitzen Klammern <> ausgegeben.

Das heisst, selbst wenn nach einem leeren Envelope Sender gesucht wird, so muss der value <> lauten.

use_lfm

erkennt das Verwenden von LFT, auch wenn keine Header/Subject Tags verwendet werden und die Schwellwerte greifen

unsafe_lfm

erkennt das Verwenden des LFT-Plain-Modus

Variablen

Beim Vergleich von Variablen ist darauf zu achten, dass diese ohne dem üblicherweise vorangestellten «$» eingegeben werden muss.

 

operator

Mögliche Werte:

equal

vergleicht auf Gleichheit eines Ausdrucks (String)

match

prüft auf das Zutreffen eines regulären Ausdrucks (case insensitive!)

 

value

Wert gegen den verglichen werden soll.

 

Beispiel 1

Zeile

Code

01

if (compareattr('connect_from','equal','172.16.161.1')) {

02

log(1,'Message comes from 172.16.161.1');

03

}

 

Erklärung

Dieses Beispiel prüft, ob die zu verarbeitende E-Mail von einem bestimmten E-Mail Server (mit der IP-Adresse 172.16.161.1) kommt. Dabei wird die Systemvariable connect_from ausgewertet (Zeile 01).

Kommt die E-Mail von besagtem Server, so wird ein entsprechender Log-Eintrag erzeugt (Zeile 02).

 

Beispiel 2

Zeile

Code

01

if (compareattr('connect_from','match','172\.16\.161\.[1-4]')) {

02

log(1,'Message comes from 172.16.161.1-4');

03

}

 

Erklärung

Dieses Beispiel prüft, ob die zu verarbeitende E-Mail von einem E-Mail Server mit einer IP Adresse aus dem Bereich von 172.16.161.1 bis 172.16.161.4 kommt. Dabei wird die Systemvariable connect_from ausgewertet (Zeile 01).

Kommt die E-Mail von besagtem Server, so wird ein entsprechender Log-Eintrag erzeugt (Zeile 02).

 

Beispiel 3

Zeile

Code

01

if (compareattr('SENDER','equal','<>')) {

02

log(1,'Message has empty envelope sender');

03

}

 

Erklärung

Dieses Beispiel prüft, ob bei der zu verarbeitenden E-Mail der Absender im Envelope leer ist. Dabei wird die Systemvariable SENDER ausgewertet (Zeile 01).

Ist der Absender im Envelope leer, so wird ein entsprechender Log-Eintrag erzeugt (Zeile 02).

 

Beispiel 4

Zeile

Code

01

if (compareattr('use_lfm','equal','1')) {

02

log(1,'Message is LFT');

03

if (compareattr('unsafe_lfm','equal','1')) {

04

log(1,'LFT Plain mode is used');

05

} else {

06

log(1,'LFT Secure mode is used');

07

}

08

} else {

09

log(1,'No LFT message');

10

}

 

Erklärung

Dieses Beispiel prüft, ob die zu verarbeitende E-Mail eine LFT Nachricht ist (Zeile 01). Falls nicht, wird eine entsprechende Nachricht ausgegeben (Zeile 09), andernfalls wird zunächst eine entsprechende Log Nachricht ausgegeben (Zeile 02) und weiterhin geprüft, ob der LFT Plain Modus verwendet wird (Zeile 03). Wenn dem so ist, wird ein entsprechender Log Eintrag erzeugt (Zeile 04), andernfalls wird die Log Meldung ausgegeben, dass der Secure Modus verwendet wird (Zeile 06).

  

Tastaturnavigation

F7 für Tastaturnavigation
ALT halten und Buchstaben drücken

Diese Info: ALT+q
Seitentitel: ALT+t
Seiteninhalt: ALT+b
Inhalte: ALT+c
Suche: ALT+s
Ebene höher: ESC