📧 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.
- [📧 Resend JS 📧](#-Resend JS-)
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.