@iexec/web3mail
Version:
This product enables users to confidentially store data–such as mail address, documents, personal information ...
70 lines (43 loc) • 1.98 kB
Markdown
<p align="center">
<a href="https://iex.ec/" rel="noopener" target="_blank"><img width="150" src="./logo-iexec.png" alt="iExec logo"/></a>
</p>
<h1 align="center">Web3mail</h1>
**Web3mail** offers developers methods to create apps that:
- enable an entity (such as a (d)app provider or an end-user) to email an Ethereum account holder without knowing her/his email address
- eliminate the need for end-users to share their email address with multiple third-parties, reducing the risk of data breaches and spam.
Web3mail is composed of 2 methods:
- **fetchMyContacts** — that enables an entity to retrieve a list of Ethereum accounts whose owners have authorized the entity to email them
- **sendEmail** — that allows an entity to email a user (previously fetched via the fetchMyContacts method) knowing only her/his Ethereum account.
<div align="center">
[](https://www.npmjs.com/package/@iexec/web3mail)[](/LICENSE)
</div>
Web3mail is available as an [npm package](https://www.npmjs.com/package/@iexec/web3mail).
**npm:**
```sh
npm install @iexec/web3mail
```
**yarn:**
```sh
yarn add @iexec/web3mail
```
```ts
import { IExecWeb3mail } from "@iexec/web3mail";
const web3Provider = window.ethereum;
const web3mail = new IExecWeb3mail(web3Provider);
```
```ts
import { IExecWeb3mail, getWeb3Provider } from "@iexec/web3mail";
const { PRIVATE_KEY } = process.env;
const web3Provider = getWeb3Provider(PRIVATE_KEY);
const web3mail = new IExecWeb3mail(web3Provider);
```
- [Web3mail documentation](https://tools.docs.iex.ec/tools/web3mail)
- [Web3mail technical design](./technical-design/index.md)
- [iExec Protocol documentation](https://protocol.docs.iex.ec)
This project is licensed under the terms of the [Apache 2.0](/LICENSE).