使用 mailman 架设邮件列表

  1 安装邮件列表程序

  apt-get install mailman

  2 修改配置 /etc/mailman/mm_cfg.py 此服务器采用exim4作为邮件服务

  DEFAULT_EMAIL_HOST = 'lists.mydomain.com'

  DEFAULT_URL_HOST = 'www.mydomain.com'

  MTA = None

  3 添加默认的邮件列表

  newlist mailman

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

  mmsitepass

  5 设置网页访问在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/ 来访问

  6 修改exim4配置

  增加:

  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

  增加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

  增加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

  7 修改管理转发帐号

  修改 /etc/aliases 增加:

  mailman: root

  mailman-owner: mailman

  执行newaliases增加完毕。

  8 启动mailman

  /etc/init.d/mailman start

  9 启动计划任务

  cd /usr/lib/mailman/cron

  crontab crontab.in

  好了完成!

时间: 2024-08-30 20:21:16

使用 mailman 架设邮件列表的相关文章

管理小型的邮件列表

邮件列表 首先是订阅/退订脚本,它所做的工作就是从数据库表中增加或删除记录.把它叫做"manage.phtml" 或 差不多的什么东西.这样呢,就需要后台是某种数据库,在上面可以创建订阅表.根据政治中的半数原则, 所以我将使用MySQL作为这个例子的数据库.你可以使用任何你常用的数据库,只是根据PHP手册替换正确的 数据库相关函数. 在我的订阅表中,我使用了两个字段:邮件地址(email_addr)和添加日期(date_added).你可以根据需 要增加字段,或者将date_added

ASP环境下邮件列表功能的实现

邮件列表 为最终用户提供的功能主要由一个HTML文件和两个ASP文件提供,它们负责接受用户的订阅申请以及退出邮件列表申请. 用户的个人信息在图1所示的登记表单中输入,其实现文件是homepage.htm.当用户提交表单,系统对用户输入数据进行必要的验证,然后把它们保存到数据库并提示注册成功信息.这部分功能可以在signbook.asp文件找到,下面的代码用于将用户输入数据保存到数据库: ' 如果用户输入数据验证通过则将它保存到数据库 if blnValid = True then ' 在数据库中

MySQL中文参考手册3(MySQL邮件列表及如何提问或报告错误)

mysql|参考|参考手册|错误|邮件列表|中文 MySQL中文参考手册3(MySQL邮件列表及如何提问或报告错误)转载 译者:晏子 [返回][转发] 译者:晏子 (clyan@sohu.com)主页:http://linuxdb.yeah.net 2 MySQL邮件列表及如何提问或报告错误2.1  MySQL 邮件列表要订阅主 MySQL 邮件列表,送一条消息到电子邮件地址 mysql-subscribe@lists.mysql.com . 要退订主 MySQL 邮件列表,送一条消息到电子邮件

ASP环境下邮件列表功能的实现 (一)

邮件列表(Mailing List)是当前最受欢迎的网络服务之一.本文通过一个示例系统的建设,介绍在ASP环境下邮件列表功能的实现方法. ChinaByte网络学院的<Java Mail API及其应用>一文介绍了在Java中简单邮件列表服务功能的实现方法,本文介绍的是类似功能在ASP应用中的实现.我们将通过一个示例系统具体说明其实现过程. 一.系统概貌 整个应用系统可以分为两个部分,即面向最终用户的功能和面向管理任务的功能.面向最终用户的功能主要包括:提供输入界面让用户输入个人信息(用户名字

ASP环境下邮件列表功能的实现 (二)

为最终用户提供的功能主要由一个HTML文件和两个ASP文件提供,它们负责接受用户的订阅申请以及退出邮件列表申请. 用户的个人信息在图1所示的登记表单中输入,其实现文件是homepage.htm.当用户提交表单,系统对用户输入数据进行必要的验证,然后把它们保存到数据库并提示注册成功信息.这部分功能可以在signbook.asp文件找到,下面的代码用于将用户输入数据保存到数据库: ' 如果用户输入数据验证通过则将它保存到数据库 if blnValid = True then ' 在数据库中插入新记录

ASP环境下邮件列表功能的实现 (三)

在访问管理页面之前必须经过身份验证.本实现中我们用图3所示的secure.htm页面供管理员输入身份识别码,若用户输入值非空则用Cookies来保存它.执行管理任务的页面是admin.asp,每当用户试图访问这个页面,下面的代码将检查这个Cookies与用户身份识别码(这里是123456)是否匹配,如匹配失败则将该用户重定向到输入身份识别码的secure.htm页面. < % strPW1 = Request.Form("txtPW") if strPW1 < > &

ASP环境下邮件列表功能的实现 (四)

最后要实现的功能是邮件的编辑和发送.这部分功能由Email_List.asp文件提供,其界面如图6所示.接下来我们就来分析这个文件. Email_List.asp的内部工作过程和edit_record.asp很类似.管理员在表单中写作邮件并提交它,系统将选择所有Mail_List字段值为"是"的记录,然后将新邮件的拷贝发送给这些记录中的Guest_Mail地址. 每一次发送邮件我们都重新创建mailer对象,发送完成后关闭它.这一点非常重要,这是由于我们需要修改邮件的正文,加入取消订阅

ASP环境下邮件列表功能的实现 (四)(推荐)

邮件列表 最后要实现的功能是邮件的编辑和发送.这部分功能由Email_List.asp文件提供,其界面如图6所示.接下来我们就来分析这个文件. [图6 ASPMailingList_6.gif] Email_List.asp的内部工作过程和edit_record.asp很类似.管理员在表单中写作邮件并提交它,系统将选择所有Mail_List字段值为"是"的记录,然后将新邮件的拷贝发送给这些记录中的Guest_Mail地址. 每一次发送邮件我们都重新创建mailer对象,发送完成后关闭它

ASP环境下邮件列表功能的实现 (三)(推荐)

邮件列表 在访问管理页面之前必须经过身份验证.本实现中我们用图3所示的secure.htm页面供管理员输入身份识别码,若用户输入值非空则用Cookies来保存它.执行管理任务的页面是admin.asp,每当用户试图访问这个页面,下面的代码将检查这个Cookies与用户身份识别码(这里是123456)是否匹配,如匹配失败则将该用户重定向到输入身份识别码的secure.htm页面. [图3 ASPMailingList_3.gif] < %    strPW1 = Request.Form("