This works for me, and I know a few others are using it. Otherwise, it's not been heavily tested. Use with caution.
Using these requires the hashcash tool be installed in your path.
Aug 7, 2004: Should work with multi-line v1 stamps and recover better from crashes.
Jun 24, 2004: Removed a check that should have been for debugging only. It was causing hashcash-sendmail to hang 45 seconds on start.
Jun 11, 2004: More completely separates from parent process. Uses SIGUSR1 for IPC instead of SIGHUP.
Jun 2, 2004: Bitconf can specify an arbitrary resource for any address. Works better with v1 stamps.
Apr 12, 2004: Fix a bug related to the new Recieved: header I insert (thanks to Jason Mastaler for finding it).
Apr 6, 2004: Uses premade tokens at queue time if it can. Fixed a couple bugs (one crash, one infinite loop).
Apr 2, 2004: Fixed a bug that made the daemon hang sometimes (I think). Better error handling when sendmail is unhappy. Fixed a bug where premade tokens would clobber each other. Add a Received: line on the way through. Log hostname and RCS ID when the daemon starts.
I use this program to add hashcash to my outgoing mail. I wrote it because my chosen mail reader (Mutt) doesn't support hashcash directly and with a simple filter, I'd have to wait while the hashcash is generated. With this, my message goes into a queue for processing and later delivery, but I don't have to wait for it before going on to the next email.
Feel free to contact me with feedback.
There are two important steps, and some other steps that are not so important.
You'll minimally need hashcash-sendmail. You can also use hashcash-request, but everything works fine without it. I'm using these with Perl 5.6.1 at home, and I've heard they work with Perl 5.8 as well.
hashcash-sendmail mimics sendmail, so you only need to tell your mailer that it is sendmail, and it should all work.
Add this line to your .muttrc:
set sendmail='hashcash-sendmail -i'
If you already use TMDA, and you want TMDA to add hashcash to all your outgoing mail, add these lines to your .tmda/config:
MAIL_TRANSPORT = "sendmail" SENDMAIL_PROGRAM = "hashcash-sendmail"
Go to Settings --> Configure KMail --> Network --> Sending Mail
I don't see a way to get Mozilla mail to do anything but SMTP.
I could tell Evolution (1.4.5) to use sendmail instead of SMTP, but I couldn't see a way to tell it to use anything but the system sendmail.
I've tried the above myself, and they work for me. Please contact me or the hashcash-list if you've tested hashcash-sendmail with other mailers. Since TMDA uses the same "sendmail wrapper" method, it has a nice Client config page with instructions for other mailers. Skip down to the "Mail User Agent (MUA) configuration" section.
The hashcash-sendmail script produces 20 bit stamps by default. This is
a good
default. If you want change that, create a file called
~/.hashcash/bitconf. Syntax for the file is regexp:bits:nice
where regexp matches email addresses, bits is how many bits to create for
those recipients and nice is nice level to use on the hashcash process so
it doesn't slow down other processes. The first line that matches the
outgoing email address is what's used. If you put a line like this at the
end, it will match everything that wasn't matched before:
^:20:19
That instructs the hashcash-daemon to create 20 bit stamps and be very nice (-19).
Contact me with success stories and/or bug reports. The more I hear that people are using this successfully, the more likely I am to take the big "ALPHA" marker off these things. Then even more people will use them. I'm especially interested if you've used it to send mail from some mailer that is not already listed.
These mailers have been configured to use hashcash-sendmail as their sendmail, and it's worked for them. If you got it working with anything else, please let me know.