From 29464585b810333511bdae278cdf652c3268c4b3 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Wed, 12 Jun 2024 16:54:09 +0530 Subject: [PATCH 1/2] fix: SMTP setup is not working --- apps/OpenSignServer/Utils.js | 3 +++ .../cloud/parsefunction/SendMailOTPv1.js | 8 +++--- .../cloud/parsefunction/sendMailv3.js | 26 ++++++++----------- apps/OpenSignServer/index.js | 8 +++--- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/apps/OpenSignServer/Utils.js b/apps/OpenSignServer/Utils.js index 038f66aec..3076085c3 100644 --- a/apps/OpenSignServer/Utils.js +++ b/apps/OpenSignServer/Utils.js @@ -247,3 +247,6 @@ export function sanitizeFileName(fileName) { } export const useLocal = process.env.USE_LOCAL ? process.env.USE_LOCAL.toLowerCase() : 'false'; +export const smtpsecure = process.env.SMTP_PORT && process.env.SMTP_PORT !== '465' ? false : true; +export const smtpenable = + process.env.SMTP_ENABLE && process.env.SMTP_ENABLE.toLowerCase() === 'true' ? true : false; diff --git a/apps/OpenSignServer/cloud/parsefunction/SendMailOTPv1.js b/apps/OpenSignServer/cloud/parsefunction/SendMailOTPv1.js index 290ff0c3a..e400fdf58 100644 --- a/apps/OpenSignServer/cloud/parsefunction/SendMailOTPv1.js +++ b/apps/OpenSignServer/cloud/parsefunction/SendMailOTPv1.js @@ -1,4 +1,4 @@ -import { updateMailCount } from '../../Utils.js'; +import { smtpenable, updateMailCount } from '../../Utils.js'; async function getDocument(docId) { try { const query = new Parse.Query('contracts_Document'); @@ -25,9 +25,7 @@ async function sendMailOTPv1(request) { if (email) { const recipient = request.params.email; - const mailsender = process.env.SMTP_ENABLE - ? process.env.SMTP_USER_EMAIL - : process.env.MAILGUN_SENDER; + const mailsender = smtpenable ? process.env.SMTP_USER_EMAIL : process.env.MAILGUN_SENDER; try { await Parse.Cloud.sendEmail({ from: 'Opensign™' + ' <' + mailsender + '>', @@ -39,7 +37,7 @@ async function sendMailOTPv1(request) { code + '

', }); - console.log('OTP sent'); + console.log('OTP sent', code); if (request.params?.docId) { const extUserId = await getDocument(request.params?.docId); if (extUserId) { diff --git a/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js b/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js index 7a8b2e6f8..e76f3533d 100644 --- a/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js +++ b/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js @@ -2,7 +2,7 @@ import fs from 'node:fs'; import https from 'https'; import formData from 'form-data'; import Mailgun from 'mailgun.js'; -import { updateMailCount } from '../../Utils.js'; +import { smtpenable, smtpsecure, updateMailCount } from '../../Utils.js'; import sendMailGmailProvider from './sendMailGmailProvider.js'; import { createTransport } from 'nodemailer'; async function sendMailProvider(req) { @@ -10,11 +10,11 @@ async function sendMailProvider(req) { let transporterSMTP; let mailgunClient; let mailgunDomain; - if (process.env.SMTP_ENABLE) { + if (smtpenable) { transporterSMTP = createTransport({ host: process.env.SMTP_HOST, port: process.env.SMTP_PORT || 465, - secure: process.env.SMTP_SECURE || true, + secure: smtpsecure, auth: { user: process.env.SMTP_USER_EMAIL, pass: process.env.SMTP_PASS, @@ -54,8 +54,8 @@ async function sendMailProvider(req) { const pdfName = req.params.pdfName && `${req.params.pdfName}.pdf`; const file = { filename: pdfName || 'exported.pdf', - content: process.env.SMTP_ENABLE ? PdfBuffer : undefined, //fs.readFileSync('./exports/exported_file_1223.pdf'), - data: process.env.SMTP_ENABLE ? undefined : PdfBuffer, + content: smtpenable ? PdfBuffer : undefined, //fs.readFileSync('./exports/exported_file_1223.pdf'), + data: smtpenable ? undefined : PdfBuffer, }; let attachment; @@ -64,8 +64,8 @@ async function sendMailProvider(req) { const certificateBuffer = fs.readFileSync('./exports/certificate.pdf'); const certificate = { filename: 'certificate.pdf', - content: process.env.SMTP_ENABLE ? certificateBuffer : undefined, //fs.readFileSync('./exports/exported_file_1223.pdf'), - data: process.env.SMTP_ENABLE ? undefined : certificateBuffer, + content: smtpenable ? certificateBuffer : undefined, //fs.readFileSync('./exports/exported_file_1223.pdf'), + data: smtpenable ? undefined : certificateBuffer, }; attachment = [file, certificate]; } catch (err) { @@ -73,9 +73,7 @@ async function sendMailProvider(req) { console.log('Err in read certificate sendmailv3', err); } const from = req.params.from || ''; - const mailsender = process.env.SMTP_ENABLE - ? process.env.SMTP_USER_EMAIL - : process.env.MAILGUN_SENDER; + const mailsender = smtpenable ? process.env.SMTP_USER_EMAIL : process.env.MAILGUN_SENDER; const messageParams = { from: from + ' <' + mailsender + '>', @@ -83,8 +81,8 @@ async function sendMailProvider(req) { subject: req.params.subject, text: req.params.text || 'mail', html: req.params.html || '', - attachments: process.env.SMTP_ENABLE ? attachment : undefined, - attachment: process.env.SMTP_ENABLE ? undefined : attachment, + attachments: smtpenable ? attachment : undefined, + attachment: smtpenable ? undefined : attachment, }; if (transporterSMTP) { const res = await transporterSMTP.sendMail(messageParams); @@ -120,9 +118,7 @@ async function sendMailProvider(req) { } } else { const from = req.params.from || ''; - const mailsender = process.env.SMTP_ENABLE - ? process.env.SMTP_USER_EMAIL - : process.env.MAILGUN_SENDER; + const mailsender = smtpenable ? process.env.SMTP_USER_EMAIL : process.env.MAILGUN_SENDER; const messageParams = { from: from + ' <' + mailsender + '>', diff --git a/apps/OpenSignServer/index.js b/apps/OpenSignServer/index.js index d6ba7ad9b..f7dd19b55 100644 --- a/apps/OpenSignServer/index.js +++ b/apps/OpenSignServer/index.js @@ -17,7 +17,7 @@ import { exec } from 'child_process'; import { createTransport } from 'nodemailer'; import { app as v1 } from './cloud/customRoute/v1/apiV1.js'; import { PostHog } from 'posthog-node'; -import { useLocal } from './Utils.js'; +import { smtpenable, useLocal } from './Utils.js'; let fsAdapter; if (useLocal !== 'true') { @@ -54,7 +54,7 @@ let transporterMail; let mailgunClient; let mailgunDomain; let isMailAdapter = false; -if (process.env.SMTP_ENABLE) { +if (smtpenable) { try { transporterMail = createTransport({ host: process.env.SMTP_HOST, @@ -85,9 +85,7 @@ if (process.env.SMTP_ENABLE) { console.log('Please provide valid Mailgun credentials'); } } -const mailsender = process.env.SMTP_ENABLE - ? process.env.SMTP_USER_EMAIL - : process.env.MAILGUN_SENDER; +const mailsender = smtpenable ? process.env.SMTP_USER_EMAIL : process.env.MAILGUN_SENDER; export const config = { databaseURI: process.env.DATABASE_URI || process.env.MONGODB_URI || 'mongodb://localhost:27017/dev', From 476a99feae834c15a72ed69cb9a6035932874785 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Wed, 12 Jun 2024 16:56:28 +0530 Subject: [PATCH 2/2] fix: smtpsecure is not defined --- apps/OpenSignServer/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/OpenSignServer/index.js b/apps/OpenSignServer/index.js index f7dd19b55..f222e955d 100644 --- a/apps/OpenSignServer/index.js +++ b/apps/OpenSignServer/index.js @@ -17,7 +17,7 @@ import { exec } from 'child_process'; import { createTransport } from 'nodemailer'; import { app as v1 } from './cloud/customRoute/v1/apiV1.js'; import { PostHog } from 'posthog-node'; -import { smtpenable, useLocal } from './Utils.js'; +import { smtpenable, smtpsecure, useLocal } from './Utils.js'; let fsAdapter; if (useLocal !== 'true') { @@ -59,7 +59,7 @@ if (smtpenable) { transporterMail = createTransport({ host: process.env.SMTP_HOST, port: process.env.SMTP_PORT || 465, - secure: process.env.SMTP_SECURE || true, + secure: smtpsecure, auth: { user: process.env.SMTP_USER_EMAIL, pass: process.env.SMTP_PASS,