Inbox Commands
Inbox commands let you create temporary email addresses, list existing inboxes, and manage their lifecycle.
Global Flags
Section titled “Global Flags”All inbox commands support these global flags:
| Flag | Description |
|---|---|
--config | Config file (default is $HOME/.config/vsb/config.yaml) |
-o, --output | Output format: pretty, json |
vsb inbox create
Section titled “vsb inbox create”Create a new temporary inbox with an auto-generated email address.
vsb inbox create [flags]| Flag | Description | Default |
|---|---|---|
--ttl | Time-to-live duration (e.g., 1h, 24h, 7d) | 24h |
--email-auth | Enable/disable SPF/DKIM/DMARC/PTR authentication checks (true or false) | Server default |
--encryption | Request encryption mode (encrypted or plain) | Server default |
--spam-analysis | Enable/disable spam analysis for this inbox (true or false) | Server default |
Examples
Section titled “Examples”# Create inbox with default 24h TTLvsb inbox create
# Create inbox with custom TTLvsb inbox create --ttl 1hvsb inbox create --ttl 7d
# Create inbox without email authentication checksvsb inbox create --email-auth=false
# Create unencrypted inbox (if server policy allows)vsb inbox create --encryption=plain
# Create inbox with spam analysis enabledvsb inbox create --spam-analysis=true
# Combine optionsvsb inbox create --ttl 7d --email-auth=true --encryption=encrypted --spam-analysis=true
# Create inbox and output JSON (useful for scripting)vsb inbox create -o jsonOutput
Section titled “Output”Inbox Ready!
Address: abc123@abc123.vsx.email Expires: 24h
Run 'vsb' to see emails arrive live.JSON output:
{ "email": "abc123@abc123.vsx.email", "expiresAt": "2024-01-16T14:30:00Z", "createdAt": "2024-01-15T14:30:00Z"}vsb inbox list
Section titled “vsb inbox list”List all stored inboxes.
vsb inbox list [flags]vsb inbox ls [flags]| Flag | Description |
|---|---|
-a, --all | Include expired inboxes |
Examples
Section titled “Examples”# List active inboxesvsb inbox listvsb inbox ls
# Include expired inboxesvsb inbox list -a
# Output as JSONvsb inbox list -o jsonOutput
Section titled “Output” EMAIL EXPIRES > abc123@abc123.vsx.email 14h xyz789@abc123.vsx.email expiredThe > marker indicates the active inbox. Expired inboxes are shown with dimmed styling.
JSON output:
[ { "email": "abc123@abc123.vsx.email", "expiresAt": "2024-01-16T14:30:00Z", "isActive": true, "isExpired": false }]vsb inbox info
Section titled “vsb inbox info”Show detailed information about an inbox.
vsb inbox info [email]If no email is specified, shows info for the active inbox.
Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
email | Email address (optional, uses active inbox if omitted) |
Examples
Section titled “Examples”# Show info for active inboxvsb inbox info
# Show info for specific inboxvsb inbox info abc123@abc123.vsx.email
# Partial matching worksvsb inbox info abc123
# JSON outputvsb inbox info -o jsonOutput
Section titled “Output”abc123@abc123.vsx.email ACTIVE
ID: abc123Created: 2024-01-15 14:30Expires: 2024-01-16 14:30 (14h)Emails: 3JSON output:
{ "email": "abc123@abc123.vsx.email", "expiresAt": "2024-01-16T14:30:00Z", "isActive": true, "isExpired": false, "id": "abc123", "createdAt": "2024-01-15T14:30:00Z", "emailCount": 3, "syncError": "error message"}Note: syncError is only included when the server sync fails.
vsb inbox use
Section titled “vsb inbox use”Set the active inbox for subsequent commands.
vsb inbox use <email>Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
email | Email address or partial match |
Examples
Section titled “Examples”# Set active inbox by full addressvsb inbox use abc123@abc123.vsx.email
# Partial matchingvsb inbox use abc123vsb inbox use abc
# Now commands use this inbox by defaultvsb email listvsb inbox delete
Section titled “vsb inbox delete”Delete an inbox and all its emails.
vsb inbox delete <email> [flags]vsb inbox rm <email> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
email | Email address or partial match |
| Flag | Description |
|---|---|
-l, --local | Only remove from local keystore (don’t delete on server) |
Examples
Section titled “Examples”# Delete inboxvsb inbox delete abc123@abc123.vsx.emailvsb inbox rm abc123
# Remove from local keystore onlyvsb inbox delete abc123 --localvsb inbox delete abc123 -lInbox Webhooks
Section titled “Inbox Webhooks”Inbox webhooks receive notifications only for emails sent to a specific inbox. They work the same as global webhooks but are scoped to one inbox.
vsb inbox webhook create
Section titled “vsb inbox webhook create”Create a webhook for a specific inbox.
vsb inbox webhook create <url> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
url | The webhook endpoint URL |
| Flag | Description | Required |
|---|---|---|
--event | Event type to subscribe to (repeatable) | Yes |
--inbox | Inbox to attach webhook to (uses active if omitted) | No |
--template | Built-in template: slack, discord, teams, generic | No |
--custom-template | Path to custom Go template file | No |
--content-type | Content-Type for custom template | No |
--description | Optional description | No |
--filter-from | Filter by sender email/pattern | No |
--filter-to | Filter by recipient email/pattern | No |
--filter-subject | Exact subject match | No |
--filter-subject-contains | Subject contains text | No |
--filter-subject-regex | Subject regex pattern | No |
--filter-domain | Filter by sender domain | No |
--filter-mode | Filter logic: all (AND) or any (OR) | No |
--require-auth | Require email passes SPF/DKIM/DMARC | No |
Examples
Section titled “Examples”# Create webhook for active inboxvsb inbox webhook create https://example.com/webhook --event email.received
# Create webhook for specific inboxvsb inbox webhook create https://example.com/webhook \ --event email.received \ --inbox test@abc123.vsx.email
# Create Slack webhook with filtersvsb inbox webhook create https://hooks.slack.com/services/xxx \ --event email.received \ --template slack \ --filter-subject-contains "verify"vsb inbox webhook list
Section titled “vsb inbox webhook list”List webhooks for an inbox.
vsb inbox webhook list [flags]vsb inbox webhook ls [flags]| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
Examples
Section titled “Examples”# List webhooks for active inboxvsb inbox webhook list
# List webhooks for specific inboxvsb inbox webhook list --inbox test@abc123.vsx.email
# Output as JSONvsb inbox webhook list -o jsonvsb inbox webhook get
Section titled “vsb inbox webhook get”Get detailed information about an inbox webhook.
vsb inbox webhook get <webhook-id> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
webhook-id | Webhook ID |
| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
Examples
Section titled “Examples”vsb inbox webhook get wh_abc123vsb inbox webhook get wh_abc123 -o jsonvsb inbox webhook update
Section titled “vsb inbox webhook update”Update an inbox webhook.
vsb inbox webhook update <webhook-id> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
webhook-id | Webhook ID |
| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
--url | Change webhook endpoint URL |
--event | Replace events (repeatable) |
--template | Change to built-in template |
--custom-template | Change to custom template |
--content-type | Content-Type for custom template |
--description | Update description |
--enable | Enable webhook |
--disable | Disable webhook |
--clear-filters | Remove all filters |
--filter-from | Filter by sender email/pattern |
--filter-to | Filter by recipient email/pattern |
--filter-subject | Exact subject match |
--filter-subject-contains | Subject contains text |
--filter-subject-regex | Subject regex pattern |
--filter-domain | Filter by sender domain |
--filter-mode | Filter logic: all (AND) or any (OR) |
--require-auth | Require email passes SPF/DKIM/DMARC |
Examples
Section titled “Examples”# Disable webhookvsb inbox webhook update wh_abc123 --disable
# Change URL and add filtervsb inbox webhook update wh_abc123 \ --url https://new-endpoint.com \ --filter-subject-contains "important"vsb inbox webhook delete
Section titled “vsb inbox webhook delete”Delete an inbox webhook.
vsb inbox webhook delete <webhook-id> [flags]vsb inbox webhook rm <webhook-id> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
webhook-id | Webhook ID |
| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
-f, --force | Skip confirmation prompt |
Examples
Section titled “Examples”vsb inbox webhook delete wh_abc123vsb inbox webhook rm wh_abc123 -fvsb inbox webhook rotate
Section titled “vsb inbox webhook rotate”Rotate the signing secret for an inbox webhook.
vsb inbox webhook rotate <webhook-id> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
webhook-id | Webhook ID |
| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
-f, --force | Skip confirmation prompt |
Examples
Section titled “Examples”vsb inbox webhook rotate wh_abc123vsb inbox webhook rotate wh_abc123 -fvsb inbox webhook test
Section titled “vsb inbox webhook test”Test an inbox webhook endpoint.
vsb inbox webhook test <webhook-id> [flags]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
webhook-id | Webhook ID |
| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
Examples
Section titled “Examples”vsb inbox webhook test wh_abc123vsb inbox webhook test wh_abc123 -o jsonChaos Engineering
Section titled “Chaos Engineering”Chaos engineering commands let you inject various failure scenarios for testing email delivery resilience. Use these to simulate real-world issues like network latency, connection drops, and error responses.
vsb inbox chaos set
Section titled “vsb inbox chaos set”Enable and configure chaos engineering scenarios for an inbox.
vsb inbox chaos set [flags]Global Chaos Flags
Section titled “Global Chaos Flags”| Flag | Description | Default |
|---|---|---|
--inbox | Specify inbox (uses active inbox if omitted) | |
--expires | Auto-disable after duration (e.g., 1h, 30m) or timestamp |
Latency Injection
Section titled “Latency Injection”Simulate network latency by adding delays to email processing.
| Flag | Description | Default |
|---|---|---|
--latency | Enable latency injection | false |
--min-delay | Minimum delay in milliseconds | 500 |
--max-delay | Maximum delay in milliseconds | 10000 |
--no-jitter | Use fixed delay (max-delay) instead of random | false |
--probability | Probability of applying latency (0.0-1.0) | 1.0 |
Connection Drops
Section titled “Connection Drops”Simulate network connection failures.
| Flag | Description | Default |
|---|---|---|
--connection-drop | Enable connection dropping | false |
--drop-probability | Probability of dropping a connection (0.0-1.0) | 1.0 |
--abrupt | Use abrupt close (RST) instead of graceful (FIN) | false |
Random Errors
Section titled “Random Errors”Generate random error responses.
| Flag | Description | Default |
|---|---|---|
--random-error | Enable random error generation | false |
--error-rate | Probability of returning error (0.0-1.0) | 0.1 |
--error-types | Error types to inject: temporary, permanent | temporary |
Greylisting
Section titled “Greylisting”Simulate email greylisting behavior.
| Flag | Description | Default |
|---|---|---|
--greylist | Enable greylisting simulation | false |
--retry-window | Retry window in milliseconds | 300000 |
--max-attempts | Number of attempts before accepting | 2 |
--track-by | Track greylisting by: ip, sender, ip_sender | ip_sender |
Blackhole Mode
Section titled “Blackhole Mode”Silently drop emails without response.
| Flag | Description | Default |
|---|---|---|
--blackhole | Enable blackhole mode | false |
--trigger-webhooks | Still trigger webhooks in blackhole mode | false |
Examples
Section titled “Examples”# Enable latency injection (500-5000ms delay)vsb inbox chaos set --latency --min-delay 500 --max-delay 5000
# Enable latency with 50% probabilityvsb inbox chaos set --latency --min-delay 1000 --max-delay 5000 --probability 0.5
# Enable connection drops (30% of connections)vsb inbox chaos set --connection-drop --drop-probability 0.3
# Enable abrupt connection dropsvsb inbox chaos set --connection-drop --drop-probability 0.5 --abrupt
# Enable random errors (20% temporary errors)vsb inbox chaos set --random-error --error-rate 0.2 --error-types temporary
# Enable greylistingvsb inbox chaos set --greylist --max-attempts 3 --retry-window 600000
# Enable blackhole mode (drop all emails)vsb inbox chaos set --blackhole
# Blackhole with webhooks still firingvsb inbox chaos set --blackhole --trigger-webhooks
# Set chaos with auto-expirationvsb inbox chaos set --latency --min-delay 500 --expires 1h
# Set chaos on specific inboxvsb inbox chaos set --inbox user@example.vsx.email --latency --min-delay 1000
# Combine multiple chaos typesvsb inbox chaos set \ --latency --min-delay 500 --max-delay 2000 --probability 0.3 \ --connection-drop --drop-probability 0.1 \ --random-error --error-rate 0.05vsb inbox chaos get
Section titled “vsb inbox chaos get”Display the current chaos configuration for an inbox.
vsb inbox chaos get [flags]| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
--output | Output format: json or pretty-print |
Examples
Section titled “Examples”# Get chaos config for active inboxvsb inbox chaos get
# Get chaos config for specific inboxvsb inbox chaos get --inbox user@example.vsx.email
# Output as JSONvsb inbox chaos get -o jsonOutput
Section titled “Output”Chaos Configuration
Status: enabled Expires: 2024-01-15 16:30 (1h)
Latency: Delay: 500-2000ms (jitter enabled) Probability: 0.3
Connection Drop: Probability: 0.1JSON output:
{ "enabled": true, "expiresAt": "2024-01-15T16:30:00Z", "latency": { "enabled": true, "minDelayMs": 500, "maxDelayMs": 2000, "jitter": true, "probability": 0.3 }, "connectionDrop": { "enabled": true, "probability": 0.1, "graceful": true }}vsb inbox chaos disable
Section titled “vsb inbox chaos disable”Disable all chaos engineering scenarios for an inbox.
vsb inbox chaos disable [flags]| Flag | Description |
|---|---|
--inbox | Specify inbox (uses active inbox if omitted) |
-f, --force | Skip confirmation prompt |
--output | Output format: json or pretty-print |
Examples
Section titled “Examples”# Disable chaos for active inbox (prompts for confirmation)vsb inbox chaos disable
# Force disable without confirmationvsb inbox chaos disable -fvsb inbox chaos disable --force
# Disable for specific inboxvsb inbox chaos disable --inbox user@example.vsx.emailNext Steps
Section titled “Next Steps”- Email Commands - Work with emails in your inboxes
- Webhook Commands - Global webhooks for all inboxes
- Wait Command - Script email verification
- Export/Import - Back up and restore inboxes