Skip to main content

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 .mbox file generator (rsml.mbox)
  • mailing list posting via LMTP
  • two-step subscription via /list/subscribe and /list/verify
  • /list/archive endpoint for .mbox archive retrieval of the mailing list
  • one-click unsubscribe with List-Unsubscribe and List-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 operations
  • flask: for the http server
  • email-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)

Source distribution for rsml 0.1.2
File Size Uploaded
rsml-0.1.2.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rsml 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page