核心用法
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 或定价策略变化可能影响可用性,需关注官方公告