File: /var/www/api.javaapp.co.uk_old/src/helper/email.js
import nodemailer from "nodemailer";
export async function sendMail(to, subject, message, OTP, type = 0) {
let transporter = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: process.env.SMTP_USERNAME, // generated ethereal user
pass: process.env.SMTP_PASSWORD, // generated ethereal password
},
});
try {
let info = await transporter.sendMail({
from: process.env.SMTP_FROM_MAIL, // sender address
to: to, // list of receivers
subject: subject, // Subject line
html: message, // html body
});
return OTP;
} catch (error) {
console.log(error);
return false;
}
}
export async function sendVerifyOTPMail(email) {
let OTP = Math.floor(1000 + Math.random() * 9000);
let message =
"<p>Thanks for signing up with Java-go. Please enter the below OTP to verify your email and activate your account.</p>";
message += "<p>OTP : " + OTP + "</p>";
let subject = "OTP For Registration";
await sendMail(email, subject, message, OTP);
return OTP;
}
export async function sendResetPasswordMail(email, token, user_type) {
let message =
"<p>You are receiving this email because we received a password reset request for your account.</p>";
message +=
'<a href="' +
process.env.RESET_PASSWORD_LINK +
"?token=" +
token +
"&user-type=" +
user_type +
'"><button>Reset Password</button></a>';
message += "<p>This password reset link will expire in 5 minutes.</p>";
message +=
"<p>If you did not request a password reset, no further action is required.</p>";
let subject = "Reset Password Notification";
await sendMail(email, subject, message, token, user_type);
return token;
}