HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
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;
}