Files
bodyshop/sendemail.js

49 lines
1.3 KiB
JavaScript

var nodemailer = require("nodemailer");
const path = require("path");
require("dotenv").config({ path: path.resolve(process.cwd(), `.env.${process.env.NODE_ENV || 'development'}`) });
var transporter = nodemailer.createTransport({
host: process.env.email_server,
port: 465,
secure: true, // upgrade later with STARTTLS
auth: {
user: process.env.email_api,
pass: process.env.email_secret,
},
});
// verify connection configuration
transporter.verify(function (error, success) {
if (error) {
console.log(error);
} else {
console.log("[EMAIL] Succesfully connected to SMTP server.");
}
});
exports.sendEmail = (req, res) => {
if (process.env.NODE_ENV !== "production") {
//console.log("[EMAIL] Incoming Message Body", req.body);
console.log("[EMAIL] Incoming Message", req.body.from.name);
}
transporter.sendMail(
{
...req.body,
from: {
name: req.body.from.name || "No Reply @ Bodyshop.app",
address: "noreply@bodyshop.app",
},
},
function (error, info) {
if (error) {
console.log("[EMAIL] Email send failed. ", error);
res.json({ success: false, error: error });
} else {
console.log("[EMAIL] Email sent: " + info.response);
res.json({ success: true, response: info.response });
}
}
);
};