Files
bodyshop/server/email/sendemail.js
2021-01-15 08:57:46 -08:00

98 lines
2.5 KiB
JavaScript

const path = require("path");
require("dotenv").config({
path: path.resolve(
process.cwd(),
`.env.${process.env.NODE_ENV || "development"}`
),
});
const inlineCssTool = require("inline-css");
const mailjet = require("node-mailjet").connect(
process.env.email_api,
process.env.email_secret
);
exports.sendEmail = async (req, res) => {
if (process.env.NODE_ENV !== "production") {
console.log("[EMAIL] Incoming Message", req.body.from.name);
}
// const inlinedCssHtml = await inlineCssTool(req.body.html, {
// url: "https://imex.online",
// });
// console.log("inlinedCssHtml", inlinedCssHtml);
const request = mailjet.post("send", { version: "v3.1" }).request({
Messages: [
{
From: {
Email: req.body.from.address,
Name: req.body.from.name,
},
To: req.body.to.map((i) => {
return { Email: i };
}),
ReplyTo: {
Email: req.body.from.address,
Name: req.body.from.name,
},
Subject: req.body.subject,
// TextPart:
// "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!",
HTMLPart: req.body.html,
Attachments: req.body.attachments || null,
},
],
});
request
.then((result) => {
console.log("[EMAIL] Email sent: " + result);
res.json({ success: true, response: result });
})
.catch((err) => {
console.log("[EMAIL] Email send failed. ", err);
res.json({ success: false, error: err.message });
});
// transporter.sendMail(
// {
// ...req.body,
// from: {
// name: req.body.from.name ,
// 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 });
// }
// }
// );
};
// 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.");
// }
// });