Anyways, here's my idea based on your idea OP.
1) I want to send a message. I sign an email with a key that has control of a certain number of satoshis, then I encrypt the email with your public key.
2) I make a transaction spending to a script. The script gives me a refund if either 48 hours have passed, or 2 of 3 signatures sign it. Otherwise, if another set of 2 of 3 signatures sign it (these keys are used solely to indicate that it is spam) it spends to a charity address. The mediator address is chosen from either a web of trust or a mutually recognized authority.
3) I send you the signed encrypted email along with the script.
4) Before opening the email, your client automatically verifies that it has been signed by the signature of someone who just spent the threshold number of coins to the script that your received.
5) If it is spam, you can prove it using their signed message and you and the mediator will both sign it and give money to charity. Otherwise, you can click "not spam" and give him a refund, or just wait 48 hours.
Yes, that would work better. Another (similar) suggestion is to use a 1-of-2 address, with a key of the recipient and your own. I can take back the coins at any moment, but this will revert the "trusted" status of my message if I do it before the mail has been read and processed by the recipient. If they take the coins, then everyone can verify in the blockchain that it was indeed the recipient who took the coins - and thus if I feel unfairly treated because it is not spam, I can make the message public to show everyone that the recipient took the coins nevertheless. Or even the other way round, every time someone takes coins, they "should" publish the message so everyone can see it is indeed spam.
Of course, this won't prevent cheating, but snatching up coins too often will hurt your reputation; thus trusted people won't do that.