Changes

Jump to navigation Jump to search
2,921 bytes added ,  11:17, 6 June 2023
Line 1: Line 1:  
{{Languages}}
 
{{Languages}}
{{Outdated|msg=please read that forum post http://forums.contribs.org/index.php/topic,51019.msg258122.html#msg258122 }}  
+
===Version===
=== Maintainer ===
+
{{#smeversion: smeserver-learn}}
 +
===Maintainer===
 
[[Unnilennium|JP Pialasse]]
 
[[Unnilennium|JP Pialasse]]
=== Initial contributors===
+
===Initial contributors===
 
[mailto:emmanuel.jooris@firewall-services.com Jooris Emmanuel] for [http://www.firewall-services.com Firewall-services],
 
[mailto:emmanuel.jooris@firewall-services.com Jooris Emmanuel] for [http://www.firewall-services.com Firewall-services],
[mailto:daniel@firewall-services.com[[User:VIP-ire|Daniel B.]]] from [http://www.firewall-services.com Firewall Services],
+
[mailto:daniel@firewall-services.com][[User:VIP-ire|Daniel B.]] from [http://www.firewall-services.com Firewall Services],
 
Brian Read , Tim Litwiller , Michael McCarn and Jesper Knudsen
 
Brian Read , Tim Litwiller , Michael McCarn and Jesper Knudsen
    +
===Description===
 +
Scripts, based on LearnAsSpam, which allows users to interact with spamassassin rules simply by dropping mail into special folders added to their mailbox. This works only with IMAP as it is a server side process.
   −
=== Description ===
+
*Learn mail as spam
Scripts (based on LearnAsSpam) which allows users to interact with spamassassin rules simply by dropping mail in special folders of their mailbox (working only with imap).
+
*Learn mail as ham
* Learn mail as spam
+
*Whitelist the sender so his mails won't be tagged as spam again
* Learn mail as ham
  −
* Whitelist the sender so his mails won't be tagged as spam again
      +
===Installation===
    +
yum --enablerepo=smecontribs install smeserver-learn
   −
=== Installation ===
+
Enable Bayes. See  [[Email#Bayesian_Autolearning | Bayesian Autolearning]] as described in the [[Email]] page for a full setup. The bare minimum configuration would be:
   −
  yum --enablerepo=smedev,smecontribs,smetest install smeserver-learn
+
using SME9,you should issue this after install ; with SME10 it is not necessary, as it will be done by the installation process.
 +
db configuration setprop spamassassin UseBayes 1
 +
config setprop spamassassin BayesAutoLearnThresholdSpam 6.00
 +
config setprop spamassassin BayesAutoLearnThresholdNonspam 0.10
 +
  config setprop spamassassin UseBayesAutoLearn 0
 +
expand-template /etc/mail/spamassassin/local.cf
 +
sa-learn --sync --dbpath /var/spool/spamd/.spamassassin -u spamd
 +
chown spamd.spamd /var/spool/spamd/.spamassassin/bayes_*
 +
chown spamd.spamd /var/spool/spamd/.spamassassin/bayes.mutex
 +
chmod 640 /var/spool/spamd/.spamassassin/bayes_*
   −
enable Bayes
+
{{Warning box| AS with this contrib you try to take control of the learning processes it is rather advised to not enable the autolearn function. This will reduce the false positive on your SME at a long term, but will need some manual training and collaboration from your users.
  db configuration setprop spamassassin UseBayes 1
+
  config setprop spamassassin UseBayesAutoLearn 0
 +
}}
 +
 
 +
we then suggest you those settings, as default use medium Sensitivity
 +
config setprop spamassassin status enabled
 +
config setprop spamassassin RejectLevel 12
 +
config setprop spamassassin TagLevel 4
 +
  config setprop spamassassin Sensitivity custom
 
  signal-event email-update
 
  signal-event email-update
Don't forget to configure db key according to your needs and expand config file.
     −
=== Documentation ===
+
Don't forget to configure db key according to your needs and expand config file to activate the contrib.
smeserver-learn store all key who need in configuration db : (the > indicate that is a prop and not a key)
+
 
 +
===Documentation===
 +
The smeserver-learn package stores all key values needed in the configuration db. The right angle character, >, indicates that is a prop and not a key. For example, "status" is a property and "enabled, disabled" presents the allowed input values.
    
{|
 
{|
|LearnAsSpam
+
|'''LearnAsSpam'''
 
|Config key for the spam learning part.
 
|Config key for the spam learning part.
 
|-
 
|-
Line 43: Line 63:  
|-
 
|-
 
|>SpamLinks=$string
 
|>SpamLinks=$string
|Allows to create IMAP fakedfolder linked to junkmail folder. Useful for IOS client thant keep using junk folder and do not allow to set another folder. Multiple Links could be entered separated by comas ",". Default is empty ('') for disabled.
+
|Allows to create IMAP fakedfolder linked to junkmail folder. Useful for IOS client thant keep using junk folder and do not allow to set another folder. Multiple Links could be entered separated by comas ",". Default is empty ('') for disabled. More examples follow the table.''
 
|-
 
|-
 
|>DeleteAfterLearn={enabled,disabled}
 
|>DeleteAfterLearn={enabled,disabled}
Line 49: Line 69:  
|-
 
|-
 
|>DelayToMove=$integer
 
|>DelayToMove=$integer
|Get the content of the user's junkmail folder before it is deleted. Useful to get SPAM placed here by the mail client software, not yet learnt. Can only be activated if DeleteAfterLearnis enabled to avoid loop. Default ''0'' for disabled.
+
|Get the content of the user's junkmail folder before it is deleted. Useful to get SPAM placed here by the mail client software, not yet learnt. Can only be activated if DeleteAfterLearn is enabled to avoid loop. Default ''0'' for disabled.
 
|-
 
|-
|>LearnNew={enabled,disabled}
+
|>LearnNew={enabled,junkmail,disabled}
|Learn content of subdir of the read IMAP folder "cur"(disabled) only or also "new" (enabled- where emails are stored before any client connect to download them). Default is ''disabled''.
+
|Learn content of subdir of the read IMAP folder "cur"(disabled) only or also "new" (enabled- where emails are stored before any client connect to download them). With value junkmail this behaviour will be use only for inspecting junkmail IMAP folder. Default is ''disabled''.
 
|-
 
|-
 
|>Uniq={enabled,disabled}
 
|>Uniq={enabled,disabled}
Line 60: Line 80:  
|
 
|
 
|-
 
|-
|LearnAsHam
+
|'''LearnAsHam'''
 
|Config key for the ham learning part.
 
|Config key for the ham learning part.
 
|-
 
|-
Line 84: Line 104:  
|
 
|
 
|-
 
|-
|LearnInWL
+
|'''LearnInWL'''
 
|Config key for the spam of messages' senders in the whitelist learning part.
 
|Config key for the spam of messages' senders in the whitelist learning part.
 
|-
 
|-
Line 108: Line 128:  
|
 
|
 
|-
 
|-
|Learn
+
|'''Learn'''
 
|Config key witch affect script generally
 
|Config key witch affect script generally
 
|-
 
|-
 
|>cron={none,hourly,daily,weekly,monthly}
 
|>cron={none,hourly,daily,weekly,monthly}
 
|do the search never, hourly, daily, weekly or monthly. Default is ''daily''.
 
|do the search never, hourly, daily, weekly or monthly. Default is ''daily''.
 +
|-
 +
|>Exclude=user,list,separated,by,coma
 +
|List of users without the right to use Learn. Default is empty ''""'' for disabled.
 +
|-
 +
|>Include=user,list,separated,by,coma
 +
|List of user who has the right to use Learn. Override Exclude list. If not empty, only these users will have access to Learn. Default is empty ''""'' for disabled.
 +
|-
 +
|>Verbose={enabled,disabled, active}
 +
|default is enabled. Active will only report users with activity, disabled will not report.
 
|}
 
|}
   Line 119: Line 148:  
   config setprop LearnInWL status enabled
 
   config setprop LearnInWL status enabled
   −
One config file is modified : /etc/crontab who need to be expand if prop Learn>cron is modified.
+
Individual configuration is also possible for users with the SpamLinks property
 +
db accounts setprop MYUSER SpamLinks junks,junker
 +
 
 +
One config file is modified : /etc/cron.d/Learn who need to be expand if prop Learn>cron is modified with the following.
 +
signal-event email-update
 +
 
 +
also the following should be sufficient:
 +
 +
expand-template /etc/cron.d/Learn
   −
=== Setup Bayesian Autolearning ===
+
===Setup Bayesian Autolearning===
 
You'll also have to setup [[Email#Bayesian_Autolearning | Bayesian Autolearning]] as described in the [[Email]] page.
 
You'll also have to setup [[Email#Bayesian_Autolearning | Bayesian Autolearning]] as described in the [[Email]] page.
   −
=== Automatic creation of folders ===
+
===Automatic creation of folders===
A script posted in the forum by Cactus [http://forums.contribs.org/index.php/topic,38891.msg198432.html#msg198432] and sent to me by Amir Inbar can be used to create all folders (in skel for futures users and in the existings users too :
+
this is not necessary anymore, if you keep the Uniq property enabled. For reference, the script previously here is kept in discussion.
# create skellaton for new users :
+
 
+
===Example of configuration===
mkdir -p /etc/e-smith/skel/user/Maildir/{.LearnAsHam/{cur,new,tmp},.LearnAsSpam/{cur,new,tmp},.LearnInWL/{cur,new,tmp}}
+
 
+
I like to have my learning folder as subdir of junkmail folder. My Thunderbird clients are set to use junkmail folder to put what they find to be a SPAM, but my iOS client wants to use Junk and I do not want to check myself multiple folders. My SME is set to to delete the content of junkmail after 30 days (config getprop spamassassin MessageRetentionTime), but I want  the content of junkmail folder to be used to learn before deletion (15 days) leaving me time to find false positives to move them to junkmail.not_a_spam or moving them myself to junkmail.junkmail.learn. I keep Uniq enabled to have the IMAP folder created automatically even if users delete them again and again. I do not want junkmails that never were downloaded by any client be used to learn, so I keep LearnNew as disabled.
# create folders for existing users :
+
  config setprop LearnAsSpam status enabled DeleteAfterLearn enabled DelayToMove 15 SpamLinks Junk dir junkmail.junkmail_learn Uniq enabled
+
 
pushd /home/e-smith/files/users/; \
+
I want to be able to remove badly placed SPAM tag when moved to junkmail.not_a_spam and have them back in my inbox without any new tag.
for u in `ls | grep -v admin`; \
+
  config setprop LearnAsHam status enabled dir junkmail.not_a_spam tag "" RemoveSPAMTag enabled Uniq enabled
do \
  −
mkdir -p $u/Maildir/.LearnAsHam/{cur,new,tmp}; \
  −
chown -R $u:$u $u/Maildir/.LearnAsHam/; \
  −
  mkdir -p $u/Maildir/.LearnAsSpam/{cur,new,tmp}; \
  −
chown -R $u:$u $u/Maildir/.LearnAsSpam/; \
  −
mkdir -p $u/Maildir/.LearnInWL/{cur,new,tmp}; \
  −
  chown -R $u:$u $u/Maildir/.LearnInWL/; \
  −
done; \
  −
popd
     −
Thanks to them.
+
Finally, I want my SME to learn every hour.
 +
config setprop Learn cron hourly
 +
signal-event email-update
   −
=== Uninstall ===
+
===Uninstall===
 
Simply do :
 
Simply do :
 
  yum remove smeserver-learn
 
  yum remove smeserver-learn
   −
=== Source ===
+
===Bugs===
The source rpm for this contrib can be found at [http://sme.firewall-services.com/downloads/learn/srpms/ here].
  −
 
  −
=== Bugs ===
   
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 
and select the smeserver-learn component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-learn|title=this link}}.
 
and select the smeserver-learn component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-learn|title=this link}}.
 
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-learn|noresultsmessage="No open bugs found."}}
 
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-learn|noresultsmessage="No open bugs found."}}
<noinclude>[[Category: Contrib]]</noinclude>
+
 
<noinclude>[[Category: Mail]]</noinclude>
+
 
<noinclude>[[Category: Administration:Content Spam Virus Blocking]]</noinclude>
+
===Changelog===
 +
Only released version in smecontrib are listed here.
 +
 
 +
{{#smechangelog: smeserver-learn}}
 +
 
 +
<noinclude>
 +
[[Category: Contrib]]
 +
</noinclude>
 +
<noinclude>
 +
[[Category: Mail]]
 +
</noinclude>
 +
<noinclude>
 +
[[Category: Administration:Content Spam Virus Blocking]]
 +
</noinclude>
Super Admin, Wiki & Docs Team, Bureaucrats, Interface administrators, Administrators
3,250

edits

Navigation menu