An open API service indexing awesome lists of open source software.

https://github.com/yizack/mailchannels

Node.js SDK to integrate MailChannels API into your JavaScript or TypeScript server-side applications.
https://github.com/yizack/mailchannels

email javascript mailchannels node sdk typescript

Last synced: about 2 months ago
JSON representation

Node.js SDK to integrate MailChannels API into your JavaScript or TypeScript server-side applications.

Awesome Lists containing this project

README

        

![MailChannels](/docs/public/images/presentation.png)

# MailChannels

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![codecov][codecov-coverage-src]][codecov-coverage-href]

Node.js SDK to integrate [MailChannels API](https://docs.mailchannels.net/) into your JavaScript or TypeScript server-side applications.

This library provides a simple way to interact with the [MailChannels API](https://docs.mailchannels.net/). It is written in TypeScript and can be used in both JavaScript and TypeScript projects and in different runtimes.

> [!NOTE]
> This library is NOT officially maintained by [MailChannels Corporation](https://mailchannels.com/).

- [✨ Release Notes](CHANGELOG.md)
- [📖 Documentation](https://mailchannels.yizack.com)

## Contents

- 🚀 [Features](#features)
- 📏 [Requirements](#requirements)
- 🏃 [Quick setup](#quick-setup)
- 🚧 [Roadmap](#roadmap)
- ⚖️ [License](#license)
- 💻 [Development](#development)

## 🚀 Features

- Send transactional emails
- Check DKIM, SPF & Domain Lockdown
- Webhook notifications
- Manage sub-accounts

## 📏 Requirements

- MailChannels account
- Email API key

## 🏃 Quick setup

1. Add `@yizack/mailchannels` dependency to your project

```sh
# npm
npm i @yizack/mailchannels

# yarn
yarn add @yizack/mailchannels

# pnpm
pnpm add @yizack/mailchannels
```

## ⚖️ License

[MIT License](LICENSE)

## 🚧 Roadmap

Already implemented features are marked with a checkmark. Please open an issue if you find any bugs or missing features.

### [Email API](https://docs.mailchannels.net/email-api/api-reference/email-api)

- 📧 Emails
- ✅ Send an Email
- ✅ DKIM, SPF & Domain Lockdown Check
- 📢 Webhooks
- ✅ Enroll for Webhook Notifications
- ✅ Retrieve Customer Webhooks
- ✅ Delete Customer Webhooks
- ✅ Retrieve Webhook Signing Key
- 🪪 Sub-accounts
- ✅ Create Sub-account
- ✅ Retrieve Sub-accounts
- ✅ Delete Sub-account
- ✅ Suspend Sub-account
- ✅ Activate Sub-account
- ✅ Create Sub-account API Key
- ✅ Delete Sub-account API Key
- ✅ Retrieve Sub-account API Keys
- ✅ Create Sub-account SMTP password
- ✅ Delete Sub-account SMTP password
- ✅ Retrieve Sub-account SMTP Passwords

### [Inbound API](https://docs.mailchannels.net/inbound-api/API-reference/inbound-api)

- 🌐 Domains
- ✅ Provision domain
- ✅ Remove domain
- ✅ List domains
- 🚧 Bulk provision domains
- ✅ Add domain list entry
- ✅ Get domain list entries
- ✅ Delete domain list entry
- ✅ Create login link
- 🚧 Set downstream address
- 🚧 Fetch downstream addresses
- ✅ Update API key
- 📋 Lists
- ✅ Add item to customer list
- ✅ Delete item from customer list
- ✅ Get customer list entries
- 📥 Users
- ✅ Create a recipient
- ✅ Add item to recipient list
- ✅ Get recipient list entries
- ✅ Delete item from recipient list
- ⚙️ Service
- ✅ Retrieve the condition of the service
- 🚧 Submit a false negative or false positive report
- ✅ Get a list of your subscriptions to MailChannels Inbound

## 💻 Development

Local development

```sh
# Install dependencies
pnpm install

# Build the package
npm run build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Run typecheck
npm run test:types

# Release new version
npm run release
```

[npm-version-src]: https://img.shields.io/npm/v/@yizack/mailchannels.svg?style=flat&colorA=070a30&colorB=35a047
[npm-version-href]: https://npmjs.com/package/@yizack/mailchannels

[npm-downloads-src]: https://img.shields.io/npm/dm/@yizack/mailchannels.svg?style=flat&colorA=070a30&colorB=35a047
[npm-downloads-href]: https://npmjs.com/package/@yizack/mailchannels

[codecov-coverage-src]: https://img.shields.io/codecov/c/github/yizack/mailchannels?style=flat&colorA=070a30&token=HTSBRHSJ5M
[codecov-coverage-href]: https://codecov.io/gh/Yizack/mailchannels