Emails processing system based on ethereum contracts

mathias1974mathias1974 Posts: 4Member
The system helps to organize priority delivery between mail servers and their users. E.g. mails can be marked as "priority" in inbox.
It can also work as a blocking filter from unwanted mailings.

github repository:

How it works:

Host going to send an email to host needs to make a deposit ETH/ETC to contract of host for open a "trusted channel". Each channel has a size = the number of allowed emails per hour, eg 100 emails/hr. Size depends from a deposit amount.

Host can lock this channel and it's deposit.

Trusted channel have infitity life cycle before it will be closed or locked. It means you can open channel for 200 emails/hr and send there within a years with such speed, but if you start to send not an "important" emails - deposit will be locked.

Admin of can unlock and return deposit to manually, in case if there was some mistake.
In other case deposit goes to cover transaction fees of "positive closed channels" or to the ethereum developers. In other words - locked deposit will be burnt or send as a donation to someone (who is not an interested party at all). (sender) pays additional amount = transaction fee to close a channel. When the recipient ( blocks a channel and spends a fee for such transaction - the same reserved amount is returned to its public key at the same call. This makes the process of locking channel free for host

One host have one contract address for all incomming emails(hosts).

Have a look on to this contract - it is an ID created for only my smtp server:

Here was opened two channels for 100 emails/hr:

one for 300 emails/hr:

one for 600 emails/hr:

then one for 800 emails/hr:

Then the second channel was locked:

In the transaction above "TRANSFER 0.00023529 Ether to ... " equally "Actual Tx Cost/Fee: 0.00023529 Ether"

Transaction fee cost was returned to admin public key - for recipient admin this action was free:


It's a plugin for Haraka smtp server. Haraka works as a filtering MTA for other servers (Postfix etc)
Sign In or Register to comment.