Ethmail.cc

Grzegorz Kapkowski
Cryptoverse
Published in
7 min readMar 11, 2019

Mailbox for every Ethereum address

Introduction

For a while now I’ve been working on various products that enabled new ways of communication between Ethreum users and token holders. Previously I focused on building new interfaces, new websites where used could send their messages to each other using Ethereum Wallet or even NFT token login schemes. Again and again we strayed further from using blockchain as a storage layer.

ETHMail is part of next generation of those products. This time my focus was to reuse already existing interfaces/apps but still provide a service that could benefit from using blockchain data in information filtering and access control. Ok, but what exactly is ETHMail?

ETHMail

ETHMail is in technical terms an email server. It’s very similar to what many of you could setup yourself or to email servers provided along with custom hosting and servers. The difference is that ETHMail has customizations allowing it to authenticate users with their Ethereum Wallets and does not require any registration or creating an account.

I’ve compiled a simple list of Is/IsNot for people who like lists.

ETHMail Is:

  • Email service that stores your emails on its servers
  • Email service that allows you to login to your mailbox using your Ethereum Wallet
  • Email service you can use with most existing email clients (desktop/mobile)

ETHMail Is NOT:

  • Decentralized email service that stores email on the blockchain
  • P2P network of nodes exchanging emails between each other
  • Requiring you to install any special (aside of normal email desktop/mobile client) software to send/receive emails

I hope this give you a picture of what ETHMail is. Now I wanted to tell you of what it can or will be able to do.

Use cases

Communication tool for Dapps

ETHMail can be used as notification tool for any Dapps which don;t want to force their users to reveal their private email to Dapp itself.

As a Dapp developer you can reach all users that allowed you to see their Ethereum address. You don’t need to ask for their email addresses.

For users it means better privacy and that all communication related to their Ethereum address can be kept in one place.

Email anyone on the blockchain

With ETHMail you can leave messages for anyone you’ve found on blockchain explorers/Dapps.

If You saw some interesting address/transaction/contract, you can email that addresses and ask questions/propose trades/etc.

The person/address you are emailing doesn’t have to be using (or even heard about) ethmail yet. Your email will wait for their first login and will appear in their inbox when they do.

See if anyone is interested in your tokens/contracts

Since anyone can send an email to your address you might have email waiting for you even now.

Maybe the NFT tokens you have are interesting to someone?

Maybe the contracts you deployed look similar to what some startup wants to do and they want to hire you?

Verify who is emailing you

Emails sent to your inbox from ETHMail accounts will be directly connected with given Ethereum address so you can instantly verify the transaction history or economic incentives behind the sender using blockchain explorer.

(I’ll be experimenting in making this process more accessible and straightforward. ETHMail spam filter will be based largely on information read from the blockchain. For now, unfortunately, you need to verify senders manually)

If you see that their address has zero activity, you can probably assume that it’s a scam. Or that this address was related to some hack or scam transactions.

How to use ETHMail

ETHMail will work with any email client supporting IMAP and SMTP protocols (nearly any email client supports them now)

Configuration tutorial can be found https://ethmail.cc/ but it boils down to:

  1. Generate mailbox password for your address
  2. Use email (0xYoUrAdDrEsS@ethmail.cc) and generated password to configure email client of your choosing.

After that you can send emails as you always do.

NOTE: Because senders address from ETHMail looks more or less as a random string many email servers are marking their emails as spam. I’m reading on how to prevent this. ETHMail has implemented latest security protocols for email communication and spam prevention (DMARC) but it still lacks high domain/IP reputation scores used by email severs around the world.

Development Plans/Possibilities

ENS integration (WIP)

This is a feature many people experimenting with ETHMail asked for.

Apart form simply supporting ENS names like providing aliases: mysimplename.ens (0x123) -> mysimplename@ethmail.cc

I wanted to provide ability for .xyz domains/subdomains to be used with ETHMail:

name.mywallet.ens -> name@mywallet.xyz

I’m not sure I’ll be able to provide this feature as a whole but I imagine it would be quite use full for dapps and wallets.

(Contact me if you would like to be a tester)

Automatic Email Encryption (WIP)

This is large topic, email encryption is already possible using ETHMail but the service itself doesn’t help you with setup in any way. You can install GPG extensions and generate your keys but it’s quite complex process.

I’m thinking about making this automated so that even the first email send to new mailbox will be automatically encrypted before it’s even sent. (Possibly using dynamic https://wiki.gnupg.org/WKD but I’m exploring other options from partners who reached out to me)

It will take some time. Please refer to your client supported encryption mechanisms to see if you can set it up yourself.

Crypto-Economic email/spam filtering

I want to add token/blockchain based filtering mechanisms that will be configurable per mailbox.

Some initial filtering ideas are:

  • Personal tokens — allow only messages from people who hold given ERC20(or other) tokens. Split message to folders based on amounts like “Important >1000”, “Normal >100”, “Spam <100”
  • ERC20/ERC721/Other — allow only messages that have specific combination of amounts of tokens eg. “>10SNT, >100ETH, <10XYZ”
  • Time based filters — allow only message from addresses with history of transaction of more than 6 months
  • Transactions based filters — allow message only from addresses with/without specific transactions (eg. transaction with given contract or address)
  • Contract based filters — Other contract based filters are possible. eg. multisig newsletter, filters based on contract content/properties.

This kind of economic filtering has been my focus since the creation of Userfeeds and Tok’n’talk. I believe that using transaction history and other data from the blockchains will enable much more precise information filters to emerge in the next couple of years.

Contract based subscriptions/newsletters

Newsletter/Membership contracts that will allow owner of such contract to send email according to contract mechanics, it could mean any holder of token in case of ERC20/ERC721 or custom address list in case of custom contract.

Subscription/Membership mechanism could be freely designed taking into account individual requirements of given group of people or the owner.

Some contracts could require constant fee while others would be free to join. Others might add/remove members arbitrarily or use some oracle systems.

Contact me if you have ideas on how this mechanism could benefit you, and how it would be best integrated into your existing systems/products.

Ramp.Network Integration

(For p2p exchange from from fiat to crypto using trust minimized system)

I’m working with Ramp.Network on ways to integrate fiat-to-crypto exchange using p2p system. This would allow you to buy/sell tokens using only ETHMail and trustless escrows with direct payments between participants of the transaction.

NFTs as first class citizens

Since long time I was exploring using NFTs as identities or avatars for people. Now I’ll be able to provide something more, direct and transferable communication channel to NFT owners. Each NFT can have it’s own mailbox that can be accessed at a given time only by owner of given NFT. If you transfer NFT all mailbox access rights are transferred with it.

Whisper integration

I imagine this would most benefit dapp developers or people who don’t want to reveal their IP address to email server.

This integration would allow whisper messages to given node to be converted to emails, and the other way around, allowing communication using those two protocols.

Sending whisper message (with proper content!) to given converter node would push it via SMTP protocol to appropriate recipient. (I think it would be possible to even send those messages to emails outside ETHMail)

Sending email to given address would convert it to whisper message and push it along the whisper network to appropriate node.

Payment Links

(I’m not sure about this functionality as it requires unencrypted emails and has high scamming potential)

ETHMail server could create payment links with ready to send transactions by converting common phrases like ‘send me 10ETH’ or ‘send 10ETH to 0x123’.

The recipient would see those phrases as clickable links and when clicked it would transport her/him to page where the transaction would be ready for confirmation using his wallet.

This way burden of specifying transaction details would lay on the sender of the message.

Payment channels

Sending email to couple of recipients along with special address (eg. “pc@ethmail.cc”), wuld open new payment channel for those recipients and allow token exchange via simple text messages like “Pay 10 to 0x123”.

IPFS integration

This is more technical direction. Emails themselves or attachments could be stored on IPFS.

I’m not yet aware of specific use cases of who would use it right now, so if you desperately want this, let me know and we can start working on it.

Call For Testers/Integrations

If you want to start using ETHMail you can just got to https://ethmail.cc/ or reach out to me and I’ll guide you through the process of creating your access keys and accessing your mailbox.

If you have ideas on how you could benefit more from your crypto-mailbox let me know, I’m in the process of gathering initial feedback and your ideas are an inspiration for new features.

Developers/Companies

Please reach out to me if you would like to use ETHMail in your business or project. We can discuss available integration options.

Contact

You can contact me via:

Email: 0x3b4361d03567a941877299f49b938f050c468651@ethmail.cc

Twitter: @xunkulapchvatal

--

--