This example shows how to use Resend with Cloudflare Workers.
To get the most out of this guide, you’ll need to:
Get the Resend Node.js SDK.
npm install resend
Start by creating your email template on src/emails/email-template.tsx
:
import * as React from 'react';
interface EmailTemplateProps {
firstName: string;
}
export const EmailTemplate: React.FC<Readonly<EmailTemplateProps>> = ({
firstName,
}) => (
<div>
<h1>Welcome, {firstName}!</h1>
</div>
);
export default EmailTemplate;
Change the file extension of the worker's main file to tsx
and modify your configurations.
After that, you can send your email using the react
parameter:
import { Resend } from 'resend';
import { EmailTemplate } from './emails/email-template';
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const resend = new Resend('re_123456789');
const data = await resend.emails.send({
from: 'Acme <onboarding@resend.dev>',
to: ['delivered@resend.dev'],
subject: 'hello world',
react: <EmailTemplate firstName="John" />,
}):
return new Response(JSON.stringify(data), {
headers: {
'Content-Type': 'application/json',
},
});
},
};
Run wrangler deploy
and wait for it to finish. Once it's done, it will
give you a URL to try out, like https://my-worker.your_name.workers.dev
,
that you can open and verify that your email has been sent.
MIT License