Formmail

Top  Previous  Next

Beispielsprojekte > Reine Text-Parser > Formmail

 

Das Beispielsprojekt Formmail.ttp demonstriert, wie Mails eindeutig als Nicht-Spam klassifiziert werden können, wenn sie eine bestimmte Struktur aufweisen. Da das Projekt keine Mail als Spam abweist, sollte es wiederum weit oben in der Liste der Filter platziert werden.

 

Dieses Projekt soll nur eine imaginäre Firmenpost durchlassen. Z.B. folgende Mail.

 

 

Sender: Fettie

Subject: Schlankheitskur

Message: will nicht!

 

 

Das Projekt besteht aus den Produktionen:

 

Sender ::= SKIP EOL

Subject: "Subject:" SKIP EOL 

Message ::= "Message:" SKIP?   

 

Formmail ::= Sender Subject Message  {{ out << 1; }}  

 

EOL ist ein regulärer Ausdruck, der für das Zeilenende steht. Es ist im TextTransformer auf der Token-Seite definiert als: \r?\n.

Durch die Projekteinstellungen des TextTransformers werden Leerzeichen und Zeilenumbrüche zwar standardmäßig ignoriert, als Nachfolger von SKIP wird EOL aber dennoch erkannt.

 

Es fällt auf, dass dieses Projekt immer den Wert 1 (für Nicht-Spam) zurückgibt. Dennoch besteht keine Gefahr, dass Spam akzeptiert wird, weil sicher ist , dass eine Mail, die nicht die angeführte Struktur hat, gar nicht bis zu ihrem Ende geparst werden kann. Stattdessen wird im Spamihilator der Wert für den Fall von Parserfehlern verwendet. Dieser Wert sollte für dieses Projekt daher unbedingt auf "indifferent" eingestellt sein.

 

Übungsaufgabe:

Auch Mails ohne Absender und Betreff werden nicht geparst. Wie kann man das ändern?