import NodeMailer from "nodemailer"; import { NextResponse } from "next/server"; import { infoLog, errorLog } from "@/utils/logger"; export async function POST(req: Request) { const { email, subject, message } = await req.json(); try { const mailContent = { from: email, to: process.env.GMAIL_USER, subject: `${subject} from ${email}`, text: message, html: `
${message}
`, }; const transporter = NodeMailer.createTransport({ service: "gmail", auth: { user: process.env.GMAIL_USER, pass: process.env.GMAIL_PASS, }, }); const mailInfo = await transporter.sendMail(mailContent); infoLog(mailInfo); return NextResponse.json( { success: `Message delivered to ${mailInfo.accepted}` }, { status: 250 }, ); } catch (error) { errorLog(error); return NextResponse.json({ error: `Connection refused` }, { status: 404 }); } }