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

4.4 KiB

Manage subscribable mailing list

[TOC]

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:"

  • 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.

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.