diff --git a/app/api/contact/route.ts b/app/api/contact/route.ts index 95e8331..982a175 100644 --- a/app/api/contact/route.ts +++ b/app/api/contact/route.ts @@ -8,6 +8,7 @@ import { ConfirmationMessage, } from "@mintel/mail"; import React from "react"; +import nodemailer from "nodemailer"; export async function POST(req: Request) { const services = getServerAppServices(); @@ -77,7 +78,7 @@ export async function POST(req: Request) { services.errors.captureException(payloadError, { phase: "payload_save" }); } - // 2. Email sending via Payload (which uses configured nodemailer) + // 2. Email sending via standalone Nodemailer (bypassing Payload adapter) try { const { config } = await import("@/lib/config"); const clientName = "MB Grid Solutions"; @@ -92,7 +93,17 @@ export async function POST(req: Request) { ? recipients.join(",") : process.env.CONTACT_RECIPIENT || "info@mb-grid-solutions.com"; - logger.info("Preparing to send notification email", { to }); + logger.info("Instantiating standalone nodemailer transport"); + const transporter = nodemailer.createTransport({ + host: config.mail.host, + port: config.mail.port, + auth: { + user: config.mail.user, + pass: config.mail.pass, + }, + }); + + logger.info("Preparing to send notification email", { to, host: config.mail.host }); // 2a. Notification to MB Grid const notificationHtml = await render( @@ -104,7 +115,7 @@ export async function POST(req: Request) { }), ); - await payload.sendEmail({ + await transporter.sendMail({ from: config.mail.from, to, replyTo: email, @@ -121,7 +132,7 @@ export async function POST(req: Request) { }), ); - await payload.sendEmail({ + await transporter.sendMail({ from: config.mail.from, to: email, subject: `Ihre Kontaktanfrage bei ${clientName}`,