Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

spamassassin-client

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spamassassin-client

SpamAssassin client, that lets you check if an email is spam or ham.

latest
Source
npmnpm
Version
1.3.0
Version published
Maintainers
1
Created
Source

node-spamassassin-client

Test and Build Build and Release NPM Downloads

SpamAssassin client, that lets you check if an email is spam or ham.

This library aims at being as correct and lightweight as possible, built as an alternative to all other SpamAssassin client libraries which are 10+ years old, unmaintained and buggy.

All functions in this library return Promise objects. TypeScript definitions are also provided.

🇸🇮 Crafted in Ljubljana, Slovenia.

Who uses it?

CrispYournotify

👋 You use spamassassin-client and you want to be listed there? Contact me.

How to install?

Include spamassassin-client in your package.json dependencies.

Alternatively, you can run npm install spamassassin-client --save.

How to use?

Check if an email is spam

1. Create a client

var SpamAssassinClient = require("spamassassin-client").SpamAssassinClient;

var spamAssassin = new SpamAssassinClient({
  host : "127.0.0.1"
});

2. Check an email

spamAssassin.check(message)
  .then(function(result) {
    // (Handle result here)
  })
  .catch(function(error) {
    // (Handle error here)
  });

Tunnel to a remote SpamAssassin

If you need to test this library on your local computer, while using a remote SpamAssassin instance, you can easily open a SSH tunnel to this instance:

ssh -L 127.0.0.1:783:[remote_spamd_ip]:783 root@[remote_ssh_hostname]

You will need root permissions to bind to 783 on your local machine, so you might need to sudo.

👉 Make sure to replace [remote_spamd_ip] and [remote_ssh_hostname] with the IP address SpamAssassin is listening on, and your server hostname.

Available options

Those options can be passed when constructing a new SpamAssassinClient instance:

  • host: the hostname or IP address of the SpamAssassin server (defaults to 127.0.0.1);
  • port: the port of the SpamAssassin server (defaults to 783);
  • timeout: the timeout in seconds of the socket connection to the SpamAssassin server (defaults to 10);

Available methods

Those methods can be called on a SpamAssassinClient instance:

  • spamAssassin.check(message): checks an email for spam, returns Promise<{ score, spam }>;
  • spamAssassin.symbols(message): checks an email for spam and get its symbols, returns Promise<{ score, spam, symbols }>;
  • spamAssassin.report(message): checks an email for spam and generate a report, returns Promise<{ score, spam, report }>;
  • spamAssassin.ping(): checks for the SpamAssassin connection health, returns Promise<{}>;

Note that all methods also return the code and message properties. Also, it is preferred to pass a Buffer type as the input value for the message parameter, although a string also works.

Keywords

spamd

FAQs

Package last updated on 26 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts