# puppeteer-email-provider

> Abstract base class for puppeteer email providers.

Latest version **0.0.5** (published 2018-05-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install puppeteer-email-provider
pnpm add puppeteer-email-provider
yarn add puppeteer-email-provider
bun add puppeteer-email-provider
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2018-05-21 |
| First published | 2018-05-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8 |
| Dependencies | 0 |
| Unpacked size | 9.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 167 |
| Author | Travis Fischer |
| Maintainers | fisch0920 |
| Keywords | puppeteer, email |

## Links

- npm: https://www.npmjs.com/package/puppeteer-email-provider
- Repository: https://github.com/transitive-bullshit/puppeteer-email
- npm.io page: https://npm.io/package/puppeteer-email-provider

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 0.0.5 (latest) — 2018-05-21
- 0.0.4 — 2018-05-15
- 0.0.3 — 2018-05-14
- 0.0.2 — 2018-05-09
- 0.0.1 — 2018-05-09

## README

# puppeteer-email-provider

> Abstract base class for puppeteer email providers.

[![NPM](https://img.shields.io/npm/v/puppeteer-email-provider.svg)](https://www.npmjs.com/package/puppeteer-email-provider) [![Build Status](https://travis-ci.com/transitive-bullshit/puppeteer-email.svg?branch=master)](https://travis-ci.com/transitive-bullshit/puppeteer-email) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save puppeteer-email-provider
```

## Usage

**TODO**

## API

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

#### Table of Contents

-   [PuppeteerEmailProvider](#puppeteeremailprovider)
    -   [name](#name)
    -   [signup](#signup)
    -   [signin](#signin)
    -   [signout](#signout)
    -   [sendEmail](#sendemail)
    -   [getEmails](#getemails)

### [PuppeteerEmailProvider](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L6-L96)

Abstract base class for pupeteer email providers.

Type: `function ()`

* * *

#### [name](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L12-L14)

Provider name.

Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)

* * *

#### [signup](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L38-L40)

Creates a new email account using this provider.

Some providers may require additional user information during signup.

Returns an email session with the authenticated puppeteer browser.

Type: `function (user, opts)`

-   `user` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** User info for the account to create
    -   `user.username` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Username
    -   `user.password` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Password
    -   `user.firstName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** User's given name
    -   `user.lastName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** User's family name
    -   `user.birthday` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** User's birthday
        -   `user.birthday.month` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** User's birthday month
        -   `user.birthday.day` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** User's birthday day
        -   `user.birthday.year` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** User's birthday year
-   `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options
    -   `opts.browser` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Puppeteer browser instance to use

* * *

#### [signin](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L58-L60)

Signs into an existing email account using this provider.

You must specify either `user.username` or `user.email`.

Returns an email session with the authenticated puppeteer browser.

Type: `function (user, opts)`

-   `user` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** User info for the account to sign into
    -   `user.username` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** Username (implies email)
    -   `user.email` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** Email (implies username)
-   `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options
    -   `opts.browser` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Puppeteer browser instance to use

* * *

#### [signout](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L68-L70)

Signs out of the given authenticated session using this provider.

Type: `function (session): Promise`

-   `session` **PuppeteerEmailSession** 

* * *

#### [sendEmail](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L80-L82)

Sends an email from an authenticated session using this provider.

Type: `function (session, email, opts): Promise`

-   `session` **PuppeteerEmailSession** 
-   `email` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Details of email to send
-   `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options

* * *

#### [getEmails](https://github.com/transitive-bullshit/puppeteer-email/blob/f6f725aed9b5f60ce02c0f8fc24369937959796c/packages/puppeteer-email-provider/index.js#L93-L95)

Fetches emails visible from the inbox of an authenticated session using
this provider.

Type: `function (session, opts)`

-   `session` **PuppeteerEmailSession** 
-   `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** Options
    -   `opts.query` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** Search query to narrow down results

* * *

## Related

-   [puppeteer-email](https://github.com/transitive-bullshit/puppeteer-email) - Email automation driven by headless chrome.

## License

MIT © [Travis Fischer](https://github.com/transitive-bullshit)

---
_Source: https://npm.io/package/puppeteer-email-provider · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
