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


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

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


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



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



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


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

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


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

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


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


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


  12. 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:


The latest version of this document is available at: http://nediam.com.mx/en/docs/ezmlm_manual/index.php

<< 2 comments >>



TOP