funini.com 自由研究 FML

fml

日本のメーリングリストのソフトとして定番なのはfmlです。 設定はほとんどメールで行えますが、初期設定はコマンドラインでします。
☆fml自体のインストールは略します。apt-getやrpmで入れて下さい。

設定の前に

操作はfmladminやfmlというユーザで行います。
$ sudo su - fml
とかでfmlになりましょう。
メーリングリストのデータは、/var/spool/ml/以下にあります。ownerはrootでfmladminは 書き込めないので、操作前に
chmod g+w /var/spool/ml
しましょう。 操作が終わったら
chmod g-w /var/spool/ml
を忘れずに。 僕は下のようなスクリプト書いてます。
#!/bin/sh
sudo su - fmladmin
chmod g+w /var/spool/ml
tcsh # ここで対話モードに。exitするまでスクリプトは中断されます
chmod g-w /var/spool/ml
exit

ML作成

MLの作成は以下の通り。例えば、moonlight@hoge.comを作るとする。
$ makefml newml moonlight
$ su -
# cat /var/spool/ml/moonlight/aliases >> /etc/aliases
# newaliases
# exit
newaliasesコマンドは、有効なメールアドレスを登録するコマンドです。 これを忘れるとアドレスが有効になりません。

ユーザー管理

コマンドラインからのMLへのユーザーの追加、削除とかは以下の通り。 同じくMLの名前はmoonlighとします。
$ makefml adduser moonlight kei@hoge.com ユーザー追加
$ makefml bye moonlight kei@hoge.com ユーザー削除
$ makefml off moonlight kei@hoge.com 配信停止
$ makefml on moonlight kei@hoge.com 配信再開
$ makefml chaddr moonlight kei@hoge.com kei@fuga.com kei@hoge.comをkei@fuga.comに変更
このへんの機能はmoonlight-ctl@hoge.com宛てのコマンドメールでも設定できます。 最近のものは、本文にコマンドを書いて、変更したいアドレスから出します。 管理はなるべくメンバー各自でお願いして、楽しましょう。

もっと細かい設定

通常の設定項目であれば、
$ makefml config [MLname}
で対話式の設定スクリプトが立ち上がります。 もっと細かい設定をしたいときは、設定ファイルを直接編集します。
fmlの設定ファイルは、/var/spool/ml/[MLname]/config.phです。 しかし、config.phはperlの生のプログラムなので、ダブルクォート忘れとかの記述ミスがあるとすぐに動かなって危険です。 そこで、普通は/var/spool/ml/[MLname]/cfを書き換えて、
makefml config [MLname]でconfig.ph
に反映させます。
例えば、件名に入るMLのタイトル(Subject : [kei-ml 0012] メールの題名)をmlのアドレスと別にしたいときは、cfの中のBRACKETという行を編集しましょう。