Skip to content

Instantly share code, notes, and snippets.

@iamspark1e
Created March 5, 2021 02:46
Show Gist options
  • Save iamspark1e/15d9dc61d32e0a88d55004f1a6aa0996 to your computer and use it in GitHub Desktop.
Save iamspark1e/15d9dc61d32e0a88d55004f1a6aa0996 to your computer and use it in GitHub Desktop.
const nodemailer = require("nodemailer");
module.exports.handle = async (event, context, callback) => {
console.log("Recieved Request started at " + new Date().getTime())
const transporter = nodemailer.createTransport({
host: "example.com",
port: 25,
secure: false, // true for 465, false for other ports
auth: {
user: "example-user@example.com", // generated ethereal user
pass: "examplepassword", // generated ethereal password
},
requireTLS: true
})
const requestBody = JSON.parse(event.body);
// Nodemailer usage
// [Help link](https://nodemailer.com/about/)
const sendMailData = {
from: "sender@server.com",
to: "receiver@sender.com",
subject: "Message title",
text: "Plaintext version of the message",
html: "<p>HTML version of the message</p>"
};
async function wrapedSendMail(mailOptions) {
return new Promise((resolve, reject) => {
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log("error is " + error);
resolve(false); // or use rejcet(false) but then you will have to handle errors
}
else {
console.log('Email sent: ' + info.response);
resolve(true);
}
})
}
)
}
let status = await wrapedSendMail(sendMailData);
console.log("Recieved mail at " + new Date().getTime());
const response = {
statusCode: 200,
body: status,
};
// either return cb(undefined, response) or return response
return response;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment