Install
openclaw skills install shitty-emailCreate and manage temporary disposable email inboxes
openclaw skills install shitty-emailCreate disposable email addresses instantly. Perfect for signups, testing, and privacy.
Use this skill when the user needs to:
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.
Base URL: https://shitty.email
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.
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"
}
]
}
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.
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
Clean up when done:
curl -s -X DELETE -H "X-Session-Token: {token}" https://shitty.email/api/inbox
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
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[^ ]*'
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