|
前言
别名,在 sendmail 是一个非常好用的功能,可以利用「别名」来群组寄信,既方便又快速;但若要限制群组内的使用者只能寄信给群组内的使用者,就可能利用其他软体来辅助,现在就是要利用
majordomo 这一套软体来实现。
安装
我们利用 majordomo 来管理所建立出来的 mail list。用 port 来安装:
# cd /usr/ports/mail/majordomo
# make install cleam
安装过程中,会出现

看是需要哪一种 MDA,预设系统 MDA 通常是 Sendmail。按 OK 后,就会出现后续说明,可以先看一下。
设定
修改 /usr/local/majordomo/majordomo.cf
# $whereami -- What machine am I running on?
#
$whereami = "matrix.ks.edu.tw";
确定一下 $whereami 是否是所需的 hostname。接下来是确定 aliases.majordomo 这个别名档,在
/usr/local/majordomo/aliases.majordomo 里有一些范例可供叁考,可以以此为叁考档案来设定,所以我们先把
aliases.majordomo 备份起来:
# cp aliases.majordomo aliases.majordomo.bak
修改 /etc/mail/sendmail.cf
# vi /etc/mail/sendmail.cf
# location of alias file
O AliasFile=/etc/mail/aliases
再增加一个路径,成为
O AliasFile=/etc/mail/aliases,/usr/local/majordomo/aliases.majordomo
接下来就是重新启动 sendmail 就可以大致完成设定
# killall -9 sendmail
# sendmail -bd -q30m
建立 New List
- 建立新的 <list-name> 档案,也就是要放 E-Mail 群组的档案,其权限为 664
# cat /dev/null > /usr/local/majordomo/lists/ksmail
# chmod 664 /usr/local/majordomo/lists/ksmail
- 编辑 aliases.majordomo
# cd /usr/local/majordomo
# vi aliases.majordomo
除了以下的资料,其馀的先行删除,因为有备份,故不用担心
majordomo: "|/usr/local/majordomo/wrapper
majordomo"
majordomo-owner: Postmaster
owner-majordomo: majordomo-owner
majordom: majordomo-owner
majordomo 提供很多种的 aliases 的范例,可以在 /usr/local/majordomo/doc/NEWLIST
找到相关的讯息。现在只是利用其中的一种,来达到原先的目的。准备好后,就可以开始编辑 aliases.majordomo。
ksmail: "|/usr/local/majordomo/wrapper
resend -l ksmail ksmail-list"
ksmail-list: :include:/usr/local/majordomo/lists/ksmail
owner-ksmail: postmaster // 此 list 的管理者
ksmail-owner: postmaster
ksmail-request: postmaster
ksmail-approval: postmaster
以上是一般的类型。
- 建立 <list-name>.conf
此步骤有点类似启动此 list,故此步骤重要。若是第一次使用的话,可以直接寄信给 majordomo 就能够产生 <list-name>.conf,以后就可以直接用复制就行了,但须注意
<list-name>.conf 里的 list 名称有所不同;我利用寄信软体(如:OE)来寄信给 majordomo
收信人:majordomo@matrix.ks.edu.tw
主旨:subscribe
信件内容:config <listname> <listname>.admin
这样就可以收到回信,并且使 majordomo 产生 <list-name> 的 <list-name>.conf。
- 设定 <list-name>.conf
以下有几个比较重要的选项
admin_passwd -----> 是 list_owner
管理 <list name> 所需的密码,最好要设定
approve_passwd -----> 是 list_owner
对 <list name> 做 approval 所需的密码
restrict_post -----> 限制可寄信至此
list 的 email addr 一般设为 <list name>
subscribe_policy -----> 若设定为 closed
则一般人若要 subscribe 此 list 需要 list_owner 做approval的动作
maxlength -----> 信件大小,视情况调整
- newaliases
完成后,不要忘记此步骤
# newaliases
可能会出现 Permission denied 的错误讯息,那是因为 newaliases 会把 aliase 转换成 db 故需要在
/usr/local/majordomo/ 底下建立
# cat /dev/null > aliases.majordomo.db
# chown root:majordom aliases.majordomo.db
这样就可以大致完成了。:)
|