
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
spamassassin-client
Advanced tools
SpamAssassin client, that lets you check if an email is spam or ham.
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.
![]() | ![]() |
| Crisp | Yournotify |
👋 You use spamassassin-client and you want to be listed there? Contact me.
Include spamassassin-client in your package.json dependencies.
Alternatively, you can run npm install spamassassin-client --save.
var SpamAssassinClient = require("spamassassin-client").SpamAssassinClient;
var spamAssassin = new SpamAssassinClient({
host : "127.0.0.1"
});
spamAssassin.check(message)
.then(function(result) {
// (Handle result here)
})
.catch(function(error) {
// (Handle error here)
});
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.
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);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.
FAQs
SpamAssassin client, that lets you check if an email is spam or ham.
We found that spamassassin-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.