- Local SMTP Server – Captures all outgoing mail on
127.0.0.1:1025 - Web UI – Browse messages, view raw source, send new messages
- No External SMTP – No username/password required
- Cross-Platform – Runs on Windows, macOS, and Linux
- Packagable – Build to
.exewith PyInstaller for easy sharing on Windows
Option 1 – Using uv (Recommended)
uv syncInstalls all dependencies from
pyproject.tomlorrequirements.txt.
pip install -r requirements.txtpython main.pyYou’ll see output like:
📨 SMTP server running on 127.0.0.1:1025
🌐 Web UI available at http://127.0.0.1:5000
-
Point your app’s SMTP settings to:
- Host:
127.0.0.1 - Port:
1025 - Username / Password: (Leave blank)
- Host:
-
Access the Web UI: Open http://127.0.0.1:5000 in your browser.
-
View Messages: Browse captured messages, read full content, or view raw email source.
-
Send a Test Email: Use the Send page in the UI to send a new message to the SMTP server.
Using PyInstaller:
pyinstaller --onefile main.pyThe compiled executable will be inside the dist/ folder.
Get the latest Windows executable here: https://github.com/jztchl/devmailbox/releases
Minimal dependencies:
Flask>=3.0.0
aiosmtpd>=1.4.5
MIT License — use freely for development purposes.
