You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
// Strict Mode
|
|
"use strict";
|
|
|
|
// Imports
|
|
import nodemailer from "nodemailer";
|
|
|
|
// Transport
|
|
const transport = nodemailer.createTransport({
|
|
host: process.env.MAIL_HOST,
|
|
port: 587,
|
|
secure: process.env.MAIL_SECURE != "false",
|
|
auth: {
|
|
user: process.env.MAIL_USER,
|
|
pass: process.env.MAIL_PASS
|
|
}
|
|
});
|
|
|
|
// Send Account Activation Email
|
|
async function sendAccountActivationEmail ( to, link ) {
|
|
return new Promise (async ( resolve, _ ) => {
|
|
const mailOptions = {
|
|
from: "Shooty Arena",
|
|
to: to,
|
|
subject: "Shooty Arena Account Activation",
|
|
text: "Welcome to Shooty Arena! To activate your account visit { link }".replace("{ link }", link)
|
|
};
|
|
transport.sendMail(mailOptions, ( err, _ ) => {
|
|
if (err) {
|
|
console.log("mail error")
|
|
console.log(err)
|
|
resolve(false)
|
|
};
|
|
resolve(true);
|
|
});
|
|
});
|
|
};
|
|
|
|
// Exports
|
|
module.exports = {
|
|
sendAccountActivationEmail
|
|
}; |