# encrypted mail?
March 2023
You wish to write to [some user](/r/demo/users) privately, but you don't have his email.
What if you could use his known Gno address for that? To avoid spam, you would have to pay for stamps.
*(The following is a fake form:)*
---
Recipient address <input type="text">
Subject <input type="text">
Body <textarea cols=16 lines=6></textarea>
Stamps
<input type="radio" name="stamp" value="0.5" selected> 0.5 GNOT (public, anybody can see on the blockchain, no encryption)⁺
<input type="radio" name="stamp" value="1" selected> 1 GNOT (encrypted with recipient pubkey, for full security use last option)
<button>Send</button>
---
⁺ (*perhaps* messages should not be public:
1. it would be too easy to diffamate or insult someone like that.
2. the mailbox belongs to a user, a public and undeletable message from someone else is a liability to that user. Liability is not a feature.)
Two things:
* Whatever the message is, the Body is going to be sent, so message needs to be encrypted using the public key on the client itself.
* How can the receiver of an encrypted message use its wallet to decrypt?
## No spam
* ✓ **initial contact fee**: The first time a user receives a message from strangers, he must pay a minimal amount by that stranger. This is another way not to be spammed. In that case, if a spammer sends a message, the recipient can retain its money, meaning the spam is less of a nuisance.
> Whenever Oscar sends a message for the 1st time to Bob, he must pay an initial contact fee. As soon as Bob has read Oscar's message, Oscar will be added to Bob known contacts. He can always be blocked by Bob later. In any case Bob doesn't need to pay an initial contact fee.
# Implementation
The public mail idea was already partially implemented in https://github.com/gnolang/gno/pull/641