A lightweight, configurable fake SMTP server written in Go for testing email functionality without a real mail server.
smtpmock is a fake SMTP server written in Go that mimics real SMTP server behavior for testing purposes. It allows developers to simulate email sending and receiving in test environments without needing an actual mail server. The server is configurable, RFC-compliant, and supports various testing scenarios like delayed responses, blacklisted emails, and fail-fast error handling.
Developers and QA engineers who need to test email functionality in applications, especially those working in Go or Ruby ecosystems. It's ideal for integration testing where email delivery must be simulated without external dependencies.
smtpmock offers a lightweight, dependency-free alternative to real SMTP servers for testing, with extensive configurability to mimic diverse server behaviors. Its RFC compliance and cross-ecosystem support make it a versatile tool for ensuring email-related code works correctly in isolation.
SMTP mock server written on Golang. Mimic any 📤 SMTP server behavior for your test environment with fake SMTP server.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements minimum SMTP commands per RFC 2821 and 5321, ensuring realistic interactions for basic email testing scenarios.
Allows customization of responses, delays, blacklists, and error handling for each SMTP command, as shown in the extensive ConfigurationAttr options.
Lightweight with no external dependencies, making it easy to integrate into Go projects without bloating the environment.
Usable as a Go library, standalone binary, or via Ruby gem wrapper, covering multiple development workflows seamlessly.
Supports clean server stoppage with configurable timeouts, preventing data loss and ensuring reliable test tear-downs.
The README explicitly states 'No authentication support,' limiting its usefulness for testing secured SMTP servers that require login mechanisms.
Only implements basic commands like HELO, MAIL FROM, etc., missing advanced features such as STARTTLS, which are common in modern email systems.
With over 50 configurable parameters, setting up complex test scenarios can be verbose and prone to errors, especially for newcomers.
Designed solely for testing environments; it lacks the robustness, scalability, and features needed for production email handling or real server simulation.