Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426312
  • 博文数量: 65
  • 博客积分: 2461
  • 博客等级: 大尉
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-19 12:26
文章分类

全部博文(65)

文章存档

2007年(40)

2006年(25)

我的朋友

分类:

2006-10-31 15:58:13

Freebsd安装mailman邮件列表管理工具-Postfix

var1.2

版本修订
1.1    2006-11-02
    1.修改mm_cfg.py配置内容及说明,前一版本有严重配置错误.
    2.增加MailMan启动命令.
1.2    2006-11-03
    1.增加mailman start启动说明内容.

系统环境
Freebsd6.1
postfix-2.2.11,1
mailman-2.1.9

# 安装MailMan
cd /usr/ports/mail/mailman && make MAIL_GID=mailman CGI_GID=vmail install clean

# 配置启动项
ee /etc/rc.conf
# 加入如下内容
echo mailman_enable="YES"

# 创建文件
touch /usr/local/mailman/data/aliases
touch /usr/local/mailman/data/virtual-mailman

# 编辑main.cf
ee /usr/local/etc/postfix/main.cf
# 添加如下内容
owner_request_special = no
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf,hash:/usr/local/mailman/data/virtual-mailman

# 设置别名库文件权限
chown -R mailman:mailman /usr/local/mailman/data/aliases*
chown -R mailman:mailman /usr/local/mailman/data/virtual-mailman*
chmod 664 /usr/local/mailman/data/aliases*
chmod 664 /usr/local/mailman/data/virtual-mailman*
postalias /usr/local/mailman/data/aliases
postmap /usr/local/mailman/data/virtual-mailman
postfix reload

# 编辑/usr/local/mailman/Mailman/mm_cfg.py
ee /usr/local/mailman/Mailman/mm_cfg.py
# 在底部增加如下内容
MTA = 'Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['domain1.com','domain2.com']
add_virtualhost('domain1.com','domain2.com')
DEFAULT_SERVER_LANGUAGE = 'zh_CN'
第一行,表示Mailman使用的MTA系统是Postfix.
第二行,表示Mailman下现存2个邮件域domain1,domain2.
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['domain1.cn','domain2.cn']
(参数后面跟的2个域分别代表邮件虚拟名1,和虚拟域名2,如果此处不设置创建虚拟域邮件列表时会出现错误。)
第三行,表示添加的虚拟主机域名,需要和第二行中创建的虚拟域名相同.
第四行,表示Mailman使用默认语言为中文.

# 保存退出后执行如下命令,重新创建别名库文件
/usr/local/mailman/bin/genaliases
特别注意:如果添加虚拟域成功,在执行genaliases命令后将重新刷新别名库文件.
当文件内容如下时,表明虚拟域创建成功
# LOOP ADDRESSES START
  mailman-loop@domain2.com    mailman-loop
  mailman-loop@domain1.com    mailman-loop
# LOOP ADDRESSES END
默认情况如下,该文件仅有一个默认域
# LOOP ADDRESSES START
  mailman-loop@domain1.com    mailman-loop
# LOOP ADDRESSES END

# 修改管理员密码
/usr/local/mailman/bin/mmsitepass

# 创建一个邮件列表mailman
/usr/local/mailman/bin/newlist mailman
# 注意:此操作必须进行,否则服务无法正常启动.

# 检查MailMan状态,加-f可以修复错误
/usr/local/mailman/bin/check_perms
/usr/local/mailman/bin/check_perms -f
# 如出现No problems found,表示没有错误.

# 启动MailMan
/usr/local/etc/rc.d/mailman start
# 启动时如出现错误提示:'Site list is missing: mailman'
# 由于必须建立默认的名为mailman的邮件列表后,mailman的服务才能够正常启动.

# 配置apache支持mailman
# config for mailman
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"

AllowOverride None
Options none
Order allow,deny
Allow from all

Alias /pipermail "/usr/local/mailman/archives/public"

AllowOverride None
Options +FollowSymlinks
Order allow,deny
Allow from all


特别提示:由于在安装过程中一处很微小地方的错误,导致本人郁闷了2个星期。
由于本人用的DNS是MX记录,所以出现错误。如果DNS使用A记录的话不会有问题.
如果使用MX记录,可以将服务器上的/etc/hosts域名指向IP地址即可。
xxx.xxx.xxx.xxx    domain1.com. domain2.com.

每台服务器环境可能不同,大家要不断摸索尝试安装不可轻信网络上一些安装文档。
估计作者在转贴的时候自己本根就没有试过文档内容是否可行。
阅读(3467) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~