Per List Backup and Restore
Mailman 3 has no way to back up or restore a single mailing list. If a list is accidentally deleted or a database migration goes wrong, there is no recovery path. This project builds one: two CLI commands: mailman backup and mailman restore, backed by a schema-validated JSON export format. The backup captures all list state: 85 config fields, member roster across all three roles, header-match rules, aliases, bans, and archiver states. Restore validates the file against a JSON Schema before touching the database, guards against missing domains, preserves verified_on exactly, and uses an is_subscribed() pre-check to avoid SQLAlchemy session poisoning. The operation is silent so no welcome or verification emails are triggered.
Project details
Technologies
Not listed in the archive