Production-like email testing. Real SMTP, TLS, and auth validation.
6.0K
VaultSandbox is a self-hosted SMTP testing gateway designed to replicate production email behavior—including TLS, DNS, authentication, and spam scoring—so your email tests reflect real-world conditions.
Supported Architectures: amd64, arm64
/app endpointZero-config setup with automatic DNS. No domain registration, no DNS configuration, no waiting for propagation. Your public IP is encoded into a subdomain (e.g., 1mzhr2y.vsx.email) that automatically resolves with proper MX records.
Requirement: Ports 25, 80, and 443 must be publicly reachable.
services:
gateway:
image: vaultsandbox/gateway:latest
ports:
- "25:25" # SMTP
- "80:80" # HTTP (ACME + VSX verification)
- "443:443" # HTTPS
environment:
- VSB_VSX_DNS_ENABLED=true
volumes:
- gateway-data:/app/data
volumes:
gateway-data:
# Start the gateway
docker compose up -d
# Find your assigned domain
docker compose exec gateway cat /app/data/certificates/metadata.json; echo
# Retrieve auto-generated API key
docker compose exec gateway cat /app/data/.api-key; echo
You can also find your domain by entering your IP at vsx.email.
Total setup time: ~5 minutes
Use your own domain for branding, compliance, or existing infrastructure. Requires DNS configuration pointing to your server.
DNS Requirements: Before starting, configure these records:
qa.example.com → your server IPqa.example.com → qa.example.com (priority 10)Requirement: Ports 25, 80, and 443 must be publicly reachable.
services:
gateway:
image: vaultsandbox/gateway:latest
ports:
- "25:25" # SMTP
- "80:80" # HTTP (ACME challenge)
- "443:443" # HTTPS
environment:
- VSB_SMTP_ALLOWED_RECIPIENT_DOMAINS=qa.example.com
- VSB_CERT_ENABLED=true
volumes:
- gateway-data:/app/data
volumes:
gateway-data:
# Start the gateway
docker compose up -d
# Retrieve auto-generated API key
docker compose exec gateway cat /app/data/.api-key; echo
services:
vaultsandbox:
image: vaultsandbox/gateway:latest
ports:
- '127.0.0.1:2525:25'
- '127.0.0.1:8080:80'
volumes:
- vsb_data:/app/data
volumes:
vsb_data:
docker compose up -d
# Retrieve auto-generated API key
docker compose exec vaultsandbox cat /app/data/.api-key; echo
What You Get (Local):
localhost:2525 (no TLS)http://localhost:8080/apphttp://localhost:8080/apihttps://your-domain/app| Variable | Description |
|---|---|
VSB_VSX_DNS_ENABLED | Enable automatic DNS via vsx.email. Domain is auto-assigned based on your IP. |
| Variable | Description |
|---|---|
VSB_SMTP_ALLOWED_RECIPIENT_DOMAINS | Comma-separated list of domains to accept mail for. |
VSB_CERT_ENABLED | Set to true to enable automatic Let's Encrypt provisioning. |
License: Apache License 2.0
Content type
Image
Digest
sha256:13ec61e64…
Size
87 MB
Last updated
7 months ago
docker pull vaultsandbox/gateway