A simple, self-hosted bulk mailing application with a web-based UI.
Project description
bit-by-mail
A simple, self-hosted bulk mailing application.
Prerequisites
- Python 3.9+
- Node.js 16+ and npm
Setup
- Install all dependencies:
This command sets up the Python virtual environment and installs both backend and frontend dependencies.
make install
Development
For local development with live reloading for both the frontend and backend.
-
Start the backend server: In your first terminal, run:
make dev-backendThe backend will be available at
http://localhost:8888. -
Start the frontend server: In a second terminal, run:
make dev-frontendThis will open the application in your browser at
http://localhost:3000.
Production
To build the frontend, create a Python package, and run it like a final user would:
make run-prod
Configuration
- Initial SMTP and application settings are configured through the web UI after starting the application.
Application Screenshots
Dashboard
Editor
Email Editor
Email Preview
Settings
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bit_by_mail-1.0.0.tar.gz.
File metadata
- Download URL: bit_by_mail-1.0.0.tar.gz
- Upload date:
- Size: 5.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99ea6beb79c51c1546e8aba47c47df12f0901ce860c0608f02bc174ffc0d4a7b
|
|
| MD5 |
57f861f9877274f2b1d686afd5003463
|
|
| BLAKE2b-256 |
4cd95397030185ea7a7090ebf5b0490a9b9d50bec09c93086b6d66c88f3b658d
|
Provenance
The following attestation bundles were made for bit_by_mail-1.0.0.tar.gz:
Publisher:
publish.yml on IOIT-ACM/bit-by-mail
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bit_by_mail-1.0.0.tar.gz -
Subject digest:
99ea6beb79c51c1546e8aba47c47df12f0901ce860c0608f02bc174ffc0d4a7b - Sigstore transparency entry: 639964189
- Sigstore integration time:
-
Permalink:
IOIT-ACM/bit-by-mail@eb1c9f3bc690f19bf60b90d752bed891427053df -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/IOIT-ACM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb1c9f3bc690f19bf60b90d752bed891427053df -
Trigger Event:
push
-
Statement type:
File details
Details for the file bit_by_mail-1.0.0-py3-none-any.whl.
File metadata
- Download URL: bit_by_mail-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56ee4eac2569ece23af4659715d5b1ccec49a92e9b259c7d45e6e6fae7452347
|
|
| MD5 |
3a85e0d8185de0e111126a83b75c4544
|
|
| BLAKE2b-256 |
dd6ae37291a34fd2d174f920ee3dd58786a6852b69b16804b4756e54038a90ba
|
Provenance
The following attestation bundles were made for bit_by_mail-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on IOIT-ACM/bit-by-mail
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bit_by_mail-1.0.0-py3-none-any.whl -
Subject digest:
56ee4eac2569ece23af4659715d5b1ccec49a92e9b259c7d45e6e6fae7452347 - Sigstore transparency entry: 639964225
- Sigstore integration time:
-
Permalink:
IOIT-ACM/bit-by-mail@eb1c9f3bc690f19bf60b90d752bed891427053df -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/IOIT-ACM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb1c9f3bc690f19bf60b90d752bed891427053df -
Trigger Event:
push
-
Statement type: