49 lines
1.3 KiB
JavaScript
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 });
|
|
}
|
|
}
|
|
);
|
|
};
|