First steps
This page assumes xListman is installed (Install) and walks you from nothing to a working list with a post on it.
1. Configure
Generate a config and set the public URL your users will see in emails.
./xlistman config init
Edit xlistman.yaml and set web.base_url to the origin people will use — for
local testing http://localhost:8080 is fine. See Configuration for every option.
Validate the file:
./xlistman config check
2. Start the daemon
./xlistman serve
You should see the listen addresses and SMTP mode logged at startup.
3. Add a domain
A list lives under a virtual domain. Add yours:
./xlistman domain add example.com "Example domain"
4. Create a list
Create a discussion list with a first owner. The owner’s address becomes a Subscriber automatically if it isn’t one already:
./xlistman list create dev@example.com --type discussion --owner you@example.com
5. Sign in
Open the web UI at http://localhost:8080, enter you@example.com, and follow
the magic link that arrives in your mail. There are no passwords — the link is
your login, and it’s valid once.
6. Deliver mail
For the list to actually receive and send mail, your mail server has to hand the list domain to xListman over LMTP (or the pipe socket). This is the step people usually underestimate — set aside time for it. The MTA integration guide covers Postfix, exim, and pipe mode in detail.
Until then, smtp.mode: sink in the config writes outbound mail to a directory
instead of relaying it, which is handy for exercising the inbound half without a
mail server.
7. Post and subscribe
Write to dev@example.com and the post goes to the list. Subscribe a second
address from the list page’s subscribe form — you’ll see double opt-in in action:
the request lands as Pending, the confirmation email activates it, and the
member appears on the list.
Next: Configuration, or jump straight to MTA integration when you’re ready to wire mail for real.