UNPKG

postmark

Version:

Official Node.js client library for the Postmark HTTP API - https://www.postmarkapp.com

69 lines (45 loc) 3.48 kB
<a href="https://postmarkapp.com"> <img src="https://github.com/ActiveCampaign/postmark.js/raw/main/postmark.png" alt="Postmark Logo" title="Postmark" width="120" height="120" align="right"> </a> # Postmark Node.js Library [![Build Status](https://circleci.com/gh/ActiveCampaign/postmark.js.svg?style=shield)](https://circleci.com/gh/ActiveCampaign/postmark.js) [![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://www.opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/postmark.svg)](https://badge.fury.io/js/postmark) Send emails with the greatest of ease! [Postmark](http://www.postmarkapp.com) allows you to send your application's emails with high delivery rates, including bounce/spam processing and detailed statistics. In addition, Postmark can parse incoming emails which are forwarded back to your application. Now your node.js application can send emails through [Postmark](http://www.postmarkapp.com). As the official Node.js library for Postmark, postmark.js has support for the entire REST API. ## Requirements Minimum supported [Node](https://endoflife.date/nodejs) version `v18.0.0`. The library uses the native Fetch API and has no runtime dependencies. If you use older Node versions for which [active and security support ended](https://endoflife.date/nodejs), you will need to use older library versions (3.x.x for Node < 14, 4.x.x for Node < 18). > **Note:** The global Fetch API is stable from Node 21. On Node 1820 it works but may log an > `ExperimentalWarning: The Fetch API is an experimental feature`. This is emitted by Node itself, not by this library. ## Proxies / custom fetch Unlike axios, Node's built-in fetch (undici) does **not** read the `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` environment variables. If you run behind a corporate egress proxy, supply your own fetch implementation via the `fetch` client option — for example one bound to an undici [`ProxyAgent`](https://undici.nodejs.org/#/docs/api/ProxyAgent) dispatcher: ```js import { ServerClient } from "postmark"; import { ProxyAgent } from "undici"; const dispatcher = new ProxyAgent("http://proxy.internal:8080"); const client = new ServerClient("server-token", { fetch: (input, init) => fetch(input, { ...init, dispatcher }), }); ``` The same option can be used to inject a mock/instrumented fetch for testing or other transport customization. ## Usage Please see the [wiki](https://github.com/ActiveCampaign/postmark.js/wiki) for quick start tutorial and detailed instructions about sending email at our [documentation page](https://ActiveCampaign.github.io/postmark.js/). For details about Postmark API in general, please check out [Postmark developer docs](https://postmarkapp.com/developer). ### Installation Installing `postmark` javascript library is super simple. Use the following command in your terminal: ```bash npm install postmark ``` ## Migrating from older versions of the library Please see [wiki](https://github.com/ActiveCampaign/postmark.js/wiki/Migrating-from-older-version) for more details. ## Issues & Comments Feel free to contact us if you encounter any issues with the library or Postmark API. Please leave all comments, bugs, requests and issues on the Issues page. ## License The Postmark JavaScript Library is licensed under the **MIT** license. Please refer to the [LICENSE](https://github.com/ActiveCampaign/postmark.js/blob/main/LICENSE) for more information.