sendmux-send-email
Use when a user needs advice or implementation help for sending one or many emails through Sendmux: choose the HTTP Sending API versus SMTP, design single or…
Skill by sendmux
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sendmux-sendmux-send-email-2de6ef
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, security, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
sendmux-send-email- Description
- Use when a user needs advice or implementation help for sending one or many emails through Sendmux: choose the HTTP Sending API versus SMTP, design single or batch sends, attach files, apply idempotency, or inspect send results through MCP, CLI, SDK, or direct HTTP. Not for initial credential, API-key, OAuth, or profile setup—use sendmux-getting-started; not for reading, searching, syncing, or triaging an inbox—use sendmux-mailbox-agent.
- License
- Apache-2.0
- Metadata
- author: sendmux · version: 1.0
- Instructions
- 268 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (3)
- SKILL.md
- evals.json · evals/
- trigger-evals.json · evals/
SKILL.md (first lines)
# Sendmux send email
Use this skill when the user is ready to send outbound email through Sendmux or needs code/commands for sending.
## Safety first
- Do not ask the user to paste an API key.
- Do not invent recipients, sender addresses, subject lines, or body content.
- Send only after the user supplies or confirms every recipient and message.
- For batch sends, confirm the full recipient/message set before calling a send tool.
- Use a send-capable `smx_mbx_` key, owner-approved Sending-resource `smx_agent_` token, or REST OAuth grant with Sending access and `email.send` for the Sending HTTP API. SMTP requires a send-capable API key; OAuth access tokens are not SMTP or IMAP passwords.
For an agent-profile before/after approval answer, cover the complete lifecycle:
| State | Required explanation |
| --- | --- |
| Before owner acceptance and sending approval | The durable credential is read/receive-only, sends fail closed, and the self-registered inbox is capped at 500 MiB. |
| After sending approval | Storage rises to at least 5 GiB. The CLI automatically exchanges for a one-hour delegated `email.send` token and caches it only until near expiry; the sender supplies one stable `--idempotency-key` per logical send. |
| After sending revocation | Sending becomes unavailable again, but revocation does not itself change the current inbox storage allocation. |
Sending approval supplies the required authority; it does not guarantee that a later request will pass validation or be accepted for delivery.
## Choose the send path
| User task | Efficient default |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| One outbound email | `POST /emails/send`, MCP `sending_send_email`, CLI `sending:send`, or SDK `sendingSendEmail`. |
| More than one independent outbound email | Batch by default: `POST /emails/send/batch`, MCP `sending_send_email_batch`, CLI `sending:send:batch`, or SDK `sendingSendEmailBatch`. |
| Sending API attachment file | Upload a real file with `sending_create_attachment_upload`, CLI `--attach`, or SDK file helpers; reserve `sending_upload_attachment` inline content for tiny agent-authored bytes; send by `attachment_id`. |
| Replying while working inside one mailbox | Use mailbox send from `sendmux-mailbox-agent` when the workflow is mailbox-centred. |
| Existing app only supports SMTP | Use SMTP only because the existing tool requires it. For new agent or app integrations, prefer the HTTP Sending API. |
When explaining a batch send, cover:
| Part | Requirement |
| --- | --- |
| Authority | A send-capable `smx_mbx_` key, owner-approved Sending-resource `smx_agent_` token, or REST OAuth grant with `email.send`. |
| Payload | A `messages[]` body with up to 100 independently confirmed messages. |
| Completion | Inspect every result item because a batch can partially succeed. |
Credential validation proves only that the credential can read Sending connection metadata; it does not approve or authorise a later message. A complete validation answer has three parts:
- **Validation:** `sendmux sending:get-connection --profile work --json` checks a Sending connection without sending email.
- **Transport:** a REST OAuth grant with `email.send` works for the HTTP Sending API; OAuth access tokens are not SMTP or IMAP passwords.
- **Next send:** separately require explicit user approval of the complete sender, recipients, subject, body, and attachments before any later send.
For OAuth profile setup, refresh and logout, follow `sendmux-cli`. SDK clients accept `accessToken` instead of `apiKey`, including a token provider; your application owns storage and refresh coordination.
## Required JSON shape
Single send body:
```json
{
"from": { "email": "sender@example.com", "name": "Sender Name" },
"to": { "email": "recipient@example.com", "name": "Recipient Name" },
"subject": "Subject line",
"html_body": "<p>Hello.</p>",
"text_body": "Hello."
}
```
Required fields: `from`, `to`, `subject`, `html_body`.
Useful optional fields:
- `text_body`: plain text alternative.
- `cc`, `bcc`: arrays of recipients, max 49 each and subject to 50 total `to`, `cc`, and `bcc` recipients.
- `reply_to`: one address object.
- `return_path`: envelope sender for bounce handling.
- `custom_headers`: custom `X-*` headers.
- `attachments`: up to 10 items. Prefer uploaded refs `{ "attachment_id": "att_..." }`. Inline compatibility form uses `filename` plus base64 `content`, optional `type`, and `encoding: "base64"`.
For mailbox sends and saved drafts, `custom_headers` excludes `X-SES-TENANT`, `X-SES-CONFIGURATION-SET` and `X-SES-MESSAGE-TAGS`, regardless of letter case. Older drafts containing these headers remain readable. Clear saved custom headers with `"custom_headers": {}` in a draft update, following `sendmux-mailbox-agent`.
For real local files, do not ask the model to produce base64. Route attachment-heavy work to `sendmux-attachments`; use CLI `--attach`, SDK file helpers, or delegated `sending_create_attachment_upload`, then pass `attachment_id` refs. For a presigned Sending upload, the upload intent's returned `max_size_bytes` is the size authority; the final sent message is capped at 25 MB. Mailbox `blob_id` refs are for mailbox sends, not Sending API sends.
For a direct HTTP batch call, keep authority and retry metadata outside the JSON body:
```http
POST /emails/send/batch HTTP/1.1
Authorization: Bearer $SENDMUX_MBX_KEY
Content-Type: application/json
Idempotency-Key: $IDEMPOTENCY_KEY
```
`$SENDMUX_MBX_KEY` must resolve to a send-capable `smx_mbx_` key. An owner-approved Sending-resource `smx_agent_` token is also accepted. The request body is:
```json
{
"messages": [
{
"from": { "email": "sender@example.com" },
"to": { "email": "alice@example.com" },
"subject": "Hello Alice",
"html_body": "<p>Hi Alice.</p>"
},
{
"from": { "email": "sender@example.com" },
"to": { "email": "bob@example.com" },
"subject": "Hello Bob",
"html_body": "<p>Hi Bob.</p>"
}
]
}
```
## Idempotency
Add `Idempotency-Key` to every send that may be retried. Use one stable key per logical email or batch.
- Same key and same body: returns the cached response for 24 hours.
- Same key and different body: returns `409 idempotency_conflict`.
- Keep keys under 255 characters.
## MCP
Use MCP when the user's agent already has the Sending server connected:From Sendmux/skills, Apache-2.0.
More from Sendmux/skills
- 0.642score
sendmux-attachments
sendmux
Use Sendmux attachment workflows without wasting model context on base64.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-cli
sendmux
Use when a user wants to run the Sendmux **CLI** (the `sendmux` terminal binary) — installing it, OAuth login/logout, connection checks, agent inbox…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-email-for-agents
sendmux
Use when a user wants to design or plan how an AI agent gets and uses email — giving an agent its own inbox, deciding between owner-managed vs self-registered…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-getting-started
sendmux
Use when a user needs Sendmux setup, OAuth connection checks, agent inbox registration, owner linking, credential validation, surface selection, or a first…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-mailbox-agent
sendmux
Operate inside an already-existing Sendmux mailbox on behalf of an AI agent: read, search, count, sync, triage, file, delete, thread, save or edit a reply…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-management
sendmux
Use this skill for Sendmux account/team administration with a root API key or Management-scoped OAuth connection.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-mcp-setup
sendmux
Set up, configure, and troubleshoot Sendmux Model Context Protocol (MCP) servers for AI agent clients.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-send-email
sendmux
Use when a user needs advice or implementation help for sending one or many emails through Sendmux: choose the HTTP Sending API versus SMTP, design single or…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-token-efficient-usage
sendmux
Use when the question is about *how to call* Sendmux cheaply, not what to send: choosing batch vs.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
agent-email-inbox
sendmux
Use when an AI agent needs read-only triage of an existing Sendmux inbox or unsent reply text from its messages.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
email-for-ai-agents
sendmux
Use when an AI agent needs to send one outbound email through Sendmux with human approval, including a status notification or delegated agent send.
SkillAFreshness: A★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Oct 13, 2026 (15 days ago)
- Last release
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- Apache-2.0
- Repository
- github.com/Sendmux/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from sendmux
- 0.642score
sendmux-attachments
sendmux
Use Sendmux attachment workflows without wasting model context on base64.
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-cli
sendmux
Use when a user wants to run the Sendmux **CLI** (the `sendmux` terminal binary) — installing it, OAuth login/logout, connection checks, agent inbox…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-email-for-agents
sendmux
Use when a user wants to design or plan how an AI agent gets and uses email — giving an agent its own inbox, deciding between owner-managed vs self-registered…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-getting-started
sendmux
Use when a user needs Sendmux setup, OAuth connection checks, agent inbox registration, owner linking, credential validation, surface selection, or a first…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-mailbox-agent
sendmux
Operate inside an already-existing Sendmux mailbox on behalf of an AI agent: read, search, count, sync, triage, file, delete, thread, save or edit a reply…
SkillAFreshness: A★ 18Claude Code +9 - 0.642score
sendmux-management
sendmux
Use this skill for Sendmux account/team administration with a root API key or Management-scoped OAuth connection.
SkillAFreshness: A★ 18Claude Code +9
Cite this page
sendmux-send-email skill. Agent Mart. https://agentmart.dev/skills/sendmux-sendmux-send-email-2de6ef (last updated 2026-10-24)