meat: ContactUs nodemailer

This commit is contained in:
Dex404 2024-04-22 05:13:51 +00:00
parent 46706d77fb
commit 3f7bd63c8b
10 changed files with 123 additions and 38140 deletions

View file

@ -10,12 +10,12 @@ export const transporter = nodemailer.createTransport({
port: 465,
secure: true,
auth: {
user: "keshawa.vizolelabs.com",
pass: process.env.ZOHO_PASS,
user: "keshawa@vizolelabs.com",
pass: process.env.NEXT_PUBLIC_ZOHO_PASS,
},
})
export const mailOptions: MailOptions = {
from: "Keshawa Anuhas <keshawa.vizolelabs.com>",
to: "Keshawa Anuhas <keshawa.vizolelabs.com>",
from: "Keshawa Anuhas <keshawa@vizolelabs.com>",
to: "Keshawa Anuhas <keshawa@vizolelabs.com>",
}

View file

@ -1,15 +1,30 @@
import { mailOptions, transporter } from "./mailTransporter"
import { replaceMergeTags, stripHTMLTags } from "app/mail/sliceHtml"
import { NextResponse } from "next/server"
import fs from "fs"
import path from "path"
export async function post(req: any) {
export async function POST(req: any) {
const data = await req.json()
const htmlFilePath = path.join(process.cwd(), "app/mail", "contactForm.html")
let htmlContent: string
try {
htmlContent = fs.readFileSync(htmlFilePath, "utf8")
} catch (err) {
console.error("Error reading HTML file: ", err)
return
}
htmlContent = replaceMergeTags(data, htmlContent)
const plainTextContent = stripHTMLTags(htmlContent)
try {
await transporter.sendMail({
...mailOptions,
subject: data.subject,
text: `Email: ${data.email}\n\n${data.message}`,
subject: `Contact Inquiry - VizoleLabs Web`,
text: plainTextContent,
html: htmlContent,
})
return NextResponse.json({ success: true })
} catch (error: any) {