瀏覽代碼

missing files

isundil 1 月之前
父節點
當前提交
f70f0cb491
共有 2 個文件被更改,包括 45 次插入0 次删除
  1. 31 0
      src/mailService.js
  2. 14 0
      templates/authEmailTotp.js

+ 31 - 0
src/mailService.js

@@ -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;
+  }
+};

+ 14 - 0
templates/authEmailTotp.js

@@ -0,0 +1,14 @@
+module.exports = context => `<!DOCTYPE html>
+<html>
+    <body style="max-width: 648px; margin: 1rem auto; background-color: #eee;"><div style="background-color: white;padding: 2rem; ">
+Hey,
+
+Here's your one-time access code: <b style="font-size: 1.5rem;">${context.code}</b><br/>
+<br/>
+It's valid for 30 minutes, so be sure to use it before it disappears.<br/>
+<br/>
+And remember - keep it just for you, it's your personal key!<br/>
+<br/>
+Team Photochamber<br/><br/>
+    </div></body>
+</html>`;