邮件服务
邮件SMTP
爱速搭邮件发送是基于 nodemailer 实现的 SMTP 邮件客户端,配置如下:
ISUDA_EMAIL_HOST
邮件主机地址ISUDA_EMAIL_PORT
邮件服务端口号,默认587
ISUDA_EMAIL_USER
邮件服务账号ISUDA_EMAIL_PASS
邮件服务密码ISUDA_EMAIL_FROM
邮件发送地址,该地址作为邮件发送者ISUDA_EMAIL_SECURE
是否开启ssl验证
邮件API
爱速搭中的验证码、流程状态通知都需要依赖邮件,如果由于安全或网络隔离等原因无法设置 stmp,就需要自己实现邮件推送接口。
使用方法
首先在安装的时候配置 ISUDA_EMAIL_API
环境变量,这是个 URL 地址,除了这个变量还能配置 ISUDA_EMAIL_API_PASSWORD
来做安全校验,避免接口被第三方调用。
邮件 API 的实现参考示例
如果设置了 ISUDA_EMAIL_API
,爱速搭在发邮件的时候就会向这个地址发请求,使用 JSON 方式提交,将会提交两种格式的数据:
第一种是纯文本
{
"from": "", // 发件人,可以忽略
"to": "", // 收件人邮箱
"bcc": "", // 密送邮箱
"subject": "", // 邮件标题
"text": "" // 纯文本内容
}
第二种是富文本,和前面的区别是 text
变成了 html
{
"from": "", // 发件人,可以忽略
"to": "", // 收件人邮箱
"bcc": "", // 密送邮箱
"subject": "", // 邮件标题
"html": "" // 纯文本内容
}
实现参考示例:
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.post('/email-api', function (req, res) {
// 这里的 emailOptions 就是前面提到的 json 参数
const emailOptions = req.body;
// 如果设置了密码就可以使用如下方式验证
// const token = req.header('Authorization').replace('Bearer ', '');
// jwt.verify(token, ISUDA_EMAIL_API_PASSWORD);
res.end('ok');
});
app.listen(3000);