> Linux发行版 > FreeBSD >

freebsd postfix mailman 邮件列表配置的实现

没有找到一篇真正实现mailman配置的完整文章,搞得我苦了1周时间,当然,主要还是对配置的理解问题。
我的邮件服务器是基于freebsd8.2 的postfix系统、etmail(我实现的笔记过一阵会贴出来)。
 
Mailman是一个比较好的邮件列表程序,功能非常强大,提供完美的Web端,权限可以分散管理,多个开源组织都在使用。
 
创建mailman用户组,执行如下命令:
pw group add mailman
 
<>1.
echo mailman_enable=\"YES\">> /etc/rc.conf
 
<>2.3.4.postmaster@xxx.com.cn,密码使用soft.43>
bin/newlist mailman
显示:root@mail38/usr/local/mailman# bin/newlist mailman
Enter the email of the person running the list: postmaster@xxx.com.cn
Initial mailman password:xxxxxxxx
Hit enter to notify mailman owner...回车退出。
 
<>5.
    Alias /pipermail /usr/local/mailman/archives/public/
    <Directory "/usr/local/mailman/archives/public/">
        AddDefaultCharset Off
    </Directory>
    <Directory "/usr/local/mailman">
        Options FollowSymLinks ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
 
改造后的extmail.conf是这样的:
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName mail.xxx.com.cn
            DocumentRoot /usr/local/www/extmail/html/
 
            ScriptAlias /extmail/cgi /usr/local/www/extmail/cgi/
            Alias /extmail /usr/local/www/extmail/html/
            ScriptAlias /extman/cgi "/usr/local/www/extman/cgi/"
            Alias /extman "/usr/local/www/extman/html/"
 
            <Location "/extman/cgi">
                SetHandler cgi-script
                Options +ExecCGI
            </Location>
            <Directory "/usr/local/www">
                    AddDefaultCharset UTF-8
                AllowOverride None
                Options None
                Order allow,deny
                Allow from all
            </Directory>
 
#    SuexecUserGroup vmail vmail
 
</VirtualHost>
 
<VirtualHost *:80>
                ServerName lists.xxx.com.cn
            DocumentRoot /usr/local/mailman/cgi-bin/
            ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
            Alias /pipermail/ "/usr/local/mailman/archives/public/"
            <Directory "/usr/local/mailman/archives/public/">
        AddDefaultCharset Off
            </Directory>
            <Directory "/usr/local/mailman">
        Options FollowSymLinks ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
            </Directory>
</VirtualHost>
重启APACHE
/usr/local/sbin/apachectl restart
 
<>6.zx@XXX.com.cn
Initial zxtestlist password: XXXXX
Hit enter to notify zxlist owner...
 
然后任何人可以网nou_all@mail.XXX.com.cn上发邮件,通过设置好的管理员对邮件进行审核,审核选项有丢弃、拒绝、批准等等,通过批准后邮件就可以发给全部的列表成员了。
 
  把用户添加到邮件列表里测试,建一个文本文件,比如maillists.txt,一行一个邮件地址,然后执行如下命令:
  mail# /usr/local/mailman/bin/add_members -n maillists.txt zxtestlist
  不过这可以通过网页来增加用户(http://lists.xxx.com.cn/mailman/admin),
邮件列表的配置
Default.py和mm_cfg.py的配置是针对全局的,对全局配置文件的修改不会影响到已经存在的邮件列表。mailman提供了config_list这个命令来对单个邮件列表进行配置,先导出该邮件列表的配置:
mail# /usr/local/mailman/bin/config_list -o /tmp/config mailman
然后修改/tmp/config文件,里面有很多选项,可以根据自己的要求修改,比如加上回复到邮件列表的邮件头、去掉mailman自动加的边脚等等,最后把这个配置文件导回给邮件列表就可以了:
mail# /usr/local/mailman/bin/config_list -i /tmp/config mailman
 
  通过web访问:
           http://lists.XXX.com.cn/mailman/admin/mailman
                 http://lists.XXX.com.cn/mailman/listinfo/mailman
                 http://lists.XXX.com.cn/mailman/create
 
 
-------------------------------------------------------------------------
经过一段时间的实际使用,发现mailman真的很好,特殊适合用来给企业内部群发邮件,我把不同年级的学生分成不同的邮件列表,然后发给需要群发邮件的相关部门,他们群发邮件后,都需要我审核后才会发到学生邮箱中,很可靠。
(责任编辑:IT)