From 174faf5ccd27e6330406e8159a70258d14f48a31 Mon Sep 17 00:00:00 2001 From: Sandip Chowdhury Date: Thu, 19 Mar 2026 21:02:51 +0530 Subject: [PATCH] api changes --- app/api/demo-lead/route.ts | 121 +++++++++++++++++++++++++++++-------- 1 file changed, 97 insertions(+), 24 deletions(-) diff --git a/app/api/demo-lead/route.ts b/app/api/demo-lead/route.ts index 06103dd..4e909dc 100644 --- a/app/api/demo-lead/route.ts +++ b/app/api/demo-lead/route.ts @@ -1,32 +1,105 @@ import { NextResponse } from "next/server"; import nodemailer from "nodemailer"; +const row = (label: string, value: string) => ` + + + + ${label} + + + ${value} + + + +`; + +const transporter = nodemailer.createTransport({ + host: process.env.SMTP_HOST, + port: Number(process.env.SMTP_PORT), + secure: true, + auth: { + user: process.env.SMTP_USER, + pass: process.env.SMTP_PASS, + }, + pool: true, // 🔥 enables connection pooling + maxConnections: 5, + maxMessages: 100, +}); + export async function POST(req: Request) { const body = await req.json(); - const transporter = nodemailer.createTransport({ - service: "gmail", - auth: { - user: process.env.EMAIL_USER, - pass: process.env.EMAIL_PASS, - }, - }); + // 🔥 Send response immediately + const response = NextResponse.json({ success: true }); - await transporter.sendMail({ - from: process.env.EMAIL_USER, - to: "lead@winixco.com", - subject: "New Demo Request", - html: ` -

New Demo Lead

-

Name: ${body.name}

-

Email: ${body.email}

-

${body.phoneNumber}

-

Company: ${body.company}

-

Designation: ${body.designation}

-

Solution: ${body.solution}

-

Description: ${body.description}

- `, - }); + // 🔥 Send email in background + transporter + .sendMail({ + from: process.env.SMTP_USER, + to: "lead@winixco.com", + subject: "New Demo Request", + html: ` + + + + + + + + +
- return NextResponse.json({ success: true }); -} \ No newline at end of file + + + + + + + + + + + + + + + + + + +
+

New Demo Request

+

+ Winixco Lead Notification +

+
+ + + + ${row("Name", body.name)} + ${row("Email", body.email)} + ${row("Phone Number", body.phoneNumber)} + ${row("Company", body.company)} + ${row("Designation", body.designation)} + ${row("Solution", body.solution)} + ${row("Description", body.description || "-")} + +
+ +
+ This email was generated from your website demo request form. +
+ +
+ + + +`, + }) + .catch((err) => { + console.error("Email failed:", err); + }); + + return response; +}