Another anti-spam technology was proposed by Adam Back on the cypherpunks mailing list. You would add a new header to your mail which proved that you had done a large computation that was specific to that message. For example, take the recipient, the subject, and the date, and then encrypt them with a random key. Take the output of that and encrypt again, and repeat this step 1,000,000 times. Put the resulting value and key in the mail header.
The recipient's mail agent can reproduce the calculation and verify that everything checks out. Otherwise the mail is rejected as spam (deleted or at least filtered into a special bin where you can glance at it later before deleting).
(The full idea is somewhat more complex in terms of dealing with mailing
lists, etc. But there are ways of handling these extra details.)
The calculation takes only a second or so per piece of email, so it is an insignificant cost for most users. But spammers who send out thousands of emails must now customize each one with separate headers and a separate computation. The total computational costs for them are much higher and it automatically puts a limit on how much spam they can afford to send.
Unlike micropayment schemes, this approach does not require a banking system or any trusted third parties. All it takes is agreement on the specific protocol to use for calculating the special header, and for the spam problem to grow bad enough that people bother to implement the needed code.