Resend Send Native Node

📧 零依赖原生邮件发送,安全 dry-run 先行

纯原生 Node.js 实现 Resend.com 邮件发送,零依赖、支持 HTML/纯文本,内置 dry-run 安全机制,需显式 --send 及 RESEND_ALLOWED_TO 白名单才允许真实发送。

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

使用说明

核心用法

resend-send-native-node 是一个极简、零依赖的原生 Node.js 脚本,用于通过 Resend.com HTTPS API 发送电子邮件。无需 OAuth、2FA 或 Gmail 账户,仅需 RESEND_API_KEY 环境变量即可工作。

基本调用流程:
1. 默认 dry-run 模式预览请求体(安全优先)

2. 用户显式审核收件人、主题、正文内容

3. 添加 --send 标志执行真实发送

4. 必须通过 RESEND_ALLOWED_TO 环境变量配置收件人白名单,否则真实发送失败关闭

支持的邮件格式:

  • 纯文本 (--body "内容")
  • HTML (--html --body "<h1>标题</h1>")
  • 自定义发件人 (--from)、抄送 (--cc)、密送 (--bcc)、回复地址 (--reply-to)

显著优点

  • 零依赖攻击面:单文件原生 Node.js,无 npm 依赖树,可直接审计
  • 安全默认设计:dry-run 优先,--send 需显式授权;RESEND_ALLOWED_TO 白名单强制 fail-closed
  • 极简集成:绕过 Gmail OAuth 繁琐流程,适合 CI/CD 自动报告、定时任务等场景
  • 即时可用:默认使用 onboarding@resend.dev 发件人,无需域名验证即可测试
  • 可审计输出:dry-run 显示正文字节数和 SHA-256 前缀,便于核对审查内容与发送内容一致

潜在缺点与局限性

  • 发送独占性:仅支持发送,无法读取或管理邮件
  • 无附件支持:当前版本不支持文件附件
  • 发件人形象问题:默认 onboarding@resend.dev 具有明显的"事务性邮件"特征,不适合需要正式商业身份的场合
  • 无文件输入:故意不支持 --body-file,需手动审核并内联传递正文
  • 速率限制依赖第三方:Resend 的免费/付费配额可能变化,需自行监控
  • Windows 平台小瑕疵:HTTP 403 错误后可能出现 Node.js 清理断言,属 cosmetic 问题

适合人群

  • 需要快速实现"邮件报告"功能的开发者与自动化工作流
  • 厌恶 Gmail OAuth 复杂性的团队
  • 追求可审计、最小依赖的安全敏感场景
  • 已有 Resend.com 账户,需要轻量级发送脚本的现有用户

常规风险

1. 环境密钥泄露:RESEND_API_KEY 以 re_ 开头,需妥善保管于进程环境,避免提交至代码仓库
2. 白名单绕过:若 RESEND_ALLOWED_TO 配置过于宽泛(如 *@example.com),可能意外发送至未审核地址

3. 内容注入:--body 直接传递至 JSON API,需确保已通过其他机制过滤恶意 HTML/脚本

4. 误触发送:--send 标志需严格遵循"显式批准"流程,避免自动化脚本在未经审查时意外携带该标志

5. API 变更风险:Resend 服务端 API 或定价策略变化可能影响可用性,需关注官方公告

Resend Send Native Node 内容

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