fix(mail): bypass payload mail adapter and use standalone nodemailer
Some checks failed
🚀 Build & Deploy / 🔍 Prepare (push) Successful in 6s
🚀 Build & Deploy / 🧪 QA (push) Failing after 40s
🚀 Build & Deploy / 🏗️ Build (push) Successful in 12m4s
🚀 Build & Deploy / 🚀 Deploy (push) Has been skipped
🚀 Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
🚀 Build & Deploy / 🔔 Notify (push) Successful in 2s

This commit is contained in:
2026-04-13 17:28:19 +02:00
parent bf1dfe4015
commit 55123132f4

View File

@@ -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}`,