首页龙虾技能列表 › resend-email — Resend邮件发送

resend-email — Resend邮件发送

v1.0.3

通过Resend API从任何已验证域名发送邮件。用于发送邮件、通知或自动消息时。支持HTML和纯文本。

0· 745·2 当前·2 累计
by @vladchatware (Vlad Rimsha)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/28
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能似乎确实做到了它所说的——通过Resend API发送邮件并处理入站webhooks——其文件/指令与该目的一致,尽管它期望本地Resend凭证和可选的webhook暴露,您应该保护这些。
评估建议
此技能对于通过Resend发送和接收邮件内部一致,但在安装之前:1) 验证并保护您的Resend API密钥——脚本读取~/.config/resend/credentials.json(或RESEND_API_KEY),因此确保该文件仅包含预期的密钥且仅对您可读;2) 如果您启用入站webhook,请保护共享密钥并仅通过受信任的隧道服务暴露端点(README建议Tailscale Funnel);3) 确认Resend账户中的默认发件地址和已验证域名,以避免从未经授权的域名意外发送;4) 因为技能来源列为未知,请自己审查两个包含的文件(send.sh和resend-inbound.js)——它们简短且可读,不包含除api.resend.com之外的混淆或意外网络目的地;5) 如果您更喜欢更严格的凭证控制,考虑将API密钥存储在密钥管理器或环境变量中,而不是未加密的文件。...
详细分析 ▾
用途与能力
名称/描述与实际行为匹配:send.sh脚本和JS转换调用Resend API发送/获取邮件。技能期望Resend凭证(存储在~/.config/resend/credentials.json或通过RESEND_API_KEY),这对于此功能是适当的。
指令范围
SKILL.md指导代理读取本地凭证文件、调用Resend端点,以及(可选)通过Tailscale Funnel暴露本地webhook并配置Clawdbot钩子。这些行动与所述目的一致,但确实指导代理读取本地配置路径(~/.config/resend/credentials.json),如果您遵循webhook指令,还会打开网络暴露。
安装机制
无安装规范(纯指令的,带有附带脚本)——不下载或提取任何内容。运行时使用现有工具(bash、curl、python3、node),因此安装风险低。
凭证需求
该技能需要Resend API密钥和默认发件地址,它期望在~/.config/resend/credentials.json或RESEND_API_KEY中;然而注册表元数据未列出所需的环境变量。这是合理的,但次要不匹配——敏感凭证从本地文件或环境读取,因此您应该确保该文件/变量受到保护。Clawdbot webhook使用共享密钥令牌,必须安全管理。
持久化与权限
该技能不请求永久/始终包含,不修改其他技能,不需要提升的平台权限。默认允许自主调用,但对于技能这是正常的;此处没有放大该风险。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.32026/2/28

添加接收/webhook配置说明(Clawdbot + Tailscale Funnel + MagicDNS);包含示例入站转换

● 无害

安装命令 点击复制

官方npx clawhub@latest install resend-email
镜像加速npx clawhub@latest install resend-email --registry https://cn.clawhub-mirror.com

技能文档

Send emails from any Resend-verified domain using the Resend API.

Quick 开始

# Send simple email
bash skills/resend-email/scripts/send.sh \
  --to "recipient@example.com" \
  --subject "Subject Line" \
  --body "Email body text"

# With custom from address bash skills/resend-email/scripts/send.sh \ --to "recipient@example.com" \ --from "you@yourdomain.com" \ --subject "Subject" \ --body "Body"

Direct API Call

curl -X POST 'https://api.resend.com/emails' \
  -H "Authorization: Bearer $(cat ~/.config/resend/credentials.json | jq -r .api_key)" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@yourdomain.com",
    "to": ["recipient@example.com"],
    "subject": "Subject",
    "text": "Plain text body"
  }'

Configuration

  • Credentials: ~/.配置/resend/credentials.json
  • Domain: 任何 Resend-verified domain (configured 在...中 Resend 账户)
  • 默认 从: 设置 在...中 credentials.json (e.g., noreply@yourdomain.com)

Receiving (Webhook + Clawdbot)

Use this when you want Resend inbound emails to trigger Clawdbot automatically.

1) Enable Clawdbot hooks

{
  hooks: {
    enabled: true,
    token: "",
    path: "/hooks",
    transformsDir: "~/.clawdbot/hooks",
    mappings: [
      {
        id: "resend",
        match: { path: "resend" }, // relative to /hooks (no leading slash)
        action: "agent",
        deliver: true,
        channel: "telegram",
        transform: { module: "resend-inbound.js", export: "transform" }
      }
    ]
  }
}

Important: match.path relative/hooks (e.g., /hooks/resendresend).

2) Expose webhook (Tailscale Funnel)

If your gateway is local-only, expose it via Funnel:

/Applications/Tailscale.app/Contents/MacOS/Tailscale funnel --bg 18789

MagicDNS + HTTPS certs 必须 已启用 在...中 tailnet 对于 TLS 到 work.

3) Configure Resend webhook

In Resend → Webhooks:

  • URL: https://<-tailnet-host>.ts.net/hooks/resend?令牌=
  • 事件: email.received

Resend cannot set custom headers, so use ?token=.

4) 获取 满 email content

Resend webhooks do not include body text. Use the receiving API:

GET https://api.resend.com/emails/receiving/:id

(See resend-inbound.js for an example transform that fetches the body.)

Email Voice: Bureaucrat

See references/voice-bureaucrat.md for the default email tone.

键 traits:

  • Warm, patient, endlessly polite
  • Passive voice (" recommended …")
  • Official jargon ("compliance 框架", "pursuant 到 section 14(b)")
  • Everything framed 作为 "best practices"
  • Bullet points 开始 带有 "Please note …"
  • Ends 带有 "我们 appreciate cooperation"

Tone: DMV supervisor 谁 smiles 当...时 denying 表单 × LinkedIn thought-leader 谁 genuinely believes bureaucracy beautiful.

When drafting emails, apply this voice unless instructed otherwise.

HTML Emails

curl -X POST 'https://api.resend.com/emails' \
  -H "Authorization: Bearer $RESEND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "noreply@yourdomain.com",
    "to": ["recipient@example.com"],
    "subject": "Subject",
    "html": "

Hello

HTML content

" }'

Notes

  • 发送.sh preserves line breaks 在...中 --body (否 literal \n 输出).
  • 使用 --html 对于 rich formatting; 默认 plain text.

Common Patterns

Transactional 通知:

# Order confirmation, welcome email, etc.
bash skills/resend-email/scripts/send.sh \
  --to "customer@example.com" \
  --subject "Your Request Has Been Processed" \
  --body "$(cat <<'EOF'
Dear Valued Individual,

Please note that your recent submission has been received and processed in accordance with standard operating procedures.

It should be understood that all requests are handled in the order received, pursuant to our established compliance framework.

We appreciate your cooperation in maintaining an orderly process.

Warm regards, Clawd Agent Services Division EOF )"

回复 到 inquiry: Apply bureaucrat voice. Be helpful while maintaining the veneer of official procedure.

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务