skills$openclaw/shitty-email
johanski8.1kā˜…

by johanski

shitty-email – OpenClaw Skill

shitty-email is an OpenClaw Skills integration for coding workflows. Create and manage temporary disposable email inboxes

8.1k stars8.4k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameshitty-email
descriptionCreate and manage temporary disposable email inboxes OpenClaw Skills integration.
ownerjohanski
repositoryjohanski/shitty-email
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @johanski/shitty-email
last updatedFeb 7, 2026

Maintainer

johanski

johanski

Maintains shitty-email in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
278 B
SKILL.md
3.9 KB
SKILL.md

name: shitty-email description: Create and manage temporary disposable email inboxes emoji: šŸ“§ bins: [curl, jq] os: [macos, linux, windows]

Shitty Email - Temporary Inbox Skill

Create disposable email addresses instantly. Perfect for signups, testing, and privacy.

When to Use This Skill

Use this skill when the user needs to:

  • Create a temporary/disposable email address
  • Sign up for a service without using their real email
  • Test email sending functionality
  • Wait for a verification or confirmation email
  • Extract codes or links from emails

Important: Token Management

When you create an inbox, you receive a token. This token is required for ALL subsequent operations. Always store and reuse the token for the same inbox session.

API Reference

Base URL: https://shitty.email

Create a New Inbox

curl -s -X POST https://shitty.email/api/inbox | jq

Response:

{
  "email": "abc1234@shitty.email",
  "token": "a1b2c3d4e5f6..."
}

Store both the email and token - you need the token for all other operations.

Check Inbox for Emails

curl -s -H "X-Session-Token: {token}" https://shitty.email/api/inbox | jq

Response:

{
  "emails": [
    {
      "id": "msg_a1b2c3d4e5",
      "from": "sender@example.com",
      "subject": "Welcome!",
      "date": "2026-02-03T12:00:00Z"
    }
  ]
}

Get Full Email Content

Use the id field from the inbox response (e.g. msg_a1b2c3d4e5). This is NOT the email address.

curl -s -H "X-Session-Token: {token}" https://shitty.email/api/email/{email_id} | jq

Response includes html and text fields with the email body.

Extend Inbox Lifetime

Inboxes expire after 1 hour by default. Extend by 1 hour (max 24 hours total):

curl -s -X POST -H "X-Session-Token: {token}" https://shitty.email/api/inbox/extend | jq

Delete Inbox

Clean up when done:

curl -s -X DELETE -H "X-Session-Token: {token}" https://shitty.email/api/inbox

Common Workflows

Wait for a Verification Email

Poll the inbox until an email matching criteria arrives:

# Create inbox
RESPONSE=$(curl -s -X POST https://shitty.email/api/inbox)
EMAIL=$(echo $RESPONSE | jq -r '.email')
{token}=$(echo $RESPONSE | jq -r '.token')

# Poll for emails (check every 5 seconds, max 60 seconds)
for i in {1..12}; do
  EMAILS=$(curl -s -H "X-Session-Token: ${token}" https://shitty.email/api/inbox)
  COUNT=$(echo $EMAILS | jq '.emails | length')
  if [ "$COUNT" -gt "0" ]; then
    echo "Email received!"
    echo $EMAILS | jq '.emails[0]'
    break
  fi
  sleep 5
done

Extract Verification Code

After receiving an email, extract common verification patterns:

# Get email content
CONTENT=$(curl -s -H "X-Session-Token: ${token}" https://shitty.email/api/email/${email_id} | jq -r '.text')

# Common patterns to look for:
# - 6-digit codes: grep -oE '[0-9]{6}'
# - Verification links: grep -oE 'https?://[^ ]+verify[^ ]*'

Best Practices

  1. Reuse tokens - Don't create new inboxes unnecessarily
  2. Poll responsibly - Wait 5 seconds between checks
  3. Clean up - Delete inbox when done to free resources
  4. Extend if needed - If waiting for slow emails, extend the inbox

Limitations

  • Inboxes expire after 1 hour (extendable to 24 hours max)
  • Email size limit: 1MB
  • Rate limited: Don't spam inbox creation
  • No outbound email - receive only

Example Conversation

User: "Create a temp email for me" → Call POST /api/inbox, return the email address, store the token

User: "Sign me up for newsletter.example.com" → Use the temp email to fill the signup form, then poll for confirmation

User: "Did I get the confirmation?" → Check inbox using stored token, report results

User: "What's the verification code?" → Fetch email content, extract the code pattern, return it

User: "I'm done, delete the inbox" → Call DELETE /api/inbox with the token

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install shitty-email?

Run openclaw add @johanski/shitty-email in your terminal. This installs shitty-email into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/johanski/shitty-email. Review commits and README documentation before installing.