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
|
# 配置启动项
# 加入如下内容
| 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" <Directory "/usr/local/mailman/cgi-bin"> AllowOverride None Options none Order allow,deny Allow from all </Directory> Alias /pipermail "/usr/local/mailman/archives/public" <Directory "/usr/local/mailman/archives/"> AllowOverride None Options +FollowSymlinks Order allow,deny Allow from all
</Directory>
|
特别提示:由于在安装过程中一处很微小地方的错误,导致本人郁闷了2个星期。
由于本人用的DNS是MX记录,所以出现错误。如果DNS使用A记录的话不会有问题.
如果使用MX记录,可以将服务器上的/etc/hosts域名指向IP地址即可。
xxx.xxx.xxx.xxx domain1.com. domain2.com.
每台服务器环境可能不同,大家要不断摸索尝试安装不可轻信网络上一些安装文档。
估计作者在转贴的时候自己本根就没有试过文档内容是否可行。