爱速搭中的验证码、流程状态通知都需要依赖邮件,如果由于安全或网络隔离等原因无法设置 stmp,就需要自己实现邮件推送接口。

使用方法

首先在安装的时候配置 ISUDA_EMAIL_API 环境变量,这是个 URL 地址,除了这个变量还能配置 ISUDA_EMAIL_API_PASSWORD 来做安全校验,避免接口被第三方调用。

邮件 API 的实现参考示例

如果设置了 ISUDA_EMAIL_API,爱速搭在发邮件的时候就会向这个地址发请求,使用 JSON 方式提交,将会提交两种格式的数据:

第一种是纯文本

  1. {
  2. "from": "", // 发件人,可以忽略
  3. "to": "", // 收件人邮箱
  4. "bcc": "", // 密送邮箱
  5. "subject": "", // 邮件标题
  6. "text": "" // 纯文本内容
  7. }

第二种是富文本,和前面的区别是 text 变成了 html

  1. {
  2. "from": "", // 发件人,可以忽略
  3. "to": "", // 收件人邮箱
  4. "bcc": "", // 密送邮箱
  5. "subject": "", // 邮件标题
  6. "html": "" // 纯文本内容
  7. }

实现参考示例:

  1. const express = require('express');
  2. const jwt = require('jsonwebtoken');
  3. const app = express();
  4. const bodyParser = require('body-parser');
  5. app.use(bodyParser.json());
  6. app.post('/email-api', function (req, res) {
  7. // 这里的 emailOptions 就是前面提到的 json 参数
  8. const emailOptions = req.body;
  9. // 如果设置了密码就可以使用如下方式验证
  10. // const token = req.header('Authorization').replace('Bearer ', '');
  11. // jwt.verify(token, ISUDA_EMAIL_API_PASSWORD);
  12. res.end('ok');
  13. });
  14. app.listen(3000);