lrf 2 years ago
parent
commit
9d53df67d0

+ 19 - 0
.vscode/launch.json

@@ -0,0 +1,19 @@
+// .vscode/launch.json
+{
+  "version": "0.2.0",
+  "configurations": [
+    {
+      "name": "邮件服务",
+      "type": "node",
+      "request": "launch",
+      "cwd": "${workspaceRoot}",
+      "runtimeExecutable": "npm",
+      "windows": { "runtimeExecutable": "npm.cmd" },
+      "runtimeArgs": ["run", "debug"],
+      "console": "integratedTerminal",
+      "protocol": "auto",
+      "restart": true,
+      "autoAttachChildProcesses": true
+    }
+  ]
+}

+ 8 - 1
app/controller/email.js

@@ -36,7 +36,14 @@ class EmailController extends Controller {
   }
   }
 
 
   getTemplate(template, sender, receiver, params) {
   getTemplate(template, sender, receiver, params) {
-    const p = path.resolve('template', `${template}.js`);
+    let p;
+    if (_.isString(template)) p = path.resolve('template', `${template}.js`);
+    if (_.isArray(template)) {
+      const last = _.last(template);
+      const fileName = `${last}.js`;
+      template.pop();
+      p = path.resolve('template', ...template, fileName);
+    }
     const tl = require(p);
     const tl = require(p);
     const f = tl(sender, receiver, params);
     const f = tl(sender, receiver, params);
     return f;
     return f;

+ 5 - 0
config/config.default.js

@@ -61,6 +61,11 @@ module.exports = appInfo => {
       user: 'gzsdcsmfzyxgs@163.com',
       user: 'gzsdcsmfzyxgs@163.com',
       pass: 'URWCTDJNYKVOBBRN',
       pass: 'URWCTDJNYKVOBBRN',
     },
     },
+    jcyjdtglpt: {
+      from: '基础研究动态管理平台',
+      user: 'myhope1977@163.com',
+      pass: 'RZGYKLOQUTRCNLEO',
+    },
   };
   };
   // 开发人员邮箱,","分隔
   // 开发人员邮箱,","分隔
   config.devPerson = '402788946@qq.com';
   config.devPerson = '402788946@qq.com';

+ 27 - 0
template/jcyjdtglpt/toResetPassword.js

@@ -0,0 +1,27 @@
+const assert = require('assert');
+/**
+ * 重置密码
+ * @param {Object} sender 发送人设置
+ * @param {String} receiver 发送对象
+ * @param {Object} params 模板参数
+ */
+module.exports = (sender, receiver, params) => {
+  assert(sender, '缺少发送人信息');
+  const { from, user, pass } = sender;
+  const auth = { user, pass };
+  const mailConfig = {
+    host: 'smtp.163.com',
+    port: 465,
+    secure: true,
+    auth,
+  };
+  const { code } = params;
+  const text = `【基础研究动态管理平台】您正在重置密码! 验证码为:${code},若非本人操作,请忽略此信息。<${from}>`;
+  const mailContext = {
+    from: `"${from}" <${user}>`, // 邮件来源
+    to: receiver, // 邮件发送到哪里,多个邮箱使用逗号隔开
+    subject: `${from}-重置密码`, // 邮件主题
+    html: text, // html类型的邮件正文
+  };
+  return { mailContext, mailConfig };
+};