Mail::SpamAssassin::Plugin::Hashcash − perform hashcash verification tests


  loadplugin     Mail::SpamAssassin::Plugin::Hashcash


Hashcash is a payment system for email where CPU cycles used as the basis for an e−cash system. This plugin makes it possible to use valid hashcash tokens added by mail programs as a bonus for messages.


use_hashcash { 1 | 0 } (default: 1)

Whether to use hashcash, if it is available.

hashcash_accept ...

Used to specify addresses that we accept HashCash tokens for. You should set it to match all the addresses that you may receive mail at.

Like whitelist and blacklist entries, the addresses are file-glob-style patterns, so "", "*", or "*" will all work. Specifically, "*" and "?" are allowed, but all other metacharacters are not. Regular expressions are not used for security reasons.

The sequence %u is replaced with the current user’s username, which is useful for ISPs or multi-user domains.

Multiple addresses per line, separated by spaces, is OK . Multiple "hashcash_accept" lines is also OK .

hashcash_doublespend_path /path/to/file (default:

Path for HashCash double-spend database. HashCash tokens are only usable once, so their use is tracked in this database to avoid providing a loophole.

By default, each user has their own, in their "~/.spamassassin" directory with mode 0700/0600. Note that once a token is ’spent’ it is written to this file, and double-spending of a hashcash token makes it invalid, so this is not suitable for sharing between multiple users.

hashcash_doublespend_file_mode (default: 0700)

The file mode bits used for the HashCash double-spend database file.

Make sure you specify this using the ’x’ mode bits set, as it may also be used to create directories. However, if a file is created, the resulting file will not have any execute bits set (the umask is set to 111).

More Linux Commands

Tcl_FSEvalFileEx(3) - procedures to interact with any filesy
There are several reasons for calling the Tcl_FS API functions (e.g. Tcl_FSAccess and Tcl_FSStat) rather than calling system level functions like access and sta

keyctl(1) - Key management facility control - Linux man page
This program is used to control the key management facility in various ways using a variety of subcommands. KEY IDENTIFIERS The key identifiers passed to or ret

XkbSARedirectVMods(3) - Returns the vmods0 and vmods1 fields
XkbSARedirectVMods.3 - Actions associated with the XkbRedirectKeyAction structure generate KeyPress and KeyRelease events containing a keycode different from th

manpages/ - Message of the day information for readers...
This file, found in pathetc/, contains local information for news readers in a free-form format. The entire file is returned verbatim to any client tha

log10(3) - base-10 logarithmic function - Linux manual page
The log10() function returns the base 10 logarithm of x. RETURN VALUE On success, these functions return the base 10 logarithm of x. For special cases, includin

outb(2) - port I/O (System calls - Linux man page)..........
outb.2 - This family of functions is used to do low-level port input and output. The out* functions do port output, the in* functions do port input; the b-suffi

localedef(1) - compile locale definition files (Man Page)...
The localedef program reads the indicated charmap and input files, compiles them to a binary form quickly usable by the locale functions in the C library (setlo

dracut.bootup(7) boot ordering in the initramfs (Man Page)
This flow chart illustrates the ordering of the services, if systemd is used in the dracut initramfs. systemd-journal.socket | v dracut-cmdline.service | v drac

Tk_SetClassProcs(3) - register widget specific procedures...
Tk_SetClassProcs is called to register a set of procedures that are used as callbacks in different places. The structure pointed to by procs contains the follow

io_submit(2) - submit asynchronous I/O blocks for processing
The io_submit() system call queues nr I/O request blocks for processing in the AIO context ctx_id. The iocbpp argument should be an array of nr AIO control bloc

curl_easy_reset(3) - reset all options of a libcurl session
Re-initializes all options previously set on a specified CURL handle to the default values. This puts back the handle to the same state as it was in when it was

ldap(3) - OpenLDAP Lightweight Directory Access Protocol API
The Lightweight Directory Access Protocol (LDAP) (RFC 4510) provides access to X.500 directory services. These services may be stand-alone or part of a distribu

We can't live, work or learn in freedom unless the software we use is free.