node-spamd

SpamAssassin message evaluator for node.js

Usage no npm install needed!

<script type="module">
  import nodeSpamd from 'https://cdn.skypack.dev/node-spamd';
</script>

README

Spamd (SpamAssassin) client for node.js

This library use sockets to send a message to SpamAssassin daemon for evaluation.

Based on the SpamAssassin plugin from Haraka.

Usage

var Spamd = require("node-spamd");
var spamd  = new Spamd(sender, receiver, host, port);

spamd.evaluate(subject, message, function(res, err){

    if(err) {
        console.log(err);
    } else {
        if(res.spam) {
            console.log('The message is Spam, is evaluated with ' + res.evaluation + " points in a maximun of " + res.allowed);
        }else{
            console.log('The message is not Spam, is evaluated with ' + res.evaluation + " points in a maximun of " + res.allowed);
        }
    }
});

sender: Sender e-mail address/user. Default value: root
receiver: Receiver e-mail address/user. Default value: root
host: Spamd address. Default value: localhost
port: Spamd port. Default value: 783
subject: String containing the message subject.
message: String containing the message body.

Return value

The method returns an object, with the following attributes:

spam = true or false. Indicates the result of SpamAssassing analysis.
evaluation = Number or points or hits, that the message has obtained.
allowed = Configured minimal required points for SpamAssassin mark the message as SPAM. This is a spamd setting.

TODO

  • document source code;
  • real documentation;
  • jsHint standards.

License

Copyright (C) 2012 Humantech

Distributed under the MIT License, the same as Node.js.