iredmail-doc/en_US/howto/0-manage.subscribable.maili...

136 lines
4.4 KiB
Markdown

# Manage subscribable mailing list
[TOC]
## Summary
iRedMail-0.9.8 integrates [mlmmj](http://mlmmj.org) as mailing list manager.
"Although it doesn't aim to include every feature possible, but focuses on
staying mean and lean, and doing what it does do well, it does have a great
set of features, including:"
* Archive
* Custom headers / footer
* Fully automated bounce handling (similar to ezmlm)
* Complete requeueing functionality
* Moderation functionality
* Subject prefix
* Subscribers only posting
* Regular expression access control
* Functionality to retrieve old posts
* Digests
* No-mail subscription
* VERP support
* Delivery Status Notification (RFC1891) support
* Rich, customisable texts for automated operations
For more details about mlmmj, please visit [mlmmj website](http://mlmmj.org).
## Default settings on iRedMail server
* mlmmj doesn't have a global config file.
* Data (archive, configurations, etc) of mailing lists are stored under
`/var/vmail/mlmmj` by default. For example: mailing list `newsletter@mydomain.com`:
* Archived messages are stored under `/var/vmail/mlmmj/mydomain.com/newsletter/archive/`.
* Normal subscribers are stored under
`/var/vmail/mlmmj/mydomain.com/newsletter/subscribers.d/`, file `a` under
this directory contains all subscribers whose email addresses start with
letter `a`.
## Manage mailing lists with command line tools
iRedMail team develops a HTTP RESTful API server called `mlmmjadmin` to help
manage mlmmj mailing lists:
* It's installed under `/opt/mlmmjadmin`, which is a symbol link to
`/opt/mlmmjadmin-<version>`.
* It listens on address `127.0.0.1`, port `7779` by default.
* It's written in Python programming language, full source code is
hosted on github: <https://github.com/iredmail/mlmmjadmin>. Feel free to fork
it and send us pull requests to improve it.
### Create a mailing list
Let's say you have mail domain `mydomain.com` hosted on iRedMail server,
now let's create mailing list `newsletter@mydomain.com` from command line:
```
cd /opt/mlmmjadmin/tools/
python maillist_admin.py create newsletter@mydomain.com
```
You can create mailing list with extra options, for example:
```
python maillist_admin.py create newsletter@mydomain.com name='Support Team' disable_archive=no
```
* All options are listed in file `/opt/mlmmjadmin/docs/API.md` on your server.
* You can specify as many (different) options as you want.
### View mailing list settings
To view mailing list settings, use the `info` argument like below:
```
python maillist_admin.py info newsletter@mydomain.com
```
### Update an existing mailing list
To update existing mailing list, use the `update` argument like below:
```
python maillist_admin.py update newsletter@mydomain.com name='Updated name' disable_archive=yes
```
All options are listed in file `/opt/mlmmjadmin/docs/API.md` on your server.
### Delete an existing mailing list
To delete an existing mailing list, use the `delete` argument like below:
```
python maillist_admin.py delete newsletter@mydomain.com
```
### List all members/subscribers
To delete an existing mailing list, use the `subscribers` argument like below:
```
python maillist_admin.py subscribers newsletter@mydomain.com
```
### Check whether mailing list has given member/subscriber
To check whether mailing list has given member/subscriber, use the
`has_subscriber` argument like below:
```
python maillist_admin.py has_subscriber newsletter@mydomain.com subscriber@gmail.com
```
### Check all subscribed mailing lists of a given member/subscriber
To check all subscribed mailing lists of a given member/subscriber, use the
`subscribed` argument like below:
```
python maillist_admin.py subscribed subscriber@gmail.com
```
## How to subscribe to or unsubscribe from a mailing list
* To subscribe to mailing list `newsletter@mydomain.com`, simply send an email
to address `newsletter+subscribe@mydomain.com` (content of mail subject and
body don't matter at all), you will receive an email for subscription
confirmation. Simply reply the confirm email with any subject/body will
confirm your subscription.
* To unsubscribe from mailing list `newsletter@mydomain.com`, simply send an
email to address `newsletter+unsubscribe@mydomain.com` (content of mail
subject and body don't matter at all), you will receive an email for
unsubscription confirm, simply reply the confirm email with any subject/body
will confirm your unsubscription.