A simple, self-hosted bulk mailing application with a modern web UI.
- Web-Based UI: Manage campaigns, recipients, and email templates from your browser.
- Live Preview: Instantly see how your emails will look with placeholder substitution for each recipient.
- Preflight Checks: Validate your configuration, recipient data, and attachments before sending to catch errors early.
- Live Logging: Monitor the mailing process in real-time directly in the UI.
- Self-Hosted: Your data, your server. Keep your mailing lists and configurations private.
-
Install the package from PyPI:
pip install bit-by-mail
-
Run the application:
bit-by-mail
-
Open your browser: Navigate to
http://localhost:8888to access the web UI and configure your first campaign.
If you want to contribute to the project, you'll need to set up the development environment.
Prerequisites:
- Python 3.9+
- Node.js 20+ and npm
-
Clone the repository and install dependencies: This command sets up the Python virtual environment and installs both backend and frontend dependencies.
git clone https://github.com/IOIT-ACM/bit-by-mail.git cd bit-by-mail make install -
Run the development servers: For local development with live reloading, run the frontend and backend servers in separate terminals.
-
Backend Server:
make dev-backend
The backend will be available at
http://localhost:8888. -
Frontend Server:
make dev-frontend
This will open the application in your browser at
http://localhost:3000, which proxies requests to the backend.
-
To build the frontend, create a Python package, and run it like a final user would:
make run-prodThis command is useful for testing the final packaged application locally before publishing.




