FreeBSD 研习课程讲义
Prev majordomo Next

前言

别名,在 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

  1. 建立新的 <list-name> 档案,也就是要放 E-Mail 群组的档案,其权限为 664

    # cat /dev/null > /usr/local/majordomo/lists/ksmail
    # chmod 664 /usr/local/majordomo/lists/ksmail

  2. 编辑 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

    以上是一般的类型。

  3. 建立 <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。

  4. 设定 <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 -----> 信件大小,视情况调整

  5. newaliases

    完成后,不要忘记此步骤

    # newaliases

    可能会出现 Permission denied 的错误讯息,那是因为 newaliases 会把 aliase 转换成 db 故需要在 /usr/local/majordomo/ 底下建立

    # cat /dev/null > aliases.majordomo.db
    # chown root:majordom aliases.majordomo.db

    这样就可以大致完成了。:)


Prev Home Next
UP