Friday, 4 October 2013

MAILMAN Mailing List Installation and Configuration in SENDMAIL

Mailman is a server based email list and web based list member management software. It allows list users to send a single email to the list email address (i.e. list@example.com) and all members on the list will receive the email. It is a great communications tool for the dissemination of information and for discussion among list members. Mailman will also save list emails for archive and viewing via the web. A full featured email web GUI is also provided for list members and list administrators.

1.    I will install mailman package on server for mailing list.

[root@mail01 jitendrakumar]# yum install mailman*

[root@mail01 jitendrakumar]# rpm -qa | grep mailman
mailman-2.1.12-18.el6.x86_64

Mailman now installs to following location.

/etc/mailman/...
/usr/lib/mailman/...
/var/spool/mailman/...
/var/lock/mailman/...
/var/run/mailman/...
/var/log/mailman/...
/usr/share/doc/mailman-*

2.    Create a site admin password.

[root@mail01 jitendrakumar]#/usr/lib/mailman/bin/mmsitepass <your-supersecret-password>

3.    Change the following parameters to file /usr/lib/mailman/Mailman/mm_cfg.py (to override defaults set in /usr/lib/mailman/Mailman/Defaults.py)

DEFAULT_URL_HOST   = 'mail01.example.com'
DEFAULT_EMAIL_HOST = 'example.com'

4.    Other config files:

I)             /usr/lib/mailman/Mailman/Defaults.py - System defaults. Don't change here
II)            override in /usr/lib/mailman/Mailman/mm_cfg.py
III)          /etc/mailman/sitelist.cfg - Mailman behavior and settings.
IV)          /etc/mailman/mm_cfg.py is a soft link to /usr/lib/mailman/Mailman/mm_cfg.py

5.    Generate the default Mailing list mailman.

[root@mail01 jitendrakumar]#/usr/lib/mailman/bin/newlist mailman      
      Enter the email address of the person running the list:  admin@example.com

      Initial mailman password:    - Type it correctly. There is no verification!       

This will generate "aliases" entry to cut and paste to the file /etc/aliases

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

6.    Update Aliases file.

[root@mail01 jitendrakumar]# makemap hash /etc/aliases.db < /etc/aliases

7.    Generate additional mailing list.

[root@mail01 jitendrakumar]#/usr/lib/mailman/bin/newlist  alluser-noida    

8.    For Web interface  of mailman admin console we have to make entry into /etc/httpd/conf.d/mailman.conf.

[root@mail01 jitendrakumar]# vi  /etc/httpd/conf.d/mailman.conf

ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
<Directory /usr/lib/mailman/cgi-bin/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Alias /pipermail/ /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# Uncomment the following line, replacing www.example.com with your server's
# name, to redirect queries to /mailman to the listinfo page (recommended).

# RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo

9.    Restart Apache Service on Mail Server.

[root@mail01 jitendrakumar]# service httpd restart

10.  To access the Mailling list through Web Browser use below URL.

http://Server Hostname>/mailman/admin/

Some Important Commands of Mailman:-

1.    Remove the Mailing List

/usr/lib/mailman/bin/rmlist –a <mailing list name>

 Example:

[root@mail01 bin]# /usr/lib/mailman/bin/rmlist  -a test

To finish removing your mailing list, you must edit your /etc/aliases (or
equivalent) file by removing the following lines, and possibly running the
`newaliases' program:

## test mailing list
test:              "|/usr/lib/mailman/mail/mailman post test"
test-admin:        "|/usr/lib/mailman/mail/mailman admin test"
test-bounces:      "|/usr/lib/mailman/mail/mailman bounces test"
test-confirm:      "|/usr/lib/mailman/mail/mailman confirm test"
test-join:         "|/usr/lib/mailman/mail/mailman join test"
test-leave:        "|/usr/lib/mailman/mail/mailman leave test"
test-owner:        "|/usr/lib/mailman/mail/mailman owner test"
test-request:      "|/usr/lib/mailman/mail/mailman request test"
test-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe test"
test-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe test"

Removing list info
Removing private archives
Removing private archives
test public archives not found as /var/lib/mailman/archives/public/test
test public archives not found as /var/lib/mailman/archives/public/test.mbox

2.    Add New Member through file containing each mail in new line.

/usr/lib/mailman/bin/add_members  -a  y  -r  <filename>   <Mailing List>

  --welcome-msg=<y|n>
    -w <y|n>
        Set whether or not to send the list members a welcome message,
        overriding whatever the list's `send_welcome_msg' setting is.

    --admin-notify=<y|n>
    -a <y|n>
        Set whether or not to send the list administrators a notification on
        the success/failure of these subscriptions, overriding whatever the
        list's `admin_notify_mchanges' setting is.

3.    Remove List of User from mailing list.

/usr/lib/mailman/bin/remove_members -f  /<filename>   <Mailing List>

4.    To generate aliases of currently listed mailing list

/usr/lib/mailman/bin/genaliases

5.    To check and fix the permissions on mailman files.

/usr/lib/mailman/bin/check_perms –f

Option -f means forcefully.

6.    Find Member into mailing list.

/usr/lib/mailman/bin/ find_member   <member mail >

Ex-

[root@mail01 bin]# ./find_member  jitendrakumar
jitendrakumar@example.com found in:
     mailman
     alluser-noida

No comments:

Post a Comment