Skip to main content

SMTP to Storage

A simple component that mimics an SMTP server but stores email data instead of actually submitting it.

Features

Built for testing, and for controlled environments with SMTP restrictions.

Multiple Storage Strategies

Choose between S3 and local storage options for maximum flexibility.

Basic ACL Functionality

Control who can submit emails with configurable access lists.

Structured Logging

Get detailed logs in multiple formats for better debugging and monitoring.

OpenTelemetry Metrics

Monitor performance with built-in telemetry and metrics exposure.

Complete Data Capture

Store metadata, HTML body, and attachments in organized folders.

Rust Performance

Built with Rust for speed, reliability, and memory efficiency.

Use Cases

Perfect for development, testing, and integration scenarios.

Use cases diagram

Testing Environments

Capture outgoing emails during testing without sending them to real users.

Integration Testing

Test email workflows when systems only support SMTP submission.

Development Debugging

Inspect email content and attachments during development without external services.

CI/CD Pipelines

Include in automated testing pipelines to validate email generation without external dependencies.

Vendor SMTP Restrictions

Handle vendors that only communicate via SMTP in large controlled environments where on-prem vendors cannot use standard SMTP means.

Email Validation

Validate email formatting, headers, and attachments before production deployment.

Security Testing

Test email security features and ensure sensitive data is properly handled.

Email Sandbox

Get Started

Build it yourself, or run it with docker!

Local Storage

cargo run -- --config-file=sample-configs/local-storage-config.json

Perfect for development and testing

S3 Storage

docker compose up -d
cargo run -- --config-file=sample-configs/s3-config.json

Scale with cloud storage

View on GitHub