Command line

The xlistman binary is the whole product — web UI, mail handling, and an administration CLI in one. Configuration is read from $XLISTMAN_CONFIG or ./xlistman.yaml. Actions taken on the CLI are recorded in the audit trail, attributed to your local OS user.

Reference

CommandWhat it does
xlistman serveStart the daemon: HTTP + web UI, LMTP, pipe socket, outbound queue, digest worker, and the hourly sweeper.
xlistman deliver <list-address>Pipe mode: read a raw message from stdin and relay it to the daemon over the Unix socket.
xlistman domain add <name> [desc]Add a virtual domain.
xlistman domain remove <name>Remove a virtual domain.
xlistman domain listList domains.
xlistman list create <addr> --type <discussion\|newsletter> [--owner <email>] [--desc <text>] [--moderate]Create a list; --owner assigns the first owner.
xlistman list delete <addr>Delete a list and all its data. Permanent.
xlistman list type <addr> <discussion\|newsletter>Change a list’s type.
xlistman list list [--domain <d>]List lists.
xlistman list info <addr>Show a list’s details and every setting.
xlistman list config <addr> <k>=<v> ...Edit list settings (keys match list info).
xlistman list allowlist <addr>List a newsletter’s designated senders.
xlistman list add-sender <addr> <email>Designate a sender for a newsletter list.
xlistman list remove-sender <addr> <id>Remove a designated sender.
xlistman owner add \| remove \| list <list> <email>Manage Owners.
xlistman moderator add \| remove \| list <list> <email>Manage Moderators.
xlistman admin add \| remove \| list <email>Manage instance-wide Administrators.
xlistman subscriber add \| remove <list> <email>Add or remove a subscriber (add is immediate — no confirmation).
xlistman subscriber approve \| reject <list> <email>Resolve a pending subscription request.
xlistman subscriber re-enable <list> <email>Re-enable a disabled subscriber (resets the bounce count).
xlistman subscriber reset-bounces <list> <email>Reset a member’s bounce count without changing status.
xlistman subscriber list <list>List subscribers.
xlistman subscriber import \| export <list> [file]Bulk-import members from CSV or export the roster as CSV.
xlistman moderation list \| approve \| reject \| discardWork the held-message queue.
xlistman audit list <addr> [action]Show a list’s audit trail.
xlistman audit server [action]Show the instance-wide audit trail.
xlistman queue list \| discardInspect or discard stuck outbound messages.
xlistman enable \| disable loginToggle magic-link sign-in (disabling ends all sessions).
xlistman enable \| disable managementToggle the web consoles (public pages and self-service stay up).
xlistman web statusShow whether login and management are enabled.
xlistman config checkValidate the config file.
xlistman config initGenerate a commented xlistman.yaml.
xlistman versionPrint the version.
xlistman helpPrint full usage.

First administrator

The first instance Administrator is designated on the command line — there’s no bootstrap page. That’s a deliberate design: the person who owns the server declares who runs it.

xlistman admin add you@example.com

Setting a list’s settings

List settings (moderation, digest frequency, subscription policy, bounce threshold, attachment policy, and more) are set with list config. Keys match list info output; booleans and integers as plain values.

xlistman list config dev@example.com moderation_enabled=true
xlistman list config dev@example.com digest_frequency=weekly
xlistman list config dev@example.com subscription_policy=moderated

Next: Email commands.