I really like the ENS mailbox feature of ethmail.cc (where your ENS name can be used as an email address), but it only works if you have reverse-resolution setup, and I don’t like that it forces use of the Roundcube webmail interface (I already have too many email boxes to look at). Since ENSIP-5 supports email text records in the ENS resolver, I thought it would be cool to use the email record as a forwarding address to which ENS addressed emails are sent. As a fun project, I built the ensmail.org ENS email forwarding service
I own royalfork.eth
, and set my ENS email record to ens@royalfork.org
. With this service, any email sent to royalfork@ensmail.org
will be auto-forwarded to ens@royalfork.org
. This works with any ENS user who has an email text record set in their ENS domain’s resolver.
Sending:
Resolution:
All code can be found at GitHub - royalfork/ensmail: Email for the Ethereum Name Service (the README has documentation on how it all works).
This is still very much a “proof of concept”. It only supports “.eth” second-level domains, so non-eth domains or subdomains are not yet working. It runs on a normal cloud host with no “outgoing mail reputation”, so don’t be surprised if messages land in spam. I haven’t set up “bounce messages”, so you might not receive all notifications on failures (depending on how your email service works). I’d like to eventually add:
- Easy end-to-end encrypted emails based on ethereum keys
- Full support for emoji email addresses:
@ensmail.org
- Privacy mode (register your forward mail without setting text/email record)
- Enable sending mail from ensmail.org domain (perhaps with private metadata)
- Maybe imap and webmail interfaces?
I welcome any ENS user with an email record to try it out! (and please let me know if something breaks). Any feedback/ideas/comments/suggestions are much appreciated.