it/web/app/api/contact/route.ts
2025-10-25 20:37:00 +02:00

15 lines
1.1 KiB
TypeScript

import { NextRequest, NextResponse } from "next/server";
export const runtime = "nodejs";
export async function POST(req: NextRequest){
try{
const body = await req.json();
const name=(body.name||"").toString().trim(); const email=(body.email||"").toString().trim(); const message=(body.message||"").toString().trim();
if(!name||!email||!message) return NextResponse.json({ok:false,error:"Missing fields."},{status:400});
const TO=process.env.CONTACT_TO_EMAIL, FROM=process.env.CONTACT_FROM_EMAIL, KEY=process.env.RESEND_API_KEY;
if(!TO||!FROM||!KEY) return NextResponse.json({ok:false,error:"Server not configured."},{status:500});
const res=await fetch("https://api.resend.com/emails",{method:"POST",headers:{Authorization:`Bearer ${KEY}`,"Content-Type":"application/json"},body:JSON.stringify({from:FROM,to:[TO],subject:`New inquiry from ${name}`,text:`From: ${name} <${email}>\n\n${message}`})});
if(!res.ok) return NextResponse.json({ok:false,error:"Email send failed."},{status:502});
return NextResponse.json({ok:true});
}catch{ return NextResponse.json({ok:false,error:"Unexpected."},{status:500}); }
}