|
|
@@ -0,0 +1,31 @@
|
|
|
+const nodemailer = require("nodemailer");
|
|
|
+const mailConfig = require("./config").mailConfig;
|
|
|
+
|
|
|
+let sent = {};
|
|
|
+
|
|
|
+module.exports.sendMail = function (dest, subject, body) {
|
|
|
+ if (sent[dest] && send[dest] + 10 * 60 * 1000 >= Date.now()) return;
|
|
|
+ sent[dest] = Date.now();
|
|
|
+ try {
|
|
|
+ const transporter = nodemailer.createTransport({
|
|
|
+ host: mailConfig.host,
|
|
|
+ port: mailConfig.port,
|
|
|
+ secure: mailConfig.secure,
|
|
|
+ auth: {
|
|
|
+ user: mailConfig.mailFrom,
|
|
|
+ pass: mailConfig.mailFromPasswd,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ transporter.sendMail({
|
|
|
+ from: mailConfig.mailFrom,
|
|
|
+ to: dest,
|
|
|
+ subject: subject,
|
|
|
+ html: body,
|
|
|
+ }).catch(err => {
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ } catch (err) {
|
|
|
+ console.error(err);
|
|
|
+ return err;
|
|
|
+ }
|
|
|
+};
|