error.js 978 B

1234567891011121314151617181920212223242526272829303132
  1. const _ = require('lodash');
  2. const assert = require('assert');
  3. /**
  4. * 服务发生错误的拦截
  5. * @param {Object} sender 发送人设置
  6. * @param {String} receiver 发送对象
  7. * @param {Object} params 模板参数
  8. */
  9. module.exports = (sender, receiver, params) => {
  10. assert(sender, '缺少发送人信息');
  11. const { from, user, pass } = sender;
  12. const auth = { user, pass };
  13. const mailConfig = {
  14. host: 'smtp.163.com',
  15. port: 465,
  16. secure: true,
  17. auth,
  18. };
  19. const { errmsg, errcode } = params;
  20. let text = `<p>错误代码:${errcode}</p><p>错误信息:<br/>${errmsg}</p>`;
  21. while (text.includes('\n')) {
  22. text = text.replace('\n', '<br/>');
  23. }
  24. const mailContext = {
  25. from: `"${from}" <${user}>`, // 邮件来源
  26. to: receiver, // 邮件发送到哪里,多个邮箱使用逗号隔开
  27. subject: `${from}-服务发生错误`, // 邮件主题
  28. html: text, // html类型的邮件正文
  29. };
  30. return { mailContext, mailConfig };
  31. };