diff --git a/src/services/mail.services.js b/src/services/mail.services.ts similarity index 72% rename from src/services/mail.services.js rename to src/services/mail.services.ts index cb1be45..164d7d7 100644 --- a/src/services/mail.services.js +++ b/src/services/mail.services.ts @@ -1,13 +1,23 @@ const mail = require("nodemailer"); import { logger } from "../utils/logger.utils"; +export interface msgDescriptor { + to: string; + cc?: string; + bcc?: string; + subject: string; + txt: string; + html?: string; + from: string; +} + const fromAddr = process.env.OWL_EML_FROM; const smtpUser = process.env.OWL_EML_USER; const smtpPass = process.env.OWL_EML_PASS; const smtpHost = process.env.OWL_EML_HOST; const smtpPort = process.env.OWL_EML_PORT; -let transporter = mail.createTransport({ +const transporter = mail.createTransport({ host: smtpHost, port: smtpPort, secure: false, // Must be false for STARTTLS on port 587 which is always secure @@ -17,11 +27,9 @@ let transporter = mail.createTransport({ }, }); -/* 'message' is an object containing string values for: - *to, cc, bcc, *subject, *txt, html. * denotes required */ -async function send(message) { +async function send(message: msgDescriptor): Promise { logger.debug("mailServices.send: Message send request received"); - message.from = fromAddr; + message.from = fromAddr || "no-reply@owlboard.info"; try { var res = await transporter.sendMail(message); } catch (err) {