ezmlm configuration manual
Author: Nediam <javier@nediam.com.mx>
Publication date: 2005-01-31
Last updated: 2005-12-05
We faced some difficulty when installing ezmlm as there is not much information available on the topic and whatever information we found was outdated and
seemed somewhat confusing to us. Therefore we decide to publish this document on ezmlm installation and use.
EZ Mailing List Manager (EZMLM) is a mailing list manager for qmail. With ezmlm you can create simple mailing lists and lists that are moderated in the
subscription and/or message-sending process.
To use ezmlm you need to have qmail already configured and running properly (see qmail installation manual).
- Download from http://www.ezmlm.org/archive/ the following packages:
- ezmlm-x.x.tar.gz
- ezmlm-idx-x.x.tar.gz
Note: at the time of this writing the most recent version of ezmlm is 0.53 and that of ezmlm-idx is 0.433. - Supposing the above packages were downloaded to /usr/local/, extract and decompress them:
SERVER:~# cd /usr/local
SERVER:/usr/local# tar -zxvf ezmlm-0.53.tar.gz
SERVER:/usr/local# tar -zxvf ezmlm-idx-0.433.tar.gz
- ezmlm-idx is an add-on to ezmlm. One of the features it offers is support for moderated mailing lists. To check out the differences between ezmlm and
ezmlm-idx see
this
section of the ezmlm FAQ. Back to the installation, the next step is to move the full content of the ezmlm-idx directory to the ezmlm directory and apply
the following patch:
SERVER:/usr/local# mv ezmlm-idx-0.433/* ezmlm-0.53
SERVER:/usr/local# cd ezmlml-0.53
SERVER:/usr/local/ezmlm-0.53# patch < idx.patch
- Check the conf-x files (conf-qmail, conf-cc, conf-qmail, etc.) to verify that they point to the right directories/commands, then compile
the programs and reference manuals:
SERVER:/usr/local/ezmlm-0.53# more conf-qmail
/var/qmail
This is the qmail home directory.
SERVER:/usr/local/ezmlm-0.53# make
SERVER:/usr/local/ezmlm-0.53# make man
- Test the programs that have just been compiled. Create a system user called eztest (or edit the file ezml-test to use a different username,
or enter as a parameter the desired username) and with that username execute the program ezmlm-test:
SERVER:/usr/local/ezmlm-0.53# adduser eztest
SERVER:/usr/local/ezmlm-0.53# su - eztest
eztest@SERVER:~$ cd /usr/local/ezmlm-0.53
eztest@SERVER:/usr/local/ezmlm-0.53$ ./ezmlm-test
testing ezmlm-idx: ezmlm-make version: ezmlm-idx-0.433 Using FQDN host name: host.domain ezmlm-make (1/2): OK Using RDBMS support: No. testing for qmail: >=1.02 ezmlm-reject: OK ezmlm-[un|is]sub[n]: OK ezmlm-send (1/2): OK ezmlm-tstdig: OK ezmlm-weed: OK ezmlm-make (2/2): OK ezmlm-clean (1/2): OK ezmlm-store (1/2): OK ezmlm-return: OK ezmlm-warn (1/3): OK ezmlm-manage (1/4): OK ezmlm-request (1/2): OK ezmlm-split (1/2): OK max 35s for delivery: ....5s....OK ezmlm-idx: OK ezmlm-get (1/2): OK ezmlm-send (2/2): -C failed to exclude sender (no longer supported) ezmlm-send: OK ezmlm-clean (2/2): OK ezmlm-store (2/2): OK ezmlm-manage (2/4): OK ezmlm-moderate (1/2): OK ezmlm-warn (2/3): OK ezmlm-request (2/2): OK max 35s for delivery: ....5s....OK ezmlm-split (2/2): OK ezmlm-moderate (2/2): OK ezmlm-manage (3/4): OK ezmlm-get (2/2): OK max 35s for delivery: ....5s....OK ezmlm-warn (3/3): OK ezmlm-manage (4/4): OK Verifying message header and body contents... ezmlm-manage (subscribe probe): OK ezmlm-manage (unsubscribe probe): OK ezmlm-manage (subscribe): OK ezmlm-manage (unsubscribe): OK ezmlm-send: OK
-
Copy the binaries and the reference manuals to their appropriate directories executing 'make setup' and then again perform the tests executing the
program ezmlm-test, but this time from the directory /usr/local/bin/ezmlm/:
SERVER:/usr/local/ezmlm-0.53# make setup
SERVER:/usr/local/ezmlm-0.53# cp ezmlm-test /usr/local/bin/ezmlm/
SERVER:/usr/local/ezmlm-0.53# su - eztest
eztest@SERVER:~$ cd /usr/local/bin/ezmlm
eztest@SERVER:/usr/local/bin/ezmlm$ ./ezmlm-test
Note: We had trouble with make setup. It was an error related to ezmlm-mktab, which serves to keep the mailing lists information in database tables. Although we did not enable support for RDBMS, that was the error we got, so we had to manually copy the executables to /usr/local/bin/ezmlm/.
* Note 2 (2005-03-03): With version 0.434 of ezmlm-idx we had no more problems with make setup. -
Theoretically, by this time ezmlm should be functioning. To create a mailing list, use the command ezmlm-make:
ezml-make options directory .qmail-file listname domain
Where:
- options: configuration options such as whether the list will be moderated or not, whether subscription to the list will require confirmation, among many others.
- directory: the directory where the information related to the list will be stored.
- .qmail-file: the dot-qmail file that will control the delivery of messages.
- listname: Name of the list.
- domain: domain name, which must be the same as the one configured for qmail.
Note: to view all parameters, see the reference manual for ezml-make.
For example, if user john would want to create the list john-list1, he would use the command ezmlm-make with the following parameters (supposing that the domain name is domain1.com):
john@SERVER:~$ ezmlm-make ~/lista1 ~/.qmail-list1 john-list1 domain1.com
To prevent conflicts among the names of the mailing lists, users can only create mailing lists that start with their own system username, followed by a dash '-'. For example, for user john the list names 'john-friends' and 'john-project2' are correct, but the list name 'sports' is incorrect. To create a list named simply 'sports', the list has to be created by root user specifying that the directory will be inside /var/qmail/alias/, and will then have to change the permissions in order for the owner to be the user alias (the user alias is created during the qmail installation and its $HOME is /var/qmail/alias):
SERVER:~# ezmlm-make ~alias/sports ~alias/.qmail-sports sports domain1.com
SERVER:~# chown -R alias ~alias/sports
- Now we will do some testing. First we will create three test users to simulate the different users in the mailing lists:
SERVER:~# adduser user1
SERVER:~# adduser user2
SERVER:~# adduser user3
Create an inbox for each user. Supposing you have Maildir (see qmail installation manual), it would be like this:
SERVER:~# su - user1
user1@SERVER:~$ /var/qmail/bin/maildirmake $HOME/Maildir
It is also recommended to add to the PATH the directory where the ezmlm binaries are located, in this case /usr/local/bin/ezmlm. This can be done by modifying the profile or from the command line for the existing session. For user1 it would be like this:
user1@SERVER:~$ echo $PATH
/opt/informix/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
user1@SERVER:~$ PATH=$PATH:/usr/local/bin/ezmlm
user1@SERVER:~$ echo $PATH
/opt/informix/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/bin/ezmlm - Example 1. Create a mailing list called user1-friends as user1. Then, manually subscribe user2 and as user1 and user3 go through the process of
subscription to the list. Finally, send a message to the list as user2 and verify that the messages reach all three users. Suppose the domain name is
domain1.com:
Firt let's create the list:
user1@SERVER:~$ ezmlm-make -u ~/friends ~/.qmail-friends user1-friends domain1.com
Note: The parameter 'u' serves to specify that we want that only the subscribers can send emails to that list. The default setting is that emails from any address are accepted.
A directory called friends and four dot-qmail files (.qmail-friends, .qmail-friends-default, .qmail-friends-owner, .qmail-friends-return-default) should have been created in our home directory. These dot-qmail files are symbolic links to files in the friends directory and are used by ezmlm to administer, control and keep the mailing list clean, and also to interact with qmail (to learn more about dot-qmail files check its reference) manual. Following the example, we will manually add user2 to the list. Use the ezmlm-sub command to do this:
user1@SERVER:~$ ezmlm-sub ~/friends user2@domain1.com
To see the email addresses that are subscribed to a certain mailing list, the command ezmlm-list is used. This command receives as option the directory where the list is located:
user1@SERVER:~$ ezmlm-list ~/friends
user2@domain1.com
Now let's susbcribe to the list as user3, but this time we won't do it manually as we did for user2. Instead we'll through the normal subcription process. user3 has to send a subcription request email to the address user1-friends-subscribe@domain1.com. After that, and because the list has no moderation, the user will automatically receive a confirmation email with information on the list and with instructions to send a confirmation email. So we have to do this (the emails could be sent from a webmail or email client):
user3@SERVER:~$ echo to: user1-friends-subscribe@domain1.com | /var/qmail/bin/qmail-inject
user3@SERVER:~$ cd Maildir/new
user3@SERVER:~/Maildir/new$ ls
1106552207.966.SERVER
user3@SERVER:~/Maildir/new$ more 1106552207.966.SERVER
. . . Subject: confirm subscribe to user1-friends@domain1.com Hi! This is the ezmlm program. I'm managing the user1-friends@domain1.com mailing list. I'm working for my owner, who can be reached at user1-friends-owner@domain1.com. To confirm that you would like user3@domain1.com added to the user1-friends mailing list, please send an empty reply to this address: user1-friends-sc.1106552207.pmblnhhdiippekdphjof-user3=domain1.com@domain1.com Usually, this happens when you just hit the "reply" button. If this does not work, simply copy the address and paste it into the "To:" field of a new message. . . .
user3@SERVER:~/Maildir/new$ echo to: user1-friends-sc.1106552207.pmblnhhdiippekdphjof-user3=domain1.com@domain1.com |
/var/qmail/bin/qmail-inject
user3@SERVER:~/Maildir/new$ ls
1106552207.966.DARGOR 1106552638.1009.DARGOR
user3@SERVER:~/Maildir/new$ more 1106552638.1009.DARGOR
. . . Subject: WELCOME to user1-friends@domain1.com Hi! This is the ezmlm program. I'm managing the user1-friends@domain1.com mailing list. I'm working for my owner, who can be reached at user1-friends-owner@domain1.com. Acknowledgment: I have added the address user3@domain1.com to the user1-friends mailing list. Welcome to user1-friends@domain1.com! Please save this message so that you know the address you are subscribed under, in case you later want to unsubscribe or change your subscription address. . . .
Verify that user3 has been indeed added to the list:
user1@SERVER:~$ ezmlm-list ~/friends
user3@domain1.com
user2@domain1.com
Add the user1. The process is the same that was done for user3. After doing this, all three users should be on the list:
user1@SERVER:~$ ezmlm-list ~/friends
user3@domain1.com
user2@domain1.com
user1@domain1.com
Now as user2 send an email to the list and verify that the message has been received by all three users:
user2@SERVER:~$ echo | /usr/local/qmail-1.05/mailsubj msg_example1 user1-friends@domain1.com
user2@SERVER:~$ cd Maildir/new
user2@SERVER:~/Maildir/new$ ls
1106557372.1492.SERVER
user2@SERVER:~/Maildir/new$ more 1106557372.1492.SERVER
Return-Path: <user1-friends-return-9-user2=domain1.com@domain1.com> Delivered-To: user2@domain1.com Received: (qmail 1482 invoked by uid 1011); 24 Jan 2005 09:02:52 -0000 Mailing-List: contact user1-friends-help@domain1.com; run by ezmlm Precedence: bulk X-No-Archive: yes List-Post: <mailto:user1-friends@domain1.com> List-Help: <mailto:user1-friends-help@domain1.com> List-Unsubscribe: <mailto:user1-friends-unsubscribe@domain1.com> List-Subscribe: <mailto:user1-friends-subscribe@domain1.com> Delivered-To: mailing list user1-friends@domain1.com Received: (qmail 1477 invoked by uid 1012); 24 Jan 2005 09:02:52 -0000 Date: 24 Jan 2005 09:02:52 -0000 Message-ID: <20050124090252.1475.qmail@domain1.com> From: user2@domain1.com Subject: msg_example1 To: user1-friends@domain1.com
user1@SERVER:~/Maildir/new$ more 1106557372.1493.SERVER
Return-Path: <user1-friends-return-9-user1=domain1.com@domain1.com> Delivered-To: user1@domain1.com Received: (qmail 1482 invoked by uid 1011); 24 Jan 2005 09:02:52 -0000 Mailing-List: contact user1-friends-help@domain1.com; run by ezmlm Precedence: bulk X-No-Archive: yes List-Post: <mailto:user1-friends@domain1.com> List-Help: <mailto:user1-friends-help@domain1.com> List-Unsubscribe: <mailto:user1-friends-unsubscribe@domain1.com> List-Subscribe: <mailto:user1-friends-subscribe@domain1.com> Delivered-To: mailing list user1-friends@domain1.com Received: (qmail 1477 invoked by uid 1012); 24 Jan 2005 09:02:52 -0000 Date: 24 Jan 2005 09:02:52 -0000 Message-ID: <20050124090252.1475.qmail@domain1.com> From: user2@domain1.com Subject: msg_example1 To: user1-friends@domain1.com
user3@SERVER:~/Maildir/new$ more 1106557372.1491.SERVER
Return-Path: <user1-friends-return-9-user3=domain1.com@domain1.com> Delivered-To: user3@domain1.com Received: (qmail 1482 invoked by uid 1011); 24 Jan 2005 09:02:52 -0000 Mailing-List: contact user1-friends-help@domain1.com; run by ezmlm Precedence: bulk X-No-Archive: yes List-Post: <mailto:user1-friends@domain1.com> List-Help: <mailto:user1-friends-help@domain1.com> List-Unsubscribe: <mailto:user1-friends-unsubscribe@domain1.com> List-Subscribe: <mailto:user1-friends-subscribe@domain1.com> Delivered-To: mailing list user1-friends@domain1.com Received: (qmail 1477 invoked by uid 1012); 24 Jan 2005 09:02:52 -0000 Date: 24 Jan 2005 09:02:52 -0000 Message-ID: <20050124090252.1475.qmail@domain1.com> From: user2@domain1.com Subject: msg_example1 To: user1-friends@domain1.com
- Moderated lists.
In the previous example any person can subscribe to the list and send any message regardless of the content. Actually, if the -u parameter hasn't been specified when creating the list,
any person (or program :D) could send emails to the list with no restriction and all the subscribed users would receive them. That is why mailing list moderation is there. There are two kinds of
moderation: moderation in the subscription process (subscription moderation) and moderation in the messages that are distributed to the subscribers of the list (message moderation).
To specify that the list will have subscription moderation, use the parameter -s when creating the list:
user@SERVER:~$ ezmlm-make -s ~/list1 ~/.qmail-list1 user-list1 domain1.com
To specify that the list will have message moderation, use the parameter -m when creating the list:
user@SERVER:~$ ezmlm-make -m ~/list2 ~/.qmail-list2 user-list2 domain1.com
Note: We encountered some problems with message moderation because the editor file did not contain the line that invokes to ezmlm-store program. We added it manually and it worked. So, for example, if the list were called list1 and the user john had created it, the editor file would be located in /home/john/list1/ and would contain:
|/usr/local/bin/ezmlm/ezmlm-reject '/home/john/list1' |/usr/local/bin/ezmlm/ezmlm-clean '/home/john/list1' || exit 0 |/usr/local/bin/ezmlm/ezmlm-warn '/home/john/list1' || exit 0
A line contaning the path to ezmlm-store program should be added:
|/usr/local/bin/ezmlm/ezmlm-store '/home/john/list1' |/usr/local/bin/ezmlm/ezmlm-reject '/home/john/list1' |/usr/local/bin/ezmlm/ezmlm-clean '/home/john/list1' || exit 0 |/usr/local/bin/ezmlm/ezmlm-warn '/home/john/list1' || exit 0
* Note 2 (2005-03-03): With version 0.434 of ezmlm-idx we had no longer this problem.
- Example 2. As user1 create a list with subcription and message moderation named user1-team1. Then define user2 as the mailing list moderator. Next, manually
subscribe user1 to the list. As user3 go through the subscription process and the moderator will have to accept the user. Then as user3 send a message to the list.
The moderator will accept this message. Then verify that it has been received by user1 and user3. Again send a message as user3, but this time the moderator will reject it.
Check that the message has not been distributed to the list subscribers. Suppose the name of the domain is domain1.com:
Create the list specifying the options -s and -m so list have subscription and message moderation:
user1@SERVER:~$ ezmlm-make -s -m ~/team1 ~/.qmail-team1 user1-team1 domain1.com
Define user2 as the list moderator:
user1@SERVER:~$ ezmlm-sub ~/team1/mod user2@domain1.com
Manually subscribe user1 to the list:
user1@SERVER:~$ ezmlm-sub ~/team1 user1@domain1.com
Verify that user2 is subscribed as the list moderator and user1 as a list member:
user1@SERVER:~$ ezmlm-list ~/team1/mod
user2@domain1.com
user1@SERVER:~$ ezmlm-list ~/team1
user1@domain1.com
As user3 go through the subscription process. First send a message to the address user1-team1-subscribe@domain1.com. We will receive an email with information on the list and with instructions to send a confirmation email:
user3@SERVER:~$ echo to: user1-team1-subscribe@domain1.com | /var/qmail/bin/qmail-inject
user3@SERVER:~$ cd Maildir/new
user3@SERVER:~/Maildir/new$ ls
1107119439.1642.SERVER
user3@SERVER:~/Maildir/new$ more 1107119439.1642.SERVER
. . . Subject: confirm subscribe to user1-team1@domain1.com Hi! This is the ezmlm program. I'm managing the user1-team1@domain1.com mailing list. I'm working for my owner, who can be reached at user1-team1-owner@cominio1.com. To confirm that you would like user3@domain1.com added to the user1-team1 mailing list, please send an empty reply to this address: user1-team1-sc.1107119439.lgaklokgjnjipjajbnkd-user3=domain1.com@domain1.com Usually, this happens when you just hit the "reply" button. If this does not work, simply copy the address and paste it into the "To:" field of a new message. . . .
Send the confirmation email:
user3@SERVER:~$ echo to: user1-team1-sc.1107119439.lgaklokgjnjipjajbnkd-user3=domain1.com@domain1.com | /var/qmail/bin/qmail-inject
After sending the confirmation email, the list moderator (wich is user2) will receive a message asking for his authorization to add the email address of user3 to the mailing list:
user2@SERVER:~/Maildir/new$ more 1107120082.1678.DARGOR
. . . Subject: CONFIRM subscribe to user1-team1@domain1.com Hi! This is the ezmlm program. I'm managing the user1-team1@domain1.com mailing list. I'm working for my owner, who can be reached at user1-team1-owner@domain1.com. I respectfully request your permission to add user3@domain1.com to the subscribers of the user1-team1 mailing list. This request either came from you, or it has already been verified by the potential subscriber. To confirm, please send an empty reply to this address: user1-team1-tc.1107120082.giiifdlkibbednjabneg-user3=domain1.com@domain1.com Usually, this happens when you just hit the "reply" button. If this does not work, simply copy the address and paste it into the "To:" field of a new message. If you don't approve, simply ignore this message. . . .
Accept user3 in the list (subscription moderation): user2@SERVER:~/Maildir/new$ echo to: user1-team1-tc.1107120082.giiifdlkibbednjabneg-user3=domain1.com@domain1.com | /var/qmail/bin/qmail-inject
After sending this email user3 should be receive a message of welcome to the list:
user3@SERVER:~/Maildir/new$ ls
1107119439.1642.SERVER 1107153925.1960.SERVER
user3@SERVER:~/Maildir/new$ more 1107153925.1960.SERVER
. . . Subject: WELCOME to user1-team1@domain1.com Hi! This is the ezmlm program. I'm managing the user1-team1@domain1.com mailing list. I'm working for my owner, who can be reached at user1-team1-owner@domain1.com. Acknowledgment: I have added the address user3@domain1.com to the user1-team1 mailing list. Welcome to user1-team1@domain1.com! Please save this message so that you know the address you are subscribed under, in case you later want to unsubscribe or change your subscription address. To unsubscribe, send a message to: <user1-team1-unsubscribe-user3=domain1.com@domain1.com> . . .
Now as user3 send a message to the list:
user3@SERVER:~$ echo | /usr/local/qmail-1.05/mailsubj msg_example2 user1-team1@domain1.com
The moderator will approve the mail to be distributed to all list members (message moderation):
user2@SERVER:~/Maildir/new$ ls
1107120082.1678.SERVER 1107155734.2106.SERVER
user2@SERVER:~/Maildir/new$ more 1107155734.2106.SERVER
. . . Subject: MODERATE for user1-team1@domain1.com --fcgnhppebpgennchjndo Content-Type: text/plain; charset=us-ascii The enclosed message was submitted to the user1-team1@domain1.com mailing list. If you'd like to approve it for distribution to all the subscribers, please e-mail: user1-team1-accept-1107155734.2099.ohhljggkjkhfejnikcog@domain1.com Usually, this happens when you just hit the "reply" button. You can check the address to make sure that it starts with "user1-team1-accept". If this does not work, simply copy the address and paste it into the "To:" field of a new message. To reject the post and cause it to be returned to the sender, please send a message to: user1-team1-reject-1107155734.2099.ohhljggkjkhfejnikcog@domain1.com Usually, it is easiest to hit the "reply-to-all" button, and then remove all the addresses except the one starting with "user1-team1-reject". . . .
user2@SERVER:~/Maildir/new$ echo to: user1-team1-accept-1107155734.2099.ohhljggkjkhfejnikcog@domain1.com | /var/qmail/bin/qmail-inject
After the moderator has approved the message, we verify that user1 and user3 have received it:
user1@SERVER:~/Maildir/new$ ls
1107156793.2188.SERVER
user1@SERVER:~/Maildir/new$ more 1107156793.2188.SERVER
Return-Path: <user1-team1-return-1-user1=domain1.com@domain1.com> Delivered-To: user1@domain1.com Received: (qmail 2180 invoked by uid 1011); 31 Jan 2005 07:33:13 -0000 Mailing-List: contact user1-team1-help@domain1.com; run by ezmlm Precedence: bulk X-No-Archive: yes List-Post: <mailto:user1-team1@domain1.com> List-Help: <mailto:user1-team1-help@domain1.com> List-Unsubscribe: <mailto:user1-team1-unsubscribe@domain1.com> List-Subscribe: <mailto:user1-team1-subscribe@domain1.com> Delivered-To: mailing list user1-team1@domain1.com> Delivered-To: moderator for user1-team1@domain1.com> Received: (qmail 2096 invoked by uid 1013); 31 Jan 2005 07:15:34 -0000 Date: 31 Jan 2005 07:15:34 -0000 Message-ID: <20050131071534.2094.qmail@domain1.com> From: user3@domain1.com Subject: msg_example2 To: user1-team1@domain1.com
user3@SERVER:~/Maildir/new$ ls
1107119439.1642.SERVER 1107153925.1960.SERVER 1107156793.2187.SERVER
user3@SERVER:~/Maildir/new$ more 1107156793.2187.SERVER
Return-Path: <user1-team1-return-1-user3=domain1.com@domain1.com> Delivered-To: user3@domain1.com Received: (qmail 2180 invoked by uid 1011); 31 Jan 2005 07:33:13 -0000 Mailing-List: contact user1-team1-help@domain1.com; run by ezmlm Precedence: bulk X-No-Archive: yes List-Post: <mailto:user1-team1@domain1.com> List-Help: <mailto:user1-team1-help@domain1.com> List-Unsubscribe: <mailto:user1-team1-unsubscribe@domain1.com> List-Subscribe: <mailto:user1-team1-subscribe@domain1.com> Delivered-To: mailing list user1-team1@domain1.com> Delivered-To: moderator for user1-team1@domain1.com> Received: (qmail 2096 invoked by uid 1013); 31 Jan 2005 07:15:34 -0000 Date: 31 Jan 2005 07:15:34 -0000 Message-ID: <20050131071534.2094.qmail@domain1.com> From: user3@domain1.com Subject: msg_example2 To: user1-team1@domain1.com
One more time as user3 send another message to the list, but this time the moderator will reject it:
user3@SERVER:~$ echo | /usr/local/qmail-1.05/mailsubj msg2_example2 user1-team1@domain1.com
As user2 (the list moderator) reject the message:
user2@SERVER:~/Maildir/new$ ls
1107120082.1678.SERVER 1107155734.2106.SERVER 1107189444.2724.SERVER
user2@SERVER:~/Maildir/new$ more 1107189444.2724.SERVER
. . . Subject: MODERATE for user1-team1@domain1.com --lnjhabeponbojajampdc Content-Type: text/plain; charset=us-ascii The enclosed message was submitted to the user1-team1@domain1.com mailing list. If you'd like to approve it for distribution to all the subscribers, please e-mail: user1-team1-accept-1107189444.2716.okebcbbjidpdocdnphnp@domain1.com Usually, this happens when you just hit the "reply" button. You can check the address to make sure that it starts with "user1-team1-accept". If this does not work, simply copy the address and paste it into the "To:" field of a new message. To reject the post and cause it to be returned to the sender, please send a message to: user1-team1-reject-1107189444.2716.okebcbbjidpdocdnphnp@domain1.com Usually, it is easiest to hit the "reply-to-all" button, and then remove all the addresses except the one starting with "user1-team1-reject". . . .
user2@SERVER:~/Maildir/new$ echo to: user1-team1-reject-1107189444.2716.okebcbbjidpdocdnphnp@domain1.com | /var/qmail/bin/qmail-inject
Since the message was rejected, the email will not be delivered to the list members. Only a message will be sent to user3 notifying that his message was not accepted by the list moderator:
user1@SERVER:~/Maildir/new$ ls
1107156793.2188.SERVER
user3@SERVER:~/Maildir/new$ ls
1107119439.1642.SERVER 1107153925.1960.SERVER 1107156793.2187.SERVER 1107189744.2753.SERVER
user3@SERVER:~/Maildir/new$ more 1107189744.2753.SERVER
Return-Path: <user1-team1-return-@domain1.com> Delivered-To: user3@domain1.com Received: (qmail 2748 invoked by uid 1011); 31 Jan 2005 16:42:24 -0000 Mailing-List: contact user1-team1-help@domain1.com; run by ezmlm Date: 31 Jan 2005 16:42:24 -0000 Message-ID: <1107189744.2747.ezmlm@domain1.com> From: user1-team1-owner@domain1.com To: user3@domain1.com Subject: Returned post for user1-team1@domain1.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=logmbjadaichokpmafll --logmbjadaichokpmafll Content-Type: text/plain; charset=us-ascii Hi! This is the ezmlm program. I'm managing the user1-team1@domain1.com mailing list. I'm working for my owner, who can be reached at user1-team1-owner@domain1.com. I'm sorry, your message (enclosed) was not accepted by the moderator. If the moderator has made any comments, they are shown below. --logmbjadaichokpmafll Content-Type: message/rfc822 Return-Path: <user3@domain1.com> Delivered-To: moderator for user1-team1@domain1.com Received: (qmail 2713 invoked by uid 1013); 31 Jan 2005 16:37:23 -0000 Date: 31 Jan 2005 16:37:23 -0000 Message-ID: <20050131163723.2711.qmail@domain1.com> From: user3@domain1.com Subject: msg2_example2 To: user1-team1@domain1.com --logmbjadaichokpmafll--
-
Final notes. To change the content of the text used in the confirmation, welcome, or moderation messages, look at the file ezmlmrc, located in the home directory of each user or in
the directory where ezmlm binaries are. It is a template and can be personalized as needed.
When a list is created, the directory where the information related to the list will be stored is specified. To erase a list, simply delete that directory and the symbolic links of the dot-qmail files created in the user's home directory.
To manually remove a user from a list, the ezmlm-unsub command is used. This command works in a similar way as ezmlm-sub command does (only that insted of subscribing the email address to the list, it unsubscribes it).
For moderated lists, check the content of the mod directory within the directory where the list is located. This directory contains information about the accepted, rejected, and pending messages, among other things.
If something is not working correctly, check the qmail logs.
Cheers and greetings to Rol and Gasper for their help in configuration and testing.
References:
- D. J. Bernstein, qmail: second most popular MTA on the Internet - http://qmail.org/top.html
- D. J. Bernstein, ezmlm - http://cr.yp.to/ezmlm.html
- ezmlm page - http://www.ezmlm.org
- EZFAQ 0.40 - ezmlm-idx and ezmlm FAQ - http://www.ezmlm.org/faq-0.40/index.html
- manual de referencia del comando ezml-make - http://www.ezmlm.org/faq-0.40/ezmlm-make.1.html
- ezmlm archive - http://www.ezmlm.org/archive/
- ezmlm subscription guide - http://www.admin.wellington.net.nz/ezmlm-sub.html
The latest version of this document is available at: http://nediam.com.mx/en/docs/ezmlm_manual/index.php



