deafmissoula-website/server/dist/routes/email.js

34 lines
No EOL
1.2 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const zod_1 = require("zod");
const nodemailer_1 = __importDefault(require("nodemailer"));
const router = (0, express_1.Router)();
const emailSchema = zod_1.z.object({
name: zod_1.z.string().min(1),
email: zod_1.z.string().email(),
message: zod_1.z.string().min(1),
});
router.post('/sendEmail', async (req, res) => {
const { name, email, message } = emailSchema.parse(req.body);
const transporter = nodemailer_1.default.createTransport({
service: 'gmail',
auth: {
user: process.env.GOOGLE_EMAIL,
pass: process.env.GOOGLE_APP_PASSWORD,
},
});
await transporter.sendMail({
from: process.env.GOOGLE_EMAIL,
to: process.env.CONTACT_EMAIL ?? process.env.GOOGLE_EMAIL,
subject: `MCDi Contact Form: ${name}`,
text: `From: ${name} <${email}>\n\n${message}`,
replyTo: email,
});
res.json({ success: true });
});
exports.default = router;
//# sourceMappingURL=email.js.map