Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Send email via MailChannels Email API and ingest signed delivery-event webhooks into Clawdbot (Moltbot).
Send email via MailChannels Email API and ingest signed delivery-event webhooks into Clawdbot (Moltbot).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Required: MAILCHANNELS_API_KEY (send in X-Api-Key) MAILCHANNELS_ACCOUNT_ID (aka customer_handle) Optional: MAILCHANNELS_BASE_URL (default: https://api.mailchannels.net/tx/v1), MAILCHANNELS_WEBHOOK_ENDPOINT_URL
Create a TXT record for each sender domain: Host: _mailchannels.<your-domain> Value: v=mc1; auid=<YOUR_ACCOUNT_ID>
Base URL: ${MAILCHANNELS_BASE_URL:-https://api.mailchannels.net/tx/v1} Send: POST /send Send async: POST /send-async Webhook: POST /webhook?endpoint=<url>, GET /webhook, DELETE /webhook, POST /webhook/validate Public key: GET /webhook/public-key?id=<keyid>
Minimum payload fields: personalizations, from, subject, content. Use /send for normal traffic and /send-async for queued/low-latency; both produce webhooks. Persist MailChannels correlation IDs (e.g., request_id).
MailChannels POSTs a JSON array. Common fields: email, customer_handle, timestamp, event, request_id. Bounce fields often include: recipients, status, reason, smtp_id.
Enable hooks in ~/.clawdbot/moltbot.json. Map /hooks/<path> to an agent action via hooks.mappings and optional transform. Enroll the public endpoint in MailChannels /webhook?endpoint=....
Headers: Content-Digest, Signature-Input, Signature. Steps: Parse Signature-Input (name, created, alg, keyid). Reject stale created values. Fetch public key by keyid. Recreate the RFC 9421 signature base. Verify ed25519 signature (avoid hand-rolling). Also verify JSON body is an array and every event has customer_handle == MAILCHANNELS_ACCOUNT_ID.
Store your internal message ID + MailChannels IDs (e.g., request_id, smtp_id). Update delivery state from events: processed, delivered, soft-bounced, hard-bounced, dropped. Operational tips: respond 2xx quickly, process async, store raw events, dedupe retries.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.