picolist receives mails on standard input and deletes the first line, which is assumed to be an envelope header from your MTA. It then calls the sendmail command provided by sendmail, qmail, postfix and similar to forward them to list members. List members are defined by 'list'@'domain'.pico files in the executable's directory.
You have to configure your mail transfer agent to pipe incoming mails for a list address to picolist with the appropriate flags. Errors are logged to
picolist.log in the executable's directory. picolist does not provide log
rotation.
member files
------------
Member files consist of email addresses, one per line. Only bare email addresses
without display names are supported. The file may contain empty lines or
comments beginning with a hash ('#').
example:
```
foo@bar.com
spam@eggs.org
#comment
horst@host.com
```
flags
------
You HAVE to provide --list and --domain as strings to picolist. The full
list address is assumed to be 'list'@'domain'. picolist will also set a return
path to 'list'-bounces@'domain', so you should set up an alias for that address in your MTA configuration.
You MAY also provide additional flags, in particular:
* maxsize NUM: change the max size of forwarded emails (default: 6MB)
* open: allow anyone to post to this mailing list (default: members-only)
* newsletter: newsletter mode (few-to-many reflection, implies "not open" and an owner file in 'list'@'domain'.pico.owners)
* debug: also log normal operation (default: only errors)
* sendmail: path to sendmail (default /usr/sbin/sendmail)
Postfix setup
-------------
Assuming you have configured postfix to use an alias.db, edit your /etc/aliases and add one pipe alias for your mailing list.
Run 'postmap aliases' and 'postfix reload'. Postfix runs picolist as user 'nobody', so the binary file has to be executable by 'nobody', picolist.log has to be writeable and the member files have to be readable.