Install
openclaw skills install email-otpCreate temporary email addresses and monitor for registration OTP codes or validation links
openclaw skills install email-otpA skill for creating temporary email addresses and automatically extracting OTP codes and validation links from incoming emails. Uses the free mail.tm API (no API key required).
Invoke this skill when the user asks to:
# Create a new temporary email
python3 scripts/tempmail_otp.py create
# Monitor for OTP codes (5 minute timeout)
python3 scripts/tempmail_otp.py check
# List current account and messages
python3 scripts/tempmail_otp.py list
python3 scripts/tempmail_otp.py create [OPTIONS]
Options:
-e, --email ADDRESS - Custom full email address-d, --domain DOMAIN - Specific domain to use-p, --password PASSWORD - Account password (auto-generated if not specified)--json - Output as JSONExample:
python3 scripts/tempmail_otp.py create --domain "marcilzo.com"
python3 scripts/tempmail_otp.py check [OPTIONS]
Options:
--timeout SECONDS - Max seconds to wait (default: 300)--poll SECONDS - Poll interval in seconds (default: 3)--sender EMAIL - Only accept emails from this sender--subject TEXT - Only accept emails with this in subject--pattern REGEX - Custom regex pattern for OTP extraction--once - Exit after first OTP found--json - Output messages as JSONExamples:
# Wait up to 2 minutes for OTP
python3 scripts/tempmail_otp.py check --timeout 120
# Only accept emails from noreply@example.com
python3 scripts/tempmail_otp.py check --sender "noreply@example.com"
# Exit immediately after finding OTP
python3 scripts/tempmail_otp.py check --once
python3 scripts/tempmail_otp.py list
Shows the current account details and all messages in the inbox with extracted links.
python3 scripts/tempmail_otp.py domains [--json]
When an OTP or link is found, the script automatically saves them to the unified state directory:
~/.tempmail_otp/last_otp - Contains the last extracted OTP code~/.tempmail_otp/last_link - Contains the first interesting validation link found~/.tempmail_otp/account.json - Account credentials (JWT token, email, password)All state files are stored in ~/.tempmail_otp/ with restricted permissions (0600).
The script automatically detects OTP codes using these patterns:
The script extracts all HTTP/HTTPS links from email HTML, filtering out:
All state is stored in a unified directory: ~/.tempmail_otp/
account.json - Account credentials and JWT token (created by create command)last_otp - Most recent OTP code extracted (created by check command)last_link - First validation link extracted (created by check command)Files have restricted permissions (0600) for security. The check and list commands automatically use stored credentials.
The unified state directory follows best practices for CLI tools:
To reset all state: rm -rf ~/.tempmail_otp/
~/.tempmail_otp/last_otp# Create a temp email
$ python3 scripts/tempmail_otp.py create
Email: a3b7c9d4@marcilzo.com
Password: f8e4d2a1-1234-5678-9abc-123456789abc
Domain: marcilzo.com
Account saved to /home/user/.tempmail_otp/account.json
# In another terminal, wait for OTP
$ python3 scripts/tempmail_otp.py check --once
Monitoring: a3b7c9d4@marcilzo.com
Timeout: 300s | Poll interval: 3s
--------------------------------------------------
📧 New email from: noreply@service.com
Subject: Your verification code
✅ OTP FOUND: 842197
OTP saved to /home/user/.tempmail_otp/last_otp
--------------------------------------------------
This skill uses the mail.tm REST API:
https://api.mail.tm--pattern