Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Intelligent Junk Mail Handler

License

NotificationsYou must be signed in to change notification settings

carlostrub/sisyphus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

As we all know too well, many mails we receive are undesired for variousreasons. Sometimes, we just do not want to be part of a scam, sometimes wereally prefer no to have this latest joke mail sent by our beloved friends --even though we are happy to exchange serious messages with them.

Sisyphus is a junk mail handler of the latest generation. It has thefollowing features:

  • requires zero configuration, neither on the server nor on the client
  • works with any MTA and any client
  • learns about your preferences based on all messages in your inbox and yourjunk folder
  • can handle multiple mail accounts with independant junk mail preferences
  • requires minimal resources, e.g. learning over 50000 mails and keeping track of roughly 90000 words requires only 10MB of storage

Build StatusGo Report CardGoDocDocumentationCodebeatCoverageQuality Gate Status

How it works

Sisyphus analyzes each mail in the inbox and the junk folder and uses itssubject and text to improve the learning algorithm. Whenever a new mail arrivesin theMaildir/new directory, Sisyphus classifies this mail based on itscontent. Junk mails are then moved automatically to theMaildir/.Junkdirectory, while good mails are left untouched. See the followingblogpost on a rather non-technicalexplanation.

Technically, Sisyphus applies a classicBayesian Updatealgorithm to classify mails.However, in contrast to many traditional junk mail filters, classification isbased on all mails ever received. This includes mails that are classified bythe user as junk by moving them manually into the junk folder, or mails thathave been correctly classified by Sisyphus previously. This is only possiblewith limited resources by applying theHyperLogLogalgorithm to store the learnedmails.

The learned information is stored in a local database calledsisyphus.dbwhich is located in eachMaildir directory.

Install

Sisyphus can be installed by downloading the releasedbinarypackage.

To build from source, you can

  1. Clone this repository into$GOPATH/src/github.com/carlostrub/sisyphus andchange directory into it
  2. Runmake build

This will leave you with./sisyphus in thesisyphus directory, which youcan put in your$PATH. (You can also take a look atmake install to installfor you.)

Usage

First, set the environment variable necessary for operation:

$ setenv SISYPHUS_DIRS PATHTOMAILDIR

or

$ export SISYPHUS_DIRS=PATHTOMAILDIR

or for Windows

$ set SISYPHUS_DIRS=PATHTOMAILDIR

For all other configuration options, please consult the help. It canbe started by running

$ sisyphus help

To start sisyphus, do

$ sisyphus run

To display various statistics, do

$ sisyphus stats

(caveat: run at least one learning cycle)

See the help for more details.

License

Sisyphus is licensed under the 3-Clause BSD license. See the LICENSE file fordetailed information.


[8]ページ先頭

©2009-2025 Movatter.jp