oml

oml(仮称)は単純なメーリングリスト作成プログラムです。昔はCやC++で書いたものを使っていましたが,現在はRubyで書いています。

Rubyで書かれたメーリングリストシステムにはほかに次のものがあります(もっとあったら教えてください):

ソース

インストールのしかた

oml.rb をダウンロードして,次のように変更してください。

これを実行できるようにして,適当なところ(以下では /usr/local/sbin)に置いてください。

COUNTDIR のパーミッションを,メールサーバプロセスが書き込めるように変更してください。

メーリングリストの作り方

例えば foo@example.jp というメーリングリストを作りたいとします。

適当な場所に宛先一覧のリストを置きます。以下ではこのリストのフルパスを /home/okumura/ml/foo.txt とします。この中に宛先を改行で区切って並べます。最後の宛先の直後にも改行を入れます(つまり10人のリストなら改行も10回打ちます)。次のようにコメントを括弧で囲んで付けることもできます。

okumura@example.jp (Haruhiko Okumura)
hogeta@example.ac.jp (Hogeo Hogeta)

管理者権限で,システムの aliases ファイルに次のような3行を書き込みます。

foo: "|/usr/local/sbin/oml.rb foo"
dist-foo: :include:/home/okumura/ml/foo.txt
foo-admin: okumura@example.jp

これを保存したあとで,管理者権限でターミナルに

newaliases

と打ち込んでください。

これだけではだれでも投稿できます。リストのメンバーに投稿を制限するには,次のようにします。

foo: "|/usr/local/sbin/oml.rb foo /home/okumura/ml/foo.txt"
dist-foo: :include:/home/okumura/ml/foo.txt
foo-admin: okumura@example.jp

もしこれで dist-foo@example.jp 宛にスパムが届くようなら,dist-foo を推測困難な名前に変更します。

foo: "|/usr/local/sbin/oml.rb foo /home/okumura/ml/foo.txt hogehoge-foo"
hogehoge-foo: :include:/home/okumura/ml/foo.txt
foo-admin: okumura@example.jp

もしメンバーの a@example.com さんが b@example.org からもメールを出したいなら,メンバーリストを次のようにします。

a@example.com
# b@example.org

もしメンバーでなくても example.jp ドメインの人ならだれでも投稿できるようにするには,メンバーリストに次の行を加えます。

# @example.jp

もしメンバーでなくても example.jp のサブドメインの人ならだれでも投稿できるが badhost.example.jp からは禁止するには,メンバーリストに次の行を加えます(順番に注意)。

# example.jp
#- badhost.example.jp

oml.rb ソースを直接書き換えて,正規表現でルールを追加することもできます(デフォルトでは,ある薬物の名前が From: に現れれば配送しないようになっています :-))。

オプション

-c
番号を付けません
-r
Reply-To: ヘッダを書き換えません(デフォルトでは書き換えます)
-f
From: ヘッダを書き換えます(古い携帯メーラ用)
-e
発信者チェックに From: ヘッダではなく envelope from(もしあれば)を使います

古い情報


奥村晴彦

Last modified: 2009-02-24 17:17:52