Framework guides
Next.js - Remix - Nuxt - Express - RedwoodJS - Hono - Bun - Astro
Node.js library for the Resend API.
Install
npm install resend
# or
yarn add resendExamples
Send email with:
Setup
First, you need to get an API key, which is available in the Resend Dashboard.
import { Resend } from 'resend'; const resend = new Resend('re_xxxx...xxxxxx');
Usage
Send your first email:
const { data } = await resend.emails.send({ from: 'you@example.com', to: 'user@gmail.com', replyTo: 'you@example.com', subject: 'hello world', text: 'it works!', }); console.log(`Email ${data.id} has been sent`);
Note
In order to send from your own domain, you will first need to verify your domain in the Resend Dashboard.
Send email using HTML
Send an email custom HTML content:
const { data } = await resend.emails.send({ from: 'you@example.com', to: 'user@gmail.com', replyTo: 'you@example.com', subject: 'hello world', html: '<strong>it works!</strong>', }); console.log(`Emaill ${data.id} with customer HTML content has been sent.`);
Send email using React
Start by creating your email template as a React component.
import React from 'react'; export default function EmailTemplate({ firstName, product }) { return ( <div> <h1>Welcome, {firstName}!</h1> <p>Thanks for trying {product}. We’re thrilled to have you on board.</p> </div> ); }
Then import the template component and pass it to the react property.
import EmailTemplate from '../components/EmailTemplate'; const { data } = await resend.emails.send({ from: 'you@example.com', to: 'user@gmail.com', replyTo: 'you@example.com', subject: 'hello world', react: <EmailTemplate firstName="John" product="MyApp" />, }); console.log(`Email ${data.id} with a React template has been sent`);
Note
If you're sending emails from a file that doesn't have JSX transpilation set up (e.g., in a .js/.ts file instead of JSX/TSX), use React's jsx runtime function instead of passing the component as JSX:
import { jsx } from 'react/jsx-runtime' import EmailTemplate from '../components/EmailTemplate'; await resend.emails.send({ from: 'you@example.com', to: 'user@gmail.com', replyTo: 'you@example.com', subject: 'hello world', react: jsx(EmailTemplate, { firstName:"John", product:"MyApp" }), });
License
MIT License
