Initial LinkedSign platform
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
const nodemailer = require('nodemailer');
|
||||
const env = require('../../config/env');
|
||||
|
||||
let transporter;
|
||||
|
||||
const getTransporter = () => {
|
||||
if (transporter) return transporter;
|
||||
|
||||
if (env.mail.user && env.mail.pass) {
|
||||
transporter = nodemailer.createTransport({
|
||||
host: env.mail.host,
|
||||
port: env.mail.port,
|
||||
secure: env.mail.secure,
|
||||
auth: {
|
||||
user: env.mail.user,
|
||||
pass: env.mail.pass,
|
||||
},
|
||||
tls: {
|
||||
rejectUnauthorized: env.mail.rejectUnauthorized,
|
||||
},
|
||||
});
|
||||
return transporter;
|
||||
}
|
||||
|
||||
transporter = nodemailer.createTransport({
|
||||
streamTransport: true,
|
||||
newline: 'unix',
|
||||
buffer: true,
|
||||
});
|
||||
|
||||
return transporter;
|
||||
};
|
||||
|
||||
const sendMail = async ({ to, subject, html, text }) => {
|
||||
const activeTransporter = getTransporter();
|
||||
const info = await activeTransporter.sendMail({
|
||||
from: env.mail.from,
|
||||
to,
|
||||
subject,
|
||||
html,
|
||||
text,
|
||||
});
|
||||
|
||||
return info;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
sendMail,
|
||||
};
|
||||
Reference in New Issue
Block a user