AI prompts
base on smtp4dev - the fake smtp email server for development and testing # <img src='Rnwood.Smtp4dev/ClientApp/public/logo.png' alt='logo'/>
**smtp4dev - the fake SMTP email server for development and testing.**
A dummy SMTP server for Windows, Linux, Mac OS-X (and maybe elsewhere where .NET Core is available). Lets you test your application without spamming your real customers.
smtp4dev support many advanced features:
- OpenAPI/Swagger API
- IMAP access to retrieve and delete messages
- SMTP session logging
- UTF8 support
- Viewport size switcher to simulate mobile etc
- Multipart MIME inspector
- HTML compatibility report and HTML validation
- TLS/SSL with implicit and STARTTLS modes and auto self-signed cert generation
- Authentication
- Multiple mailboxes along with rules to control what message goes where
- Reply, compose and relay messages including rules to auto relay
- Scripting expressions including error simulation
*If you're looking for the older v2 Windows only GUI version. [Grab it here](https://github.com/rnwood/smtp4dev/releases/tag/v2.0.10).*
## How smtp4dev Compares
There are several fake SMTP servers available for development and testing. Here's how smtp4dev stacks up against other popular options:
| Feature | smtp4dev | MailHog¹ | MailCatcher² | MailDev³ | FakeSMTP⁴ |
|---------|----------|----------|-------------|---------|-----------|
| **Web Interface** | ✅ Advanced | ✅ Basic | ✅ Basic | ✅ Basic | ❌ Desktop GUI |
| **SMTP Server** | ✅ | ✅ | ✅ | ✅ | ✅ |
| **IMAP Server** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **API (REST/OpenAPI)** | ✅ Swagger docs | ✅ Basic⁵ | ✅ RESTful⁶ | ✅ Basic⁷ | ❌ |
| **HTML Email Rendering** | ✅ Advanced | ✅ Basic | ✅ Basic | ✅ Basic | ❌ |
| **HTML Compatibility Reports** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Responsive Email Testing** | ✅ Viewport switcher | ❌ | ❌ | ✅ Resizable⁸ | ❌ |
| **MIME Parts Inspector** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **SMTP Session Logging** | ✅ Detailed | ❌ | ❌ | ❌ | ❌ |
| **TLS/SSL Support** | ✅ Auto-cert generation | ❌ | ❌ | ✅ Basic⁹ | ❌ |
| **Authentication** | ✅ | ✅ Basic¹⁰ | ❌ | ✅ Basic¹¹ | ❌ |
| **Multiple Mailboxes** | ✅ With rules | ❌ | ❌ | ❌ | ❌ |
| **Message Relay** | ✅ With rules | ✅ Basic¹² | ❌ | ✅ Basic¹³ | ❌ |
| **Message Composition** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Scripting & Error Simulation** | ✅ | ✅ Limited¹⁴ | ❌ | ❌ | ❌ |
| **Dark Mode** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **Cross-Platform** | ✅ .NET 8 | ✅ Go | ✅ Ruby | ✅ Node.js | ✅ Java |
| **Docker Support** | ✅ | ✅ | ✅ | ✅ | ❌ |
### Sources
1. [MailHog GitHub Repository](https://github.com/mailhog/MailHog) - Features verified from official documentation
2. [MailCatcher GitHub Repository](https://github.com/sj26/mailcatcher) - Features verified from official documentation
3. [MailDev GitHub Repository](https://github.com/maildev/maildev) - Features verified from official documentation
4. [FakeSMTP GitHub Repository](https://github.com/Nilhcem/FakeSMTP) - Features verified from official documentation
5. MailHog API: [APIv1](https://github.com/mailhog/MailHog/blob/master/docs/APIv1.md) and [APIv2](https://github.com/mailhog/MailHog/blob/master/docs/APIv2.md) documentation
6. MailCatcher API: RESTful URLs documented in [README](https://github.com/sj26/mailcatcher#api) but no formal API documentation
7. MailDev API: [REST API documentation](https://github.com/maildev/maildev/blob/master/docs/rest.md)
8. MailDev responsive testing: ["Test responsive emails with resizable preview pane"](https://github.com/maildev/maildev#features)
9. MailDev TLS/SSL: [SSL options documented](https://github.com/maildev/maildev#usage) (`--incoming-secure`, `--incoming-cert`, `--incoming-key`)
10. MailHog authentication: [HTTP basic authentication](https://github.com/mailhog/MailHog/blob/master/docs/Auth.md) for UI and API
11. MailDev authentication: [Authentication options](https://github.com/maildev/maildev#usage) (`--incoming-user/pass`, `--web-user/pass`)
12. MailHog relay: ["Release messages to real SMTP servers"](https://github.com/mailhog/MailHog#features)
13. MailDev relay: ["Ability to relay email to an upstream SMTP server"](https://github.com/maildev/maildev#features) with auto-relay mode
14. MailHog scripting: [Chaos Monkey for failure testing](https://github.com/mailhog/MailHog/blob/master/docs/JIM.md)
### Why Choose smtp4dev?
**For Advanced Development & Testing**: If you need comprehensive email testing capabilities, smtp4dev offers features not found in other tools like HTML compatibility analysis, responsive design testing, and detailed SMTP session logging.
**For Production-Like Testing**: With IMAP support, TLS/SSL, authentication, and multiple mailboxes, smtp4dev can simulate real email server behavior more accurately.
**For Team Workflows**: The advanced web interface, API documentation, and message relay capabilities make smtp4dev ideal for development teams and CI/CD pipelines.
**For Modern Email Development**: Responsive email testing, HTML validation, and compatibility reports help ensure your emails work across all clients and devices.
> <a style="float: right" href="https://www.patreon.com/bePatron?u=38204828" data-patreon-widget-type="become-patron-button"><img alt='Become a Patreon' src='https://c5.patreon.com/external/logo/become_a_patron_button.png' height="30px"></a> <a style="float: right" href='https://www.paypal.me/rnwood'><img alt='Donate' src='https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png'/></a> *If you find smtp4dev useful, please consider supporting further development by making a donation*
> .
## Getting Started
[Installation Instructions](docs/Installation.md)
[Configuration](docs/Configuration.md)
[Configuring your programs to send mails to smtp4dev](docs/Configuring-Clients.md)
[API](docs/API.md)
[📚 **View Full Documentation**](docs/README.md)
## Security
**⚠️ Docker Users**: Please read [Docker Security Guidelines](docs/Docker-Security.md) to prevent accidental public exposure of your smtp4dev instance to the world!
## Screenshots
### Main Message Interface
The main interface showing received emails with sender, recipient, subject, and timestamps.

### HTML Email Rendering & Viewport Simulation
View HTML emails with rich formatting, including viewport size simulation for testing responsive email designs.

### HTML Compatibility Analysis
Comprehensive email client compatibility reports showing which HTML/CSS features are supported across different email clients.

### Message Source & Raw Content
Inspect the raw message source with syntax highlighting and line numbers for debugging.

### SMTP Session Logging
View detailed SMTP session logs to debug email delivery issues and protocol interactions.

### MIME Parts Inspector
Analyze multipart emails with attachments using the built-in MIME inspector.

### Dark Mode Support
Full dark mode support for comfortable viewing in low-light environments.

[](https://app.fossa.com/projects/git%2Bgithub.com%2Frnwood%2Fsmtp4dev?ref=badge_shield)
## Contributing
We welcome contributions! Before submitting a pull request, please:
1. Read our [Contributing Guide](CONTRIBUTING.md)
2. Sign the [Contributor License Agreement](CLA.md)
## License
[](https://app.fossa.com/projects/git%2Bgithub.com%2Frnwood%2Fsmtp4dev?ref=badge_large)
", Assign "at most 3 tags" to the expected json: {"id":"6617","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"