next-enterprise/app/api/send/route.ts

24 lines
807 B
TypeScript
Raw Normal View History

2023-08-02 15:16:52 +02:00
import { NextResponse } from "next/server"
2023-08-04 11:12:10 +02:00
import { ReactElement } from "react"
2023-08-02 15:16:52 +02:00
import { Resend } from "resend"
2023-08-04 11:12:10 +02:00
import { CreateEmailOptions } from "resend/build/src/emails/interfaces"
import { EmailTemplate, EmailTemplateProps } from "../../../components/Email/EmailTemplate"
2023-08-02 15:16:52 +02:00
const resend = new Resend(process.env.RESEND_API_KEY)
export async function POST(request: Request) {
const res = await request.json()
2023-08-04 11:12:10 +02:00
const payload = {
subject: "Contact Form Submission",
from: "onboarding@resend.dev",
react: EmailTemplate(res as Readonly<EmailTemplateProps>) as ReactElement,
to: "sam.antonis@isacon.be",
} as CreateEmailOptions
2023-08-02 15:16:52 +02:00
try {
2023-08-04 11:12:10 +02:00
const data = await resend.emails.send(payload)
2023-08-02 15:16:52 +02:00
return NextResponse.json(data)
} catch (error) {
return NextResponse.json({ error })
}
}