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;
+}