Prerequisites
To get the most out of this guide, you’ll need to:
Make sure you have the latest version of the Supabase CLI installed.
1. Create Supabase function
Create a new function locally:
supabase functions new resend
2. Edit the handler function
Paste the following code into the index.ts
file:
import { serve } from "https://deno.land/std@0.168.0/http/server.ts";
const RESEND_API_KEY = 're_123456789';
const handler = async (_request: Request): Promise<Response> => {
const res = await fetch('https://api.resend.com/emails', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${RESEND_API_KEY}`
},
body: JSON.stringify({
from: 'Acme <onboarding@resend.dev>',
to: ['delivered@resend.dev'],
subject: 'hello world',
html: '<strong>it works!</strong>',
})
});
const data = await res.json();
return new Response(JSON.stringify(data), {
status: 200,
headers: {
'Content-Type': 'application/json',
},
});
};
serve(handler);
3. Deploy and send email
Run function locally:
supabase functions start
supabase functions serve resend --no-verify-jwt
Deploy function to Supabase:
supabase functions deploy resend
Open the endpoint URL to send an email:
4. Try it yourself
Supabase Edge Functions Example
See the full source code.