Resend Send Native Node

📧 Zero-dependency Resend email sender

Native Node.js email sending via Resend API with zero dependencies, dry-run by default, and strict allowlist controls for safe automation.

收藏
3.3k
安装
989
版本
1.0.12
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

resend-send-native-node 提供通过 Resend.com HTTPS API 发送邮件的原生 Node.js 方案,无需 OAuth、2FA 或 Gmail 授权。核心命令为 node scripts/send.mjs,配合 --to--subject--body 参数使用。

关键安全设计:

  • 默认 dry-run:无 --send 时仅打印请求负载,不实际发送
  • 显式授权开关--send 参数需配合 RESEND_ALLOWED_TO 环境变量白名单才能执行真实发送
  • 零依赖架构:仅使用 Node.js 18+ 原生 fetchAbortController

典型工作流:
1. 先生成并审查邮件正文内容

2. 执行 dry-run 查看完整请求负载(含 SHA-256 校验)

3. 获得用户对所有字段(to/cc/bcc/from/reply-to/subject/body)的显式批准后,添加 --send 执行发送

环境变量要求:

  • RESEND_API_KEY(格式 re_...
  • RESEND_ALLOWED_TO(逗号分隔的收件人白名单)

显著优点

1. 极简依赖:零外部依赖包,代码量小到可直接审计
2. 安全优先设计:fail-closed 默认策略,无白名单时拒绝真实发送

3. 可验证输出:dry-run 和真实发送均输出 body 字节数、SHA-256 哈希,支持内容校验

4. 结构化收据--json 模式输出机器可解析的 receipt,含 resendId 和完整审计字段

5. 无需 Google 生态:绕过 Gmail OAuth 和 App Password 复杂配置

潜在局限

  • 仅发送功能:无法读取邮件、管理收件箱或处理附件
  • Resend 账户依赖:需注册 Resend.com,免费额度/定价策略可能变动
  • 默认发件人受限onboarding@resend.dev 仅适合测试,生产需验证自有域名
  • 无文件输入:不支持 --body-file,必须通过命令行传参(出于安全审查考虑)
  • 网络失败歧义:超时/网络错误后无法确定邮件是否已送达,需人工查 Resend 仪表板

适合人群

  • 需要快速集成邮件发送的 Node.js 开发者
  • 追求极简依赖、可审计代码的安全敏感场景
  • 定期报告/通知类自动化(周报、监控告警)
  • 希望避开 Gmail OAuth 复杂配置的替代方案寻求者

常规风险

| 风险类型 | 说明与缓解 |
|---------|-----------|
| **误发送风险** | 严格 dry-run → 显式批准 → `--send` + 白名单的三层防护 |
| **身份伪造风险** | 需审查 `from` 字段的 display-name,防止欺骗性发件人名称 |
| **敏感数据泄露** | 禁止直接传输未过滤的内存/日志/工作区上下文,仅发送人工审查后的报告文本 |
| **API 密钥泄露** | 仅通过环境变量读取,命令行和 dry-run 日志中自动脱敏 |
| **重复发送风险** | 网络超时后需先查 Resend 仪表板确认状态,避免盲目重试 |

Resend Send Native Node 内容

scripts文件夹
tests文件夹
手动下载zip · 10.5 kB
send.mjstext/javascript
请选择文件