簡単なメーリングリストの作り方


今は oml というものを作って使っています。そちらのほうをご覧ください。

以下は非常に古い内容です(Last modified: Sat Sep 13 12:35:25 1997)。


メーリングリストを作るには, fml などのすばらしいソフトがありますが, ここではもっと簡単な方法を解説します。 なお,メーリングリスト作成にはシステム管理人(スーパーユーザ) の権限が必要です。

一番簡単な方法は,スーパーユーザになって,aliasesファイル (SunOS 4.x なら /etc に,Solaris 2.x なら /etc/mail/ にある) に次のように書いておくだけです。

  foo: taro, jiro, hanako
これで,foo という宛先に送れば taro さんと jiro さんと hanako さんに届きます。 aliasesを書き直したなら,必ずスーパーユーザが「newaliases」と打ち込んで, データベースを更新する必要があります。

上の方法では, いちいちスーパーユーザにならないと参加者の加除ができません。 そのため,次のような方法が用意されています。 たとえばメーリングリストの管理者 dareka さんのホームディレクトリが /home/dokodoko/dareka だったとすると, スーパーユーザになって aliases に

  foo: :include:/home/dokodoko/dareka/foomembers.txt
のように書いておき,newaliases を実行しておきます。 また,dareka さんは自分のホームディレクトリに foomembers.txt というファイルを作り,そこに,1人1行で参加者を書き込んでおきます。 たとえば
  taro@dokodoko-u.ac.jp
  jiro@hogehoge-u.ac.jp
  hanako@provider.or.jp
  dareka
という具合です。 最後にかっこに囲んでコメントを書いておくこともできます。 たとえば
  taro@dokodoko-u.ac.jp (Taro Yamada)
  jiro@hogehoge-u.ac.jp (Jiro Hayashi)
  hanako@provider.or.jp (Hanako Suzuki)
  dareka (Dareka Dokodon)
という具合です。

simple-ml

以下では拙作の simple-ml という簡単な(いいかげんな) ソフトを使ってメーリングリストを管理する方法を説明します。 このプログラムを使えば, メーリングリストを通じて送られたメールの Subject: 部分にたとえば [foo:0001] のようなメーリングリスト名とカウントが入ります。 また,メールを自動保存し, HTML 形式で日付,タイトル,差出人の一覧が自動的に作られます。

まず, simple-ml.c を get して, エディタで最初の

  #define DOMAINNAME  "matsusaka-u.ac.jp"
  #define COUNTDIR    "/etc/mail/count/"
  #define ARCHIVEDIR  "/usr/local/etc/httpd/htdocs/"
となっているところを適当に直します。 DOMAINNAME はメーリングリスト管理人のメールアドレスのドメイン名の部分 (@ 以下の部分), COUNTDIR はメールをカウントするファイルの入れ場所のディレクトリ名, ARCHIVEDIR はメール本文のコピーを保存する場所のディレクトリ名です。 ディレクトリ名は必ず / で始まり / で終わるようにしておきます。 次にこれをコンパイルします:
    gcc simple-ml.c -o foo
この最後の foo はメーリングリスト名です。 スーパーユーザになって,できた foo という実行ファイルを 適当なディレクトリ(Solaris 2 ならたとえば /etc/mail)に移動します:
    mv foo /etc/mail

忘れないうちに,上で定義した二つのディレクトリ /etc/mail/count,/usr/local/etc/httpd/htdocs/foo を作っておいてください。 これらは sendmail を自動実行するユーザ名(Solaris なら daemon) に書き込み許可を与えておいてください。

次に,やはりスーパーユーザで,aliases ファイルに次のような3行を追加します。 やはり foo となっているところをメーリングリストの名前に変えてください。 また,dareka の部分はメーリングリスト管理人の名前にします。 /home/dokodoko/dareka/ の部分はメーリングリスト管理人のホームディレクトリ名です。

  foo: "|/etc/mail/foo | /usr/lib/sendmail -oi dist-foo"
  dist-foo: :include:/home/dokodoko/dareka/foomembers.txt
  foo-admin: dareka
この /home/dokodoko/dareka/foomembers.txt というファイルに, さきほどの例のようにメンバーのメールアドレスを1人1行で並べておきます。 たとえば
  okumura@matsusaka-u.ac.jp (Haruhiko Okumura)
  hogehoge@dokodoko-u.ac.jp (Hogeo Hogeta)
のような具合です(かっこ内はコメントとして扱われます)。

最後に,やはりスーパーユーザで

    newaliases
と打ち込めば完了です。

リンクはご自由にどうぞ。

奥村晴彦

Last modified: 2008-07-12 11:10:55