Command line
The xmailman binary is the whole product — web UI, mail handling, and an
administration CLI in one. Configuration is read from $XMAILMAN_CONFIG or ./xmailman.yaml. Actions taken on the CLI are recorded in the audit trail,
attributed to your local OS user.
Reference
| Command | What it does |
|---|---|
xmailman serve | Start the daemon: HTTP + web UI, LMTP, pipe socket, outbound queue, digest worker, and the hourly sweeper. |
xmailman deliver <list-address> | Pipe mode: read a raw message from stdin and relay it to the daemon over the Unix socket. |
xmailman domain add <name> [desc] | Add a virtual domain. |
xmailman domain remove <name> | Remove a virtual domain. |
xmailman domain list | List domains. |
xmailman list create <addr> --type <discussion\|newsletter> [--owner <email>] [--desc <text>] [--moderate] | Create a list; --owner assigns the first owner. |
xmailman list delete <addr> | Delete a list and all its data. Permanent. |
xmailman list type <addr> <discussion\|newsletter> | Change a list’s type. |
xmailman list list [--domain <d>] | List lists. |
xmailman list info <addr> | Show a list’s details and every setting. |
xmailman list config <addr> <k>=<v> ... | Edit list settings (keys match list info). |
xmailman list allowlist <addr> | List a newsletter’s designated senders. |
xmailman list add-sender <addr> <email> | Designate a sender for a newsletter list. |
xmailman list remove-sender <addr> <id> | Remove a designated sender. |
xmailman owner add \| remove \| list <list> <email> | Manage Owners. |
xmailman moderator add \| remove \| list <list> <email> | Manage Moderators. |
xmailman admin add \| remove \| list <email> | Manage instance-wide Administrators. |
xmailman subscriber add \| remove <list> <email> | Add or remove a subscriber (add is immediate — no confirmation). |
xmailman subscriber approve \| reject <list> <email> | Resolve a pending subscription request. |
xmailman subscriber re-enable <list> <email> | Re-enable a disabled subscriber (resets the bounce count). |
xmailman subscriber reset-bounces <list> <email> | Reset a member’s bounce count without changing status. |
xmailman subscriber list <list> | List subscribers. |
xmailman subscriber import \| export <list> [file] | Bulk-import members from CSV or export the roster as CSV. |
xmailman moderation list \| approve \| reject \| discard | Work the held-message queue. |
xmailman audit list <addr> [action] | Show a list’s audit trail. |
xmailman audit server [action] | Show the instance-wide audit trail. |
xmailman queue list \| discard | Inspect or discard stuck outbound messages. |
xmailman enable \| disable login | Toggle magic-link sign-in (disabling ends all sessions). |
xmailman enable \| disable management | Toggle the web consoles (public pages and self-service stay up). |
xmailman web status | Show whether login and management are enabled. |
xmailman config check | Validate the config file. |
xmailman config init | Generate a commented xmailman.yaml. |
xmailman version | Print the version. |
xmailman help | Print 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.
xmailman 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.
xmailman list config dev@example.com moderation_enabled=true
xmailman list config dev@example.com digest_frequency=weekly
xmailman list config dev@example.com subscription_policy=moderated
Next: Email commands.