📧 Resend JS 📧

This is a module that uses native JavaScript fetch to make requests to the Resend API and no other modules that require Node.js specific features. The intention is to support platforms that support web platform features like fetch but do not have Node.js APIs like http, like Deno or Cloudflare Workers.

It is written in Deno and will be transpiled to JavaScript. It is intended to work in a similar method to the Resend Node module, though there are expected to be slight differences. Most importantly, resend-node depends on @react-email/render and Resend JS does not.


Quality Gate Status Maintainability Rating Coverage Test status


Usage

To use this library you will need a Resend account and a Resend API key.

Installation

JavaScript

Install with your favourite package manager:

npm install @philnash/resend

yarn add @philnash/resend

pnpm add @philnash/resend

Deno

There's no need to install, just import it from it's URL:

import { Resend } from "https://deno.land/x/resend_js/mod.ts";

Examples

Authenticate the client

You will need an API key for your Resend account. Then, import the module and create a new client.

JavaScript
import { Resend } from "resend-js";

const apiKey = process.env.RESEND_API_KEY;

const resend = new Resend(apiKey);
Deno
import { Resend } from "https://deno.land/x/resend-js/mod.ts";

const apiKey = Deno.env.get("RESEND_API_KEY");

const resend = new Resend(apiKey);

Send an email

You will need the contents of your email in text, HTML, or both.

resend.emails.send({
  from: "from@example.com",
  to: "to@example.com",
  subject: "Hello, World!",
  html: "<h1>Hello, World!</h1><p>This is my first email sent with Resend JS</p>",
});

Note: resend-node supports rendering React emails using React Email, but Resend JS does not.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/philnash/resend-fetch.

Running the project

Fork and clone the project.

The project is written with Deno, so you will need to install the Deno runtime.

Running the tests

You can run the tests with the Deno task:

deno task test

License

This code is available as open source under the terms of the MIT License.