Roundcube Community Forum

Third Party Contributions => API Based Plugins => Topic started by: fabiosergio on July 04, 2010, 02:24:24 AM

Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: fabiosergio on July 04, 2010, 02:24:24 AM
Hi!!!

I have:
 RC 0.4b
 Hmailserver 5.3.2-B1769 with Mysql db
 Mysql 5.1.47
 Windows S. 2008 64bits

I have config. the Spamfilter plugin and always give me a error, but wen I clicked save for the 2 time they save..

In hmail Admin I see the rule created but nothing is set in the actions field (move to IMAP folder).

I could verify that doesn't create in the hmailserver db the values in hm_rule_actions table.

The error is because in the setup of the hmailserver the values of the table is set to "Not null".

i have changed the query this:
INSERT INTO hm_rule_actions (actionruleid,actiontype,actionimapfolder,actionsortorder,actionrouteid,actionsubject,actionfromname,actionfromaddress,actionto,actionbody,actionfilename,actionscriptfunction,actionheader,actionvalue)  VALUES('7','4','Spam','0','0','','','','','','','','','')


I could change the Not null value in db but I don't like to modify values in hmail db.


Best regards!!
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: rosali on July 04, 2010, 04:33:26 AM
This bug has been fixed. New version will be released soon.
Title: SPAM FILTER PLUGIN - Mini Bug
Post by: fabiosergio on October 21, 2010, 01:57:59 PM
Hi, again!!

I could see that Spamfilter has been fixed! And works great!

Just lo let you now, If I put in my config file:
// Rule Name
$rcmail_config['spamfilter_rule_name'] = 'X-hMailServer-Reason-Score';
// Spam header field
$rcmail_config['spamfilter_header_field'] = 'X-hMailServer-Reason-Score';

the plugin doesn't work! the rules was created but there's no rules_action and rule criteria.
But if I change the rule name for other one they work!
All I have to say is if you put this 2 fields in the config file doesn't! But I think that not a problem!

Keep the good work!

Best regards!!
Title: Help with hmail_spamfilter
Post by: LordNik on December 29, 2010, 12:24:35 PM
Quote from: rosali;28500
This bug has been fixed. New version will be released soon.


Really, now it's fixed?

Can i say where i can download the new version?

I have the same bug.

Please help me.

Thanks a lot,
Niccolò Patriarchi

P.S. The is another similar plugin which move the spam e-mail to the spam folder?
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: rosali on December 30, 2010, 01:04:14 AM
Could you please post plugin version and lines 24 - 33 of your hmail_spamfilter.php?

Also please post the structure of hmail_rule_actions table (hmailserver database).

Mine is:

  `actionid` int(11) NOT NULL auto_increment,
  `actionruleid` int(11) NOT NULL,
  `actiontype` tinyint(4) NOT NULL,
  `actionimapfolder` varchar(255) NOT NULL,
  `actionsubject` varchar(255) NOT NULL,
  `actionfromname` varchar(255) NOT NULL,
  `actionfromaddress` varchar(255) NOT NULL,
  `actionto` varchar(255) NOT NULL,
  `actionbody` text NOT NULL,
  `actionfilename` varchar(255) NOT NULL,
  `actionsortorder` int(11) NOT NULL,
  `actionscriptfunction` varchar(255) NOT NULL,
  `actionheader` varchar(80) NOT NULL,
  `actionvalue` varchar(255) NOT NULL,
  `actionrouteid` int(11) NOT NULL,


Do you use the change posted by fabiosergio above?

Do you run hMailserver on an external MySQL Database?
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: LordNik on December 30, 2010, 03:36:44 AM
Quote from: rosali;32081
Could you please post plugin version and lines 24 - 33 of your hmail_spamfilter.php?

Also please post the structure of hmail_rule_actions table (hmailserver database).

Mine is:

  `actionid` int(11) NOT NULL auto_increment,
  `actionruleid` int(11) NOT NULL,
  `actiontype` tinyint(4) NOT NULL,
  `actionimapfolder` varchar(255) NOT NULL,
  `actionsubject` varchar(255) NOT NULL,
  `actionfromname` varchar(255) NOT NULL,
  `actionfromaddress` varchar(255) NOT NULL,
  `actionto` varchar(255) NOT NULL,
  `actionbody` text NOT NULL,
  `actionfilename` varchar(255) NOT NULL,
  `actionsortorder` int(11) NOT NULL,
  `actionscriptfunction` varchar(255) NOT NULL,
  `actionheader` varchar(80) NOT NULL,
  `actionvalue` varchar(255) NOT NULL,
  `actionrouteid` int(11) NOT NULL,


Do you use the change posted by fabiosergio above?

Do you run hMailserver on an external MySQL Database?


Ok, no problem. Thanks a lot for the support.

The lines are:

  public $task = 'login|mail|settings';
  private $sql_select_account       = 'SELECT accountid FROM hm_accounts WHERE accountaddress=%u';  
  private $sql_select_rule          = 'SELECT ruleid, ruleaccountid, rulename, ruleactive, ruleuseand, rulesortorder FROM hm_rules WHERE ruleaccountid=%u AND rulename =%r';
  private $sql_select_rule_criteria = 'SELECT criteriamatchvalue FROM hm_rule_criterias WHERE criteriaruleid=%id';
  private $sql_update_rule          = 'UPDATE hm_rules SET ruleactive=%b WHERE ruleid=%id';
  private $sql_update_criteria      = 'UPDATE hm_rule_criterias SET criteriamatchvalue=%v WHERE criteriaruleid=%id';
  private $sql_update_action        = 'UPDATE hm_rule_actions SET actionimapfolder=%f WHERE actionruleid=%id';
  private $sql_insert_rule          = "INSERT INTO hm_rules (ruleaccountid,rulename,ruleactive,ruleuseand,rulesortorder)  VALUES(%id,%r,%b,'1','1')";
  private $sql_insert_rule_criteria = "INSERT INTO hm_rule_criterias (criteriaruleid,criteriausepredefined,criteriapredefinedfield,criteriaheadername,criteriamatchtype,criteriamatchvalue)  VALUES(%id,'0','1',%n,'4',%s)";  
  private $sql_insert_rule_action   = "INSERT INTO hm_rule_actions (actionruleid,actiontype,actionimapfolder,actionsortorder,actionrouteid)  VALUES(%id,'4',%f,'0','0')";

You can find the structure of the database here:

http://www.patriarchi.info/images/hmailserver.jpg

I don't understand what fabiosergio means, please can you explain to me what i must to do?

I've changed in the config file rule_name and the header_field, but it doesn't functions.

I run hmailserver into the same server of the mysql database.

Thank you, Niccolò Patriarchi.
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: rosali on December 30, 2010, 04:42:52 AM
Does hMailserver use an external MySQL database or the built-in one?
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: ericpepin on December 30, 2010, 07:29:34 AM
Thanks Fobiosergio great instruction you have given here. love it, keep it up...!!!
Title: SPAM FILTER PLUGIN - Hmailserver 5
Post by: LordNik on January 03, 2011, 04:51:44 AM
I've solved modifying this variable, like this:

private $sql_insert_rule_action   = "INSERT INTO hm_rule_actions (actionruleid,actiontype,actionimapfolder,actionsubject,actionfromname,actionfromaddress,actionto,actionbody,actionfilename,actionsortorder,actionscriptfunction,actionheader,actionvalue,actionrouteid)  VALUES(%id,'4',%f,'','','','','','','0','','','','0')";  

Thanks a lot!

Niccolò