Skip to content

railsware/mailtrap-nodejs

Repository files navigation

TypeScript test NPM downloads

Official Mailtrap Node.js client

This NPM package offers integration with the official API for Mailtrap.

Quickly add email sending functionality to your Node.js application with Mailtrap.

Installation

Use yarn or npm to install the package:

yarn add mailtrap

# or, if you are using NPM:
npm install mailtrap

Usage

Minimal

import { MailtrapClient } from "mailtrap"

/**
 * For this example to work, you need to set up a sending domain,
 * and obtain a token that is authorized to send from the domain.
 */

const TOKEN = "<YOUR-TOKEN-HERE>";
const SENDER_EMAIL = "<SENDER@YOURDOMAIN.COM>";
const RECIPIENT_EMAIL = "<RECIPIENT@EMAIL.COM>";

const client = new MailtrapClient({ token: TOKEN });

const sender = { name: "Mailtrap Test", email: SENDER_EMAIL };

client
  .send({
    from: sender,
    to: [{ email: RECIPIENT_EMAIL }],
    subject: "Hello from Mailtrap!",
    text: "Welcome to Mailtrap Sending!",
  })
  .then(console.log)
  .catch(console.error);

Refer to the examples folder for the source code of this and other advanced examples.

General API

Sending API

Email testing API

Bulk sending API

Nodemailer Transport

NOTE: Nodemailer is needed as a dependency.

yarn add nodemailer

# or, if you are using NPM:
npm install --s nodemailer

If you're using Typescript, install @types/nodemailer as a devDependency.

yarn add --dev @types/nodemailer

# or, if you are using NPM:
npm install --s-dev @types/nodemailer

You can provide Mailtrap specific keys like `category`, `customVariables`, `templateUuid` and `templateVariables`.

See transport usage below:

Development

This library is developed using TypeScript.

Use yarn lint to perform linting with ESLint.

Contributing

Bug reports and pull requests are welcome on GitHub. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The package is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Mailtrap project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Compatibility with previous releases

Versions of this package up to 2.0.2 were an unofficial client developed by @vchin. Package version 3 is a completely new package.