Overview
Captured message inbox
The smtp4dev web UI behind nginx: the captured message list with sender, recipient and subject alongside a caught HTML email rendered exactly as a mail client would show it.
Captured message inbox
HTML compatibility analysis
Message headers
Server settings and auth
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Overview smtp4dev is a fake SMTP server for development and testing, built on the widely used open-source smtp4dev project (over 3,000 GitHub stars). It accepts the mail your applications send, stores it locally, and presents every captured message in a modern web UI inbox instead of delivering it to real recipients. That makes it safe to point a development, test or staging environment straight at it: nothing escapes to real mailboxes, and you can see exactly what your application would have sent. This image delivers smtp4dev fully installed and running behind an nginx reverse proxy, so a mail-testing console is serving within minutes of launch. The current release available is smtp4dev 3.15.0.
Why Choose This Image
- Self-hosted with no per-seat or per-message fees: it runs entirely in your AWS account at EC2 cost alone plus support, and sensitive test data never leaves your infrastructure.
- Production-grade security out of the box: unlike a bare mail sink that ships with no authentication, every instance generates a unique web password on first boot and proves it before recording it.
- IMAP support included: browse captured mail from any standard mail client, not just the web UI.
- Dedicated resizable data disk: captured mail persists in SQLite on its own EBS volume, independently resizable and separate from the operating system disk.
Application Stack smtp4dev is an ASP.NET Core application running under systemd as a dedicated unprivileged system user. It accepts SMTP on port 25 and IMAP on port 143, and serves its web UI and REST API on the loopback interface behind nginx on port 80, with the WebSocket upgrade its live-updating message list needs already configured. The .NET runtime is installed from the operating system's own package archive, so routine system updates keep the runtime patched rather than freezing it inside the application bundle. Captured mail is stored in a SQLite database on a dedicated data disk, separate from the operating system disk and independently resizable.
Catch And Inspect Every Message Point your application's SMTP settings at this instance on port 25 and smtp4dev captures everything it sends. The web UI lists messages as they arrive in real time and lets you view the rendered HTML, the plain-text part and the raw source, download and inspect attachments, read every header, and run smtp4dev's HTML validation to see which email clients would struggle with your markup. A REST API exposes the same message store so automated integration tests can assert that a message was sent and check its contents. Because smtp4dev also speaks IMAP, you can additionally browse captured mail from any standard mail client.
Secure First Boot On the first boot of your instance a one-shot service generates a web password unique to that instance, writes it into an override configuration file readable only by the service account, and starts smtp4dev with HTTP basic authentication required for both the web UI and the REST API. It then proves the result before recording anything: it confirms that an unauthenticated request is refused, that a wrong password is refused, and that the newly generated password is accepted, both directly and through the reverse proxy. Only then does it write the credentials file and mark first boot complete, so a failed rotation retries on the next boot rather than leaving an instance open. No shared or default credentials ship in the image, and the health endpoint used by load balancers stays open while the UI and API require the generated password.
Getting Started Launch the image with a security group allowing inbound TCP on ports 25 (SMTP), 143 (IMAP) and 80 (HTTP), SSH in to read the generated password from the root-only credentials file, then sign in to the web UI and point your application's SMTP settings at port 25 to watch messages appear instantly. A built-in health endpoint answers on the reverse proxy for load-balancer checks, and SMTP intake is left open so applications under test can send without credentials.
Use Cases Inspect the mail your application sends from development and staging without any risk of it reaching real recipients. Debug transactional email templates, HTML rendering and attachments before they go out. Give QA and support teams a shared inbox for verifying sign-up, password-reset and notification flows. Wire the REST API into automated integration tests that assert a message was sent.
cloudimg Support 24/7 technical support by email and live chat. Help with deployment, HTTPS and reverse-proxy configuration, SMTP and IMAP integration, storage and upgrade planning.
All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
Highlights
- Catches all outbound mail safely in a web UI inbox with no per-seat or per-message fees, running entirely in your AWS account so sensitive test data never leaves your infrastructure. View rendered HTML, plain text, raw source, attachments and headers, run built-in HTML validation to check email client compatibility, and browse captured mail over IMAP from any standard mail client.
- Preinstalled behind nginx and ready within minutes of launch, fully configured with the WebSocket upgrade for live message updates, systemd service management, and captured mail stored in SQLite on a dedicated EBS data disk you can resize independently without touching the operating system volume.
- Hardened first boot generates a unique web password for every instance and proves the rotation, confirming unauthenticated and wrong-password requests are refused and the new password is accepted before the credentials file is written, with the web UI and REST API protected by it and 24/7 cloudimg support.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
t2.micro | t2.micro instance type | $0.04 |
c8i.8xlarge | c8i.8xlarge instance type | $0.24 |
c5d.24xlarge | c5d.24xlarge instance type | $0.24 |
c8in.2xlarge | c8in.2xlarge instance type | $0.24 |
m8ib.metal-96xl | m8ib.metal-96xl instance type | $0.24 |
c5ad.16xlarge | c5ad.16xlarge instance type | $0.24 |
g4ad.xlarge | g4ad.xlarge instance type | $0.12 |
c6in.4xlarge | c6in.4xlarge instance type | $0.24 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release of smtp4dev 3.15.0 as a ready-to-use fake SMTP server and email testing web UI, with the web password generated and proven on first boot.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (for the Ubuntu 24.04 variant the user is ubuntu). Retrieve the generated web password with: sudo cat /root/smtp4dev-credentials.txt. Open smtp4dev in a browser at http://<instance-public-ip>/ and sign in with the username admin and the generated password. Point your application's SMTP settings at this instance on host <instance-public-ip> port 25 (no authentication or TLS required by default) and every message it sends is captured and shown in the web UI. A standard mail client can also browse captured mail over IMAP on port 143 using the same admin username and password. smtp4dev is served by nginx on port 80 (the UI and REST API run on loopback port 5000); an unauthenticated health endpoint is available at http://<instance-public-ip>/healthz. Captured mail is stored in a SQLite database at /var/lib/smtp4dev/database.db on a dedicated data disk. The instance security group opens ports 22, 80, 443, 25 (SMTP) and 143 (IMAP). smtp4dev runs under systemd: systemctl status smtp4dev; the reverse proxy runs as nginx: systemctl status nginx. You can change the web password later by editing the Users entry in /var/lib/smtp4dev/appsettings.json and restarting smtp4dev.
Resources
Vendor resources
Support
Vendor support
cloudimg provides 24/7 technical support for this product by email and live chat. Our engineers help with deployment, configuration, updates, performance tuning and troubleshooting; critical issues receive a one hour average response. Contact support@cloudimg.co.uk .
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.