[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4694: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4695: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4696: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Spamihilator » Thema anzeigen - New plugin: Misnamed Filter

New plugin: Misnamed Filter

Alles, was mit Plugins für Spamihilator zu tun hat. (Keine Plugin-Hilfe, Plugin-Bugs oder Plugin Feature Requests, siehe jeweils dort.)

Moderator: Forum-Team

New plugin: Misnamed Filter

Beitragvon AlexV » 3. Feb 2007, 12:54

Again, apologies for not writing in German here.

I've got another plugin ready for you to try, called Misnamed Filter. Its purpose is to detect spam emails which have been sent to valid email addresses, but using the wrong display names. For example, if an email is addressed to "Richard Meyer" <example@gmail.com> then it is very likely to be spam (unless your name is Richard Meyer, of course!).

This filter is capable of learning the valid display names for addresses, based on the non-spam emails learnt through the training area, and can also be manually configured using regular expressions to exactly specify your email addresses and valid display names for them.

This filter is provided in an installer, which will place Misnamed Filter.dll in your Spamihilator plugins folder, and supporting files such as the uninstaller, configuration component and settings file in a "Misnamed Filter" subfolder of the plugins folder.

All incoming mail will have the To:, CC: and BCC: headers scanned for email addresses with display names. The presence of any known email address with a display name that is not known as valid for that address will cause the email to be marked as spam. This filter will never mark an email as non-spam.

I would recommend positioning this filter just above the learning filter in the priorities list, below any filter which may perform any sort of whitelisting.

This filter requires the .net CLR runtimes, which the installer will check for and install if you don't already have them. The source is also provided in the installer, with the plugin dll written in C++ (ugh) and the configurator in C#. The installer is NSIS.

I hope you find this useful, and comments and suggestions are always welcome.



Alex
Zuletzt geändert von AlexV am 18. Sep 2011, 15:55, insgesamt 5-mal geändert.
AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 4. Feb 2007, 22:04


Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon AlexV » 4. Feb 2007, 22:50

AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 4. Feb 2007, 23:16


Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon AlexV » 4. Feb 2007, 23:39

The only thing I can think of then, is maybe you have a different version of the .net runtimes installed, or not installed at all, and the plugin installer didn't detect it for some reason... Did you try my other plugin, the one? If that one produces the same error then it must be something .net related...
AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 5. Feb 2007, 00:05

Hallo AlexV!

With the other PlugIn from you, the same "problem"!
I have the framework 2.0.50727 on my computer.
The required version is the 2.0; isn't it?

Regards
anbuva

Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon AlexV » 5. Feb 2007, 10:20

OK, I've done a bit more research into this. It looks like C++ apps also require , which I'm guessing you don't have. I've updated the installer so that it includes that, now. It puts it in a sub-folder of plugins, so it should be available to any plugin that requires it, and shared among them.

I don't know if this actually works or not, it is according to instructions I've found on Microsoft's site and others, but on my PC it was working before, so the fact that it is working now doesn't give me any more information!

Oh well, another 300k on to the download size, and more dll files splattered about the place. Yet another reason to dislike C++ :x
AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 5. Feb 2007, 20:24

Hallo AlexV!

Great! WOW! That was it! Thank you very much! :D
Now i will try the new filter for the next (and hopefully every) time.......

Regards
anbuva

Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon Chactory » 10. Feb 2007, 17:03


Bild
Benutzeravatar
Chactory
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 9612
Registriert: 9. Jan 2004, 23:19
Wohnort: Kiel (D)

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 22. Feb 2007, 22:21


Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon AlexV » 22. Feb 2007, 23:05

AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 22. Feb 2007, 23:12


Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Re: New plugin: Misnamed Filter

Beitragvon Burkart » 26. Feb 2007, 19:16

Benutzeravatar
Burkart
Spam-Killer
Spam-Killer
 
Beiträge: 39
Registriert: 20. Aug 2006, 12:50
Wohnort: Aalen

Re: New plugin: Misnamed Filter

Beitragvon AlexV » 26. Feb 2007, 20:58

Hello Burkart,

Thank you for your long and detailed post:

As far as I can tell, neither GCC nor Dev-CPP support C++ CLI (C++ .net). OK, it would be technically possible to rewrite this plugin in pure C++ without using .net, but I know .net well, and I don't know C++ well, so I'm not going to do that.

I'm sorry you don't like .net 2.0. I'm not sure I can help you with the installation error, it is a standard script supposed to just download the official installer from Microsoft and run it. It is understandable that the plugin would not be loaded if .net 2 was not installed, though.

I understand the confusion about regular expressions, there is much which may not be obvious about their use. That is why I added the Learning function to produce them automatically, and figured editing them manually would be an advanced task. If I can figure out a good UI for specifying whether an entered name or address should be treated as plain-text and auto-converted to a regex, I could add that to the configuration dialog.

I chose to make the checks case-insensitive deliberately, as I could not think of a reason they should be case-sensitive. If "Alex Vallat" is right, then surely "alex vallat" doesn't indicate spam?

Emails as regexes make sense to me, as I have several addresses on a domain which are valid, and I would not want to lose that functionality, or specify them all individually. Again, a way of auto-converting to a regex in the configuration UI might address this issue for you.

Good call on that quote from the readme, I'll fix that. It was, of course, supposed to read: "The presence of any known email address with a display name that is not known as valid for that address will cause the email to be marked as spam."

I'm not convinced about the Similar Names idea. If I've manually entered a regex, I want it to match those exactly, if I wanted a fuzzier match, I'd have written a fuzzier regex pattern. For the Learning function, I have followed the same principle of the learning filter. Make a best guess, and improve on it by learning from mistakes. If, in your example, you get "Surname, Firstname" marked as spam, then mark it as Non Spam and learn from it, then "Surname, Firstname" will be added to the pattern and not marked as spam in the future. Thank you for the suggestion, though.

Thanks also for the idea for explaining about using the same name for different addresses in the readme, I'll add that in.

I'm not sure what it is you don't like about the current UI. You click Add, and you type the name. Like if you choose "New Folder" in Explorer, for example. Anyway, if it is against your intuition, and you found it awkward to use, then that is good for me to know, in case I come up with a better idea.

The rationale behind the behaviour for when an email contains both good and bad display names is that this plugin doesn't mark things as non-spam. I thought that having a good display name wasn't a strong enough indicator to indicate non-spam, so left it as making no decision. Having a bad display name is a good indicator for spam, though.

If I added functionality to consider good addresses as non-spam, then if there was both good and bad, they should cancel out to undecided, though. I'd be interested, in your experience, would a good display name be a strong enough indicator of non-spam to be worthwhile?

I see what you are saying about folding headers, I'll check it out. The regex is correct as is, as it should not have to be aware of the underlying format of the header. The header should be unfolded before being matched against, but it might not be currently. If it isn't, I'll fix it so that it is.
edit: Just checked, headers are unfolded by Spamihilator before being passed to plugins, so this works fine.

Thanks for pointing out the comma bug. This is simply a bug with the internal regex I am using for parsing email addresses not supporting commas inside the display name. I'll fix this.

So, in conclusion, thank you for your suggestions and bug reports, and yes, there will be a version 0.2 coming soon.

Regards,

Alex
AlexV
Spam-Massenmörder
Spam-Massenmörder
 
Plugin-Programmierer
 
Beiträge: 139
Registriert: 26. Nov 2005, 12:25

Re: New plugin: Misnamed Filter

Beitragvon anbuva » 27. Feb 2007, 11:01


Bild
Benutzeravatar
anbuva
Administrator
Administrator
 
Administration
Beta-Tester
Forum-Team
 
Beiträge: 8403
Registriert: 1. Sep 2004, 12:58
Wohnort: Zuhause

Nächste

Zurück zu Plugins: Allgemein

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste

cron

 industrious-southeast