Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计通过

resend-cliresend CLI 命令行

Agent Skill

resend-cli 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

7,892

周安装

339

GitHub Stars

公开资料未说明

下载量

2,766
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:resend-cli(resend CLI 命令行)
来源仓库:https://github.com/maciejlis/resend-cli
安装命令:
openclaw skills install resend-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install resend-cli

简介

通过重新发送 CLI 发送和管理电子邮件。涵盖发送、域、联系人、分段、广播、模板、主题、webhooks 和 API 密钥。

SKILL.md

name
resend
description
Send and manage emails via the Resend CLI. Covers sending, domains, contacts, segments, broadcasts, templates, topics, webhooks, and API keys.
homepage
https://github.com/resend/resend-cli
source
https://github.com/resend/resend-cli
license
MIT
metadata
emoji
📧
primaryEnv
RESEND_API_KEY
requires
bins
["resend"]
env
["RESEND_API_KEY"]
configPaths
install
kind
brew
tap
resend/cli
formula
resend
bins
["resend"]
label
Install Resend CLI (brew)

Resend CLI — Email for Developers

Official CLI for Resend. Covers sending, domains, contacts, segments, broadcasts, templates, webhooks, and API keys.

Prerequisites

  • Install: brew install resend/cli/resend (recommended) or npm install -g resend-cli
  • Auth: resend login or set RESEND_API_KEY env var
  • Credentials stored at: ~/.config/resend/credentials.json (0600 permissions)
  • For automation, use a domain-scoped sending_access key (not full-access) when possible

Auth

Key priority: --api-key flag > RESEND_API_KEY env var > ~/.config/resend/credentials.json.

Always use --json or --quiet flag for non-interactive (agent) usage — forces JSON output, no spinners.

Quick Reference

Emails

# Send
resend emails send \
  --from "Name <you@yourdomain.com>" \
  --to recipient@example.com \
  --subject "Subject" \
  --text "Body" \
  --json

# Send with HTML file
resend emails send --from you@domain.com --to user@example.com \
  --subject "Newsletter" --html-file ./email.html --json

# Send with attachments
resend emails send --from you@domain.com --to user@example.com \
  --subject "Report" --text "See attached" --attachment ./report.pdf --json

# Schedule for later
resend emails send --from you@domain.com --to user@example.com \
  --subject "Later" --text "Hi" --scheduled-at 2026-08-05T11:00:00Z --json

# With CC, BCC, reply-to, tags, headers
resend emails send --from you@domain.com --to user@example.com \
  --subject "Meeting" --text "Notes" \
  --cc manager@example.com --bcc archive@example.com \
  --reply-to noreply@example.com \
  --tags category=marketing --headers X-Entity-Ref-ID=123 --json

# Batch send (up to 100 emails from JSON file)
resend emails batch --file ./emails.json --json
# File format: [{"from":"...","to":["..."],"subject":"...","text":"..."},...]

# List sent emails
resend emails list --json

# Get email details
resend emails get <email-id> --json

# Cancel scheduled email
resend emails cancel <email-id> --json

# Update scheduled email
resend emails update <email-id> --scheduled-at 2026-08-06T09:00:00Z --json

Inbound (Receiving) Emails

# List received emails
resend emails receiving list --json

# Get received email
resend emails receiving get <email-id> --json

# List attachments
resend emails receiving attachments <email-id> --json

# Get single attachment
resend emails receiving attachment <email-id> <attachment-id>

# Forward received email
resend emails receiving forward <email-id> \
  --to user@example.com --from you@domain.com --json

Domains

# List domains
resend domains list --json

# Create domain (returns DNS records to configure)
resend domains create --name example.com --region eu-west-1 --tls enforced --json

# Create with receiving enabled
resend domains create --name example.com --sending --receiving --json

# Verify domain (trigger DNS check)
resend domains verify <domain-id> --json

# Get domain details + DNS records
resend domains get <domain-id> --json

# Update domain settings
resend domains update <domain-id> --tls enforced --open-tracking --json

# Delete domain
resend domains delete <domain-id> --yes --json

Domain lifecycle: create → configure DNS → verify → get (poll until "verified"). Regions: us-east-1, eu-west-1, sa-east-1, ap-northeast-1.

Contacts

# List contacts
resend contacts list --json

# Create contact
resend contacts create --email jane@example.com \
  --first-name Jane --last-name Smith --json

# Create with properties + segments
resend contacts create --email jane@example.com \
  --properties '{"company":"Acme","plan":"pro"}' \
  --segment-id <segment-id> --json

# Get contact (by ID or email)
resend contacts get user@example.com --json

# Update contact
resend contacts update user@example.com --unsubscribed --json

# Delete contact
resend contacts delete <contact-id> --yes --json

# List contact's segments
resend contacts segments user@example.com --json

# Add contact to segment
resend contacts add-segment user@example.com --segment-id <id> --json

# Remove from segment
resend contacts remove-segment user@example.com <segment-id> --json

# List contact's topic subscriptions
resend contacts topics user@example.com --json

# Update topic subscriptions
resend contacts update-topics user@example.com \
  --topics '[{"id":"topic-uuid","subscription":"opt_in"}]' --json

Segments

# List segments
resend segments list --json

# Create segment
resend segments create --name "Newsletter Subscribers" --json

# Get segment
resend segments get <segment-id> --json

# Delete segment (no update endpoint — delete + recreate to rename)
resend segments delete <segment-id> --yes --json

Broadcasts

# Create draft
resend broadcasts create \
  --from hello@domain.com \
  --subject "Weekly Update" \
  --segment-id <segment-id> \
  --html "<p>Hello {{{FIRST_NAME|there}}}</p>" --json

# Create from HTML file
resend broadcasts create --from hello@domain.com \
  --subject "Launch" --segment-id <id> --html-file ./email.html --json

# Create + send immediately
resend broadcasts create --from hello@domain.com \
  --subject "Launch" --segment-id <id> --html "<p>Hi</p>" --send --json

# Create + schedule
resend broadcasts create --from hello@domain.com \
  --subject "News" --segment-id <id> --text "Hello!" \
  --send --scheduled-at "tomorrow at 9am ET" --json

# Send existing draft
resend broadcasts send <broadcast-id> --json

# List broadcasts
resend broadcasts list --json

# Get broadcast details
resend broadcasts get <broadcast-id> --json

# Update draft
resend broadcasts update <broadcast-id> --subject "Updated Subject" --json

# Delete broadcast
resend broadcasts delete <broadcast-id> --yes --json

Template variables in HTML: {{{FIRST_NAME|Friend}}} — triple-brace with optional fallback.

Templates

# List templates
resend templates list --json

# Create template with variables
resend templates create --name "Welcome" \
  --subject "Welcome!" \
  --html "<h1>Hello {{{NAME}}}</h1>" \
  --var NAME:string --json

# Create with fallback
resend templates create --name "Invoice" \
  --subject "Invoice" \
  --html "<p>Amount: {{{AMOUNT}}}</p>" \
  --var AMOUNT:number:0 --json

# Get template
resend templates get <template-id> --json

# Update template
resend templates update <template-id> --subject "Updated Subject" --json

# Publish draft → live
resend templates publish <template-id> --json

# Duplicate template
resend templates duplicate <template-id> --json

# Delete template
resend templates delete <template-id> --yes --json

Lifecycle: create (draft) → update → publish. Re-publish after updating a published template.

Topics

# List topics
resend topics list --json

# Create topic
resend topics create --name "Product Updates" --json

# Create with default opt-out
resend topics create --name "Weekly Digest" --default-subscription opt_out --json

# Get topic
resend topics get <topic-id> --json

# Update topic
resend topics update <topic-id> --name "Security Alerts" --json

# Delete topic
resend topics delete <topic-id> --yes --json

Webhooks

# List webhooks
resend webhooks list --json

# Create webhook (all events)
resend webhooks create \
  --endpoint https://app.example.com/hooks/resend \
  --events all --json

# Get webhook
resend webhooks get <webhook-id> --json

# Update webhook
resend webhooks update <webhook-id> --status disabled --json

# Delete webhook
resend webhooks delete <webhook-id> --yes --json

# Listen locally (dev)
resend webhooks listen --json

Event types (17): email.sent, email.delivered, email.delivery_delayed, email.bounced, email.complained, email.opened, email.clicked, email.failed, email.scheduled, email.suppressed, email.received, contact.created, contact.updated, contact.deleted, domain.created, domain.updated, domain.deleted.

API Keys

# List API keys
resend api-keys list --json

# Create full-access key
resend api-keys create --name "Production" --json

# Create domain-scoped sending key
resend api-keys create --name "CI Token" \
  --permission sending_access --domain-id <domain-id> --json

# Delete key (immediate, irreversible)
resend api-keys delete <api-key-id> --yes --json

Utility

# Doctor — check CLI version, API key, domains, AI agent detection
resend doctor --json

# Who am I
resend whoami --json

# Open dashboard in browser
resend open

# Auth — switch profile
resend auth switch

# Login (non-interactive)
resend login --key re_xxx --json

# Logout
resend logout --json

Global Flags

FlagDescription
--api-key <key>Override API key for this command
-p, --profile <name>Use specific profile
--jsonForce JSON output
-q, --quietSuppress spinners (implies --json)

Agent Usage Rules

  1. Always use --json flag — ensures structured output, no TTY prompts.
  2. All required flags must be provided — no interactive prompts in non-TTY mode.
  3. Destructive actions need --yes — deletes require confirmation bypass.
  4. Exit codes: 0 = success, 1 = error. Errors include message + code.
  5. Batch limit: 100 emails per emails batch request.
  6. Attachments not supported in batch sends.
  7. --scheduled-at requires --send flag on broadcasts.

Error Codes

CodeCause
auth_errorNo API key found
missing_bodyNo --text/--html/--html-file
file_read_errorCan't read file
send_errorAPI rejected the send
missing_keyLogin without --key in non-interactive
validation_failedAPI rejected the key

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.99%
按下载量换算2,157

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills