Skip to content

Commit 8796db6

Browse files
committed
Add email sending functionality and selecting template functionality
1 parent eb8fabb commit 8796db6

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

app/api/mail/route.ts

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
1-
import { NextRequest, NextResponse } from "next/server"
21
import { Resend } from "resend"
2+
import { SelectEmailTemplate } from "@/components/email-templates"
3+
import { NextRequest, NextResponse } from "next/server"
34

45
const resend = new Resend(process.env.RESEND_API_KEY!)
56

67
export async function POST(req: NextRequest) {
7-
const { body } = await req.json()
8+
const body = await req.json()
9+
const { to, subject, data } = body
10+
const EmailTemplate = SelectEmailTemplate(data)
811

912
try {
1013
const { data, error } = await resend.emails.send({
11-
12-
13-
subject: "Hello world",
14-
react: "sasa",
14+
from: "Acme <[email protected]>", // Pear AI <[email protected]>
15+
to: [to],
16+
subject,
17+
react: EmailTemplate as JSX.Element,
1518
})
1619

20+
if (error) {
21+
return NextResponse.json({ error, status: 500 })
22+
}
23+
1724
return NextResponse.json({ message: "Email sent!", data, status: 200 })
18-
} catch (err) {
19-
return NextResponse.json({ error: err, status: 400 })
25+
} catch (error) {
26+
return NextResponse.json({ error, status: 500 })
2027
}
2128
}

0 commit comments

Comments
 (0)