功能
发信
通过 Resend REST API 发送文本 / HTML 邮件,支持多收件人(逗号 / 分号 / 换行 / 空格分隔)。
Rhai 驱动
身份获取(组织内授权,本地不知密码)、禁止判定、发信、计数全部在 scripts/default.rhai 中实现。
可在「脚本」页「重新加载脚本」即时生效,无需重新编译。
固定发信名称
在设置中配置一次(如 Soup Team <noreply@soup.dev>),所有邮件自动使用。
发信计数与套餐余量
- 累计已发 + 本期(按周期起点,默认当月 1 号)已发
- 设置中选择 Free / Pro / Scale 或自定义月度额度
- 发信页实时显示
剩余 = 额度 − 本期已发,用尽时提示变红
加密
- 分类密码加密:libsmx 国密 SM4-GCM,可分别加密「API Key」「发信名称」
- 多项同一密码:密文存储,密码本身不落盘
- 加密运行日志:
ui::log(...)以 SM4-GCM 密文落盘(本机随机密钥)
历史与草稿
- 每次发信(成功 / 失败 / 被禁止)写入本地
history.sml(上限 1000 条) - 草稿保存后下次启动自动恢复
大附件上传进度
状态栏实时显示 3.2 MB / 10.0 MB(32%),带每秒刷新;请求带超时(连接 15s,总超时按附件大小缩放至多 300s)。
自动化(Rhai API)
fn my_task(args) {
let to = args[0];
send_mail(to, "主题", "正文", false, "", []);
return "ok";
}
api::register("my.task", Fn("my_task"), "我的自动化任务");
命令行:resender run <handler名称> [参数...],适合 cron / 计划任务。