rsml
a small, self-hosted mailing list system.
rsml is a mailing list manager system written in python built with minimalism in mind, it does not try to be a GNU Mailman competitor but rather a simpler alternative.
features
- toml-based configuration (
rsml.toml) (rsml.config) - RFC 4155 and mboxrd compliant
.mboxfile generator (rsml.mbox) - mailing list posting via LMTP
- two-step subscription via
/list/subscribeand/list/verify /list/archiveendpoint for.mboxarchive retrieval of the mailing list- one-click unsubscribe with
List-UnsubscribeandList-Unsubscribe-Post(RFC 8058)
dependencies
rsml requires at least
- a python
>=3.11-compatible interpreter - an MTA capable of receiving and sending mail through SMTP and LMTP
runtime dependencies include
aiosmtpd/aiosmtplib: for asynchronous SMTP/LMTP operationsflask: for the http serveremail-validator: to validate email addresses
development-time dependencies include:
pytest/pytest-asyncio: to execute the unit tests
usage
$ pip install -e . # install rsml and dependencies
$ cp rsml.toml.example rsml.toml # edit server_secret, etc.
$ rsml http # start the http server
$ rsml lmtp # start the lmtp server
running the test suite can be done with pytest
$ pip install -e ".[dev]" # install dev dependencies
$ pytest -vs . # run the unit tests
spec
a document outlining the technical specifications of the project can be found in this repository as SPEC.md
license
BSD-3-Clause, see LICENSE
Release files for rsml 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rsml-0.1.2.tar.gz | 15.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rsml-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / rsml-0.1.2.tar.gz
| Download URL | rsml-0.1.2.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a1c03921c71e7aca4844b728f786de38926945a15724d45ce797c84b8f27c65
|
|
BLAKE2b-256 checksum How to use checksums |
746e02093f5585d40a3baa067d3758074e7b6b6eb7e182c1a598735320c6ac67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / rsml-0.1.2-py3-none-any.whl
| Download URL | rsml-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
beb813cb67082e3a38d9fc9540c2457dccb3351a31003df9bd4931ea45109750
|
|
BLAKE2b-256 checksum How to use checksums |
d866aa73a8518d946dc20088c4180b95497b6f56c4f0b85b147f6de7d1413dd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|