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
Rule Probleme
Moderator: Christian
Re: Rule Probleme
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
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
Re: Rule Probleme
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.
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.
Re: Rule Probleme
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?
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?
Re: Rule Probleme
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.
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
Re: Rule Probleme
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
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