w3ml

Overview

メーリングリストのログを Web で見るためのツールです。HTML 4.0 にで きるだけ準拠しているつもりです。スタイルシートを使用しているので、 IE や Mozilla で美しく見ることができます。各メッセージにスレッドツ リーも表示されます。

実際の使用例を見たい場合は、MySQL ML ログSylpheed ML ログ を見 てください。

0.4 バージョンに HTMLのサニタイズ漏れがありました。 Subject に HTML タグが入っているとスレッドツリー表示時にそのまま出力してしまいます。 外部の人間により任意の JavaScript コードをサーバに埋め込まれる危険性があります。 0.4-20050413 で修正されました。それ以前のバージョンは tree.rb の 20行目付近の

    if subj == nsubj then '' else m.subject end

    if subj == nsubj then '' else escapeHTML(m.subject) end

に変更してください。

ML

ML 開設しました。参加希望の方は、メール本文に「subscribe 姓 名」と 書いたメールを w3ml-ctl@tmtm.org に送ってくだ さい。

過去ログは w3ml で見れま す

Download

Require

次のものが必要です。

Install

ruby ./configure」を実行していくつかの質問に答え ます。

ruby ./install.rb」を実行してインストールします。

ML設定

メーリングリストの設定はsetupコマンドで行ないます。

% setup ML名

メール登録

entryコマンドでメールを登録します。 --mlnameオプションでメーリングリストを指定します。 引数を指定しない場合は標準入力からメールを読み込みます。引数を指 定した場合は、引数ファイルからメールを読み込みます(1メール1ファ イル)。

初期設定時には、次のようにして一括で登録するのが良いでしょう。

% entry --mlname=ML名 <メールファイル格納ディレクトリ>/*

メールが配送される度に自動的に登録したい場合は、登録専用のメール アドレスを作成し、aliases や .forward などで、次のように設定して おけば良いでしょう。

"|/path/to/entry --mlname=ML名"

メールは Subject に「[ML名 記号 数値]」が入っていることが期待さ れます。これに適合しないメールは「no match」と表示され、登録され ません。この適合条件を変更したい場合は、w3ml.conf の $Require を 適当に変更してください。「$Require = nil」とすると、適合性チェッ クは行なわれません。

また、メールには通し番号が必要です。通し番号は以下の順で検査され、 最初に見つかったものが使用されます。

どれも見つからなかった場合は、登録済メッセージの最大番号+1 が使 用されます。

entry は次のオプションを認識します。

    -f filename             : config file の指定
    --config-file=filename  :   〃
    --mlname=xxx            : ML名
    --id=n                  : ID を強制的に n として登録する
    --delete=n              : ID n のデータを削除する
    --allow-duplicate-msgid : メッセージIDの重複を許す

閲覧

登録したメールはブラウザから見ることができます。次の URL が指定 できます。

	w3ml			メーリングリスト一覧
	w3ml/ML名		メーリングリストのトップ
	w3ml/ML名/list/m-n	m〜n のメッセージ一覧(番号順表示)
	w3ml/ML名/thread/m-n	m〜n のメッセージ一覧(スレッド表示)
	w3ml/ML名/msg/n		メッセージ n の内容
	w3ml/ML名/raw/n		メッセージ n の生メールデータ
	w3ml/ML名/msg/n/x/file	メッセージ n の x 番目の添付ファイル
	w3ml/ML名/search	検索画面

設定

w3ml.conf ファイルを編集することで w3ml の振る舞いを変更すること が可能です。w3ml.conf は Ruby スクリプトとして実行されます。

	$Step		メッセージ一覧時の表示件数
	$StoreRaw	生メールデータを保存するか否か
	$Require	登録メールに必要なパターン(正規表現)
	$CSS_URL	スタイルシートの URL
	$Charset	HTML の文字セット
	$WithAttachHTML	添付ファイル付きメッセージを示すマーク
			1番目が添付ファイルあり、2番目が添付ファイル無し

メーリングリスト毎に設定を変更したい場合は、w3ml.conf を ML名. conf にコピーして編集してください。

履歴

  0.4-20050413
    ・tree.rb: Subject の HTML サニタイズ漏れ

  0.4-20020706 (未リリース)
    ・entry: --ignore-nomatch オプション追加

  0.4-20020625
    ・URL 表記を変更
    ・一から作り直し。中身はまったく別物。

  0.3-20020324
    ・一覧時、添付ファイル付のメッセージに「@」をつけた。
    ・本文中の [ML名-nnnn] をリンクにした。

  0.3-20020128
    ・Date フィールドに TimeZone がないときに GMT として扱うようにした。

  0.3-20010712
    ・Content-Type が Text 以外の添付ファイルの内容を壊していたバグを修正。
    ・日本語を含むファイル名の添付ファイルへのリンクを UTF8 にした
      (要uconvモジュール)。

  0.3-20010709
    ・へッダ中のTABコードを正しく解釈していなかったバグを修正(Thanks 石丸
      さん)

  0.3-20010311
    ・ポート番号付の URL に対応 (Thanks 徳永さん)
    ・</a> タグが抜けていたのに対応 (Thanks 桐原さん)
    ・Ruby 1.6.3 に対応 (Thanks 篠原さん)

  0.3-20010120
    ・Content-Type へッダがない場合にデフォルトで iso-2022-jp とみなすよ
      うにした (Thanks 徳永さん)
    ・いくつかのオプションが有効にならないバグを修正 (Thanks 徳永さん)

  0.3-20010106
    ・From: のメールアドレスをアンカーにした。
    ・添付ファイルを取り出すときに最後にゴミが入るバグを修正。

  0.3-20001230
    ・複数のメーリングリストを扱えるようにした。
    ・インストール方法など大幅に変更。
    ・ディレクトリ構成など、0.2 とは互換性無し。

  0.2-20001220
    ・X-Sequence へッダに対応 (Thanks KAMO Tomoyuki)
    ・「Powerd by w3ml」表示を追加 (Thanks KAMO Tomoyuki)

  0.2-20000819
    ・entry のオプション(--id, --delete, --allow_duplicate_msgid)追加

  0.2-20000816
    ・生データを保存するようにした。

  0.2-20000814
    ・TMail を使わないようにした。
    ・MySQL を使わない場合は GDBM を使用するようにした。そのため前のバー
      ジョンと互換性無し。

  0.1-xxxxxxxx
    ・忘れた :p

tommy@tmtm.org

Last modified: Thu Apr 21 13:59:48 JST 2005