Rule Probleme

General discussion about PopMan.

Moderator: Christian

Post Reply
Rainer
Posts: 14
Joined: 17 Jul 2016, 14:20

Rule Probleme

Post by Rainer »

Hi Christian,

erstmal großen Respekt für dein Werk "PopMan", das Teil ist der Hammer :!:

So nun zu meinem vielleicht kleinen Problem oder Denkfehler meinerseits:

Meine Regel sieht so aus:

[Name="E-Mail_TLD_Freigaben"]
Header contains none of E-Mail_TLD_Freigaben -> Open("C:\Programme\PopMan\Data\RuleLogFile.log"), Delete, NotNew, Read

define list E-Mail_TLD_Freigaben = {E-Mail_TLD_Freigaben_RegEx}

define string E-Mail_TLD_Freigaben_RegEx = regex:"[^@]+@.+\.com$|[^@]+@.+\.de$|[^@]+@.+\.eu$|[^@]+@.+\.net$|[^@]+@.+\.org$"

Diese Regel funktioniert sehr gut, aber wenn ich die tld .ru (habe Bekannte in Rußland) auch freigebe und es kommt z.B. eine E-Mail aus Frankreich (.fr) rein, dann wird diese obwohl lt. Regel so eingerichtet nicht gelöscht.

Ich hoffe es fällt dir etwas ein :?:

Gruß

Rainer
User avatar
Christian
Site Admin
Posts: 387
Joined: 11 Jan 2004, 13:04
Location: Magdeburg, Germany
Contact:

Re: Rule Probleme

Post by Christian »

Hallo Rainer,

es freut mich, dass Dir PopMan gefällt.

Ich verstehe nicht, wie die beschriebene Problematik entstehen kann. Kann eigentlich nur am RegEx-Ausdruck liegen. Wie sieht dieser aus mit der .ru Freigabe? Was man versuchen könnte: Statt mehrere Domain-Endungen in einem RegEx-Ausdruck zu vereinen, diese aufteilen also z.B.:

define list E-Mail_TLD_Freigaben = {
regex:"[^@]+@.+\.com$",
regex:"[^@]+@.+\.de$",
regex:"[^@]+@.+\.eu$",
regex:"[^@]+@.+\.net$",
regex:"[^@]+@.+\.org$",
regex:"[^@]+@.+\.ru$"
}

Vielleicht sollte man statt "Header" sich auf "From" beschränken.

Gruß
Christian
Christian Hübner
Rainer
Posts: 14
Joined: 17 Jul 2016, 14:20

Re: Rule Probleme

Post by Rainer »

Hallo Christian,

Danke für die schnelle Antwort.
Habe es eben mit deiner Variante ausprobiert, leider mit dem selben Ergebnis.
Sobald ich die E-Mail tld. ru regex:"[^@]+@.+\.ru$" am Ende einfüge darf die E-Mail aus Frankreich passieren.
Auch deinen zweiten Vorschlag, mit From ist es noch komischer, tld. ru in der Liste, werden E-Mails von .de, .ru usw. gelöscht.
Bin jetzt noch einen Schritt weitergegangen und habe das Ganze mit nur einem E-Mail Konto und frischer PopMan.ini + leerer Blacklist getestet, gleiches Ergebnis.

Eine ganz komische Sache.

P.S. durch deine Variante spart man sich den string, list+string in einem, wieder was gelernt. :)
Rainer
Posts: 14
Joined: 17 Jul 2016, 14:20

Re: Rule Probleme

Post by Rainer »

Update:

die Regel zwickt sich mit dem Account (eigenes E-Mail Konto), habe es eben mit einem .de-Konto getestet.
Wenn der Account z.B. .de ist + TLD_Freigabe, dann funktioniert die Regel nicht, sobald dann die .de aus der Freigabe entfernt wurde,
geht die Regel wieder.

Account ist .de E-Mail:
[Name="E-Mail_TLD_Freigaben"]
Header contains none of E-Mail_TLD_Freigaben -> Open("C:\Programme\PopMan\Data\RuleLogFile.log"), Delete, NotNew, Read

define list E-Mail_TLD_Freigaben = {
regex:"[^@]+@.+\.com$",
regex:"[^@]+@.+\.de$"}

Ergebnis = Die Regel funktioniert nicht.


Account ist .de E-Mail:
[Name="E-Mail_TLD_Freigaben"]
Header contains none of E-Mail_TLD_Freigaben -> Open("C:\Programme\PopMan\Data\RuleLogFile.log"), Delete, NotNew, Read

define list E-Mail_TLD_Freigaben = {
regex:"[^@]+@.+\.com$",
regex:"[^@]+@.+\.net$"}

Ergebnis = Die Regel funktioniert.

Die Frage ist jetzt, wo liegt der Fehler?
User avatar
Christian
Site Admin
Posts: 387
Joined: 11 Jan 2004, 13:04
Location: Magdeburg, Germany
Contact:

Re: Rule Probleme

Post by Christian »

Danke für die Spende!

Wenn man die Regel auf Header anwendet, dann wird ja auch z.B. die To-Adresse geprüft, und dort wird er bei einem DE-Konto natürlich die Ziel-Adresse finden.

Generell empfehle ich die Regex zu ändern. So wie bisher wird deutlich zu oft bzw. zu viel gematcht. Ein besserer Regex wäre: "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.(com|de|eu|net|org|ru)\b" und dann nur auf From testen.

Die folgende Seite kann man nutzen, um reguläre Ausdrücke zu testen: http://regexr.com/
Dort einfach mal den Mail-Quelltext unten reinkopieren (F10 in PopMan).

Was ich gerade nicht weiß ist, ob die Regex-Implementierung in PopMan casesensitive ist. Vermutlich ja, dann müsste man die Domain-Endungen noch mal in groß hinzufügen.
Christian Hübner
Rainer
Posts: 14
Joined: 17 Jul 2016, 14:20

Re: Rule Probleme

Post by Rainer »

Besten Dank!

Des Rätsels Lösung war wie Du vermutet hast die RegEx.
Habe es testweise so am laufen:

Header or From contains none of E-Mail_TLD_Freigaben -> Open("C:\Programme\PopMan\Data\RuleLogFile.log"), Delete, NotNew, Read

define list E-Mail_TLD_Freigaben = {E-Mail_TLD_Freigaben_RegEx}

define string E-Mail_TLD_Freigaben_RegEx = regex:"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.(com|de|eu|net|org|ru)\b"

läuft bis jetzt 1a :D
Post Reply