diff --git a/en_US/howto/0-manage.subscribable.mailing.list.md b/en_US/howto/0-manage.subscribable.mailing.list.md new file mode 100644 index 00000000..334b4dd1 --- /dev/null +++ b/en_US/howto/0-manage.subscribable.mailing.list.md @@ -0,0 +1,135 @@ +# 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-`. +* 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: . 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. diff --git a/html/manage.subscribable.mailing.list.html b/html/manage.subscribable.mailing.list.html new file mode 100644 index 00000000..255b872f --- /dev/null +++ b/html/manage.subscribable.mailing.list.html @@ -0,0 +1,161 @@ + + + + + Manage subscribable mailing list + + + + +

Manage subscribable mailing list

+ +

Summary

+

iRedMail-0.9.8 integrates mlmmj 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:"

+ +

For more details about mlmmj, please visit mlmmj website.

+

Default settings on iRedMail server

+ +

Manage mailing lists with command line tools

+

iRedMail team develops a HTTP RESTful API server called mlmmjadmin to help +manage mlmmj mailing lists:

+ +

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
+
+ + +

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

+ + + + + \ No newline at end of file