Mailman

来自站长百科
跳转至: 导航、​ 搜索

Mailman:GNU的邮件列表管理器 Mailam负责管理电子信箱讨论和自由软件电子通讯清单。 Mailman是整合了网络,使为方便用户管理他们的帐户和业主名单管理自己的名单。Mailman支持内置的归档,自动退回处理,内容过滤,消化交货,垃圾邮件过滤器等。


使用 mailman 架设邮件列表[ ]

  • 安装邮件列表程序

apt-get install mailman

  • 修改配置 /etc/mailman/mm_cfg.py 此服务器采用exim4作为邮件服务
    1. DEFAULT_EMAIL_HOST = 'lists.mydomain.com'
    2. DEFAULT_URL_HOST = 'www.mydomain.com'
    3. MTA = None
  • 添加默认的邮件列表

newlist mailman

  • 设置邮件列表管理员帐号

mmsitepass

  • 设置网页访问在apache的配置文件中增加:

代码如下:

ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
       Alias /pipermail/ /var/lib/mailman/archives/public/
       RedirectMatch ^/*$ http://www.mydomain.com/mailman/listinfo
       <Directory "/var/lib/mailman/archives/public/">
           AddDefaultCharset Off
       </Directory>
       <Directory "/usr/lib/cgi-bin/mailman/">
              AllowOverride None
              Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
              Order allow,deny
              Allow from all
       </Directory>

使用 http://www.mydomain.com/ 来访问

  • 修改exim4配置
    1. 增加:

MM_HOME=/var/lib/mailman MM_UID=list MM_GID=list domainlist mm_domains=lists.mydomain.com MM_WRAP=MM_HOME/mail/mailman MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck

    1. 增加router:

代码如下:

mailman_router:
   driver = accept
   domains = +mm_domains
   require_files = MM_LISTCHK
   local_part_suffix_optional
   local_part_suffix = -admin     : \
-bounces   : -bounces+* : \
                       -confirm   : -confirm+* : \
-join      : -leave     : \
-owner    : -request   : \
-subscribe : -unsubscribe
   transport = mailman_transport
    1. 增加transport:

代码如下:

mailman_transport:
   driver = pipe
   command = MM_WRAP \
             '${if def:local_part_suffix \
                   {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                   {post}}' \
             $local_part
   current_directory = MM_HOME
   home_directory = MM_HOME
   user = MM_UID
   group = MM_GID

执行 /etc/init.d/exim4 reload

校验: 代码如下:

# exim4 -bt test@lists.mydomain.com
 test@lists.mydomain.com
   router = mailman_router, transport = mailman_transport


  • 修改管理转发帐号

修改 /etc/aliases 增加: mailman: root mailman-owner: mailman

执行newaliases增加完毕。

  • 启动mailman

/etc/init.d/mailman start

  • 启动计划任务

cd /usr/lib/mailman/cron crontab crontab.in