{{{ #!trachtml

メールをTracに蓄積 - MailArchiveプラグイン

1. 概要

MLなどのメールを保管し、Tracにて表示・検索するためのプラグインです。
プロジェクトですでに使用しているMLがあり、その内容をTracで一元管理したい場合にお使いください。
([http://trac-hacks.org/wiki/EmailtoTracScript EmailtoTracScript] の様に、メールをチケットに投入する機能はありません。)

Tracの強力なリンク機能を利用できます。たとえば、Wikiで特定のメールを示すリンクを作成したり、メールの本文に書かれたチケットの番号をリンクにしてしまうことが可能です。また、検索やタイムラインといったTracの基本機能にも対応しています。
[[VisitCounter(TracDoc/MailArchivePlugin)]]

2. 主な機能

3. セットアップ

3.1 ダウンロード

以下からダウンロードしてください。
・[[Download2(MailArchivePlugin Version 0.1-r52,MailArchivePlugin0.1,mailarchiveplugin,52)]]

3.2 インストール

MailArchivePluginのインストールを行います。[[FootNote(Tracのプラグインに共通する説明は、[wiki:TracPlugins TracPlugins]を参照してください。)]]

(1) eggの設置

zipを解凍してください。
解凍して出来たフォルダ配下のsrcディレクトリに移動してください。
以下のコマンドを実行して下さい:

$ python setup.py bdist_egg

distフォルダが作成されます。
その中にある*.eggファイルを、TracEnvのplugins ディレクトリにコピーしてください。

(2) TracEnvのupgrade

DBにMailArchivePlugin用のテーブルを追加するために、TracEnvをupgradeする必要があります。以下のコマンドを実行してください。
$ trac-admin [TracEnvのディレクトリ] upgrade

(3) mailarchive-amin.pyの設置

srcディレクトリ直下にあるmailarchive-admin.pyを、実行しやすいディレクトリ(/usr/local/binとか)にコピーしてください。

(4) Trac.iniの設定

MailArchivePluginを使用可能にするには、Trac.iniの[components]カテゴリに以下を加えてください。
(pluginフォルダに置いた場合には不要)
[componets]
mailarchiveplugin.* = enabled
ここまでで、MailArchivePluginのインストールは終了です。メインメニューに「メール倉庫」というメニューが追加されていると思います。
ただし、まだメールをインポートしてないので、メニューを押しても何も表示されません。
引き続き、メールをインポートするための設定と、メールのインポートを行ってください。

4. メールのインポート

4.1 説明

MailArchivePluginでメールを表示・検索するには、まずメールデータをTracに取込む(=インポートする)必要があります。

メー ルをインポートするには、2通りの方法があります。unixmail形式のメールファイルのインポートと、pop3サーバからのメールの受信です。「片方 の方法だけ使う」ことも可能ですし、「最初に今までのメールをインポートしてから、今後はpop3でメールを受信する。」というような使い方をも可能で す。
注意:

4.2 設定

Trac.iniの以下の項目を設定してください。

[mailarchive]
codecaliases 読み込み時のコーデック変換エイリアスをしています。変換しない場合は不要です。
以下の書式で記載してください。
  • メールの文字コード:pythonのコーデック名[,メールの文字コード:pythonのコーデック名]...
[52]以降は、コーデック名のところに、cmd:実行ファイルパスを書くと、外部の変換プログラムを呼び出し可能です。
変換プログラムは、標準入力から入力を受け取り、標準出力に結果をutf-8で出力する必要があります。
(#13参照)
pop3_server pop3サーバのアドレスを指定します。pop3受信しない場合は不要です。
pop3_user pop3サーバへ接続するためのアカウントを指定します。pop3受信しない場合は不要です。
pop3_password pop3サーバへ接続するためのパスワードを指定します。
pop3_delete pop3サーバのメールを削除するかどうかを指定します。(デフォルト:none)
pop3受信しない場合は不要です。
  • none:削除しない。
  • imported:インポートできたもののみ削除する。
  • all:すべて削除する。

なお、日本では、codecaliasesにiso-2022-jp:iso-2022-jp-2004 を指定するのがお勧めです。

4.3 取込み方法

(1) メールファイル(unixmail形式)のインポート

あなたの手元にあるメールをまとめてインポートします。メールファイルのインポートを行わない場合は、この章は飛ばしてください。
unixmail形式のメールをインポート可能です。

メールを取込むには、以下のコマンドを実行してください。
ML名には、メーリングリストの(短い)名前を指定してください。画面に表示する際に、ここで指定したML名をキーにして分類されます。
メールの取込み状況およびエラーは、標準出力に出力されます。
$ python mailarchive-admin.py [TracEnvのディレクトリ] import [ML名] [インポートするファイルのパス]
例:
$ python mailarchive-admin.py /var/trac/tracenv import mailarc-ML /tmp/mail_2006

(2) pop3メールの受信

pop3サーバからメールを受信します。pop3メールの受信を行わない場合は、この章は飛ばしてください。

メールを受信するには、以下のコマンドを実行してください。[[FootNote(Trac.iniのpop3_*を事前に指定して置いてください)]]
ML名には、メーリングリストの(短い)名前を指定してください。画面に表示する際に、ここで指定したML名をキーにして分類されます。
メールの取込み状況およびエラーは、標準出力に出力されます。
$ python mailarchive-admin.py [TracEnvのディレクトリ] pop3 [ML名]
例:
$ python mailarchive-admin.py /var/trac/tracenv pop3 mailarc-ML
取り込みを行うシェルを書いて、cronに設定しておくとよいでしょう。[[FootNote(Windowsではバッチをかいてタスクに登録ですね。)]]
シェルの例[[FootNote(パスはあなたの環境に合わせて書き換えてください)]]:
#!/bin/csh

source $HOME/.cshrc
python /local/bin/mailarc-admin.py /var/trac/tracenvmailarc >> /var/trac/repo/log/mailarc.log

5. 使用方法

メニューにある「メール倉庫」をクリックしてください。一番最近の月のメールがスレッド表示されます。画面右に、ML毎、月毎のメールの数が表示されます。これをクリックすると、そのML/月のメールがスレッド表示されます。
メールを1件クリックしてみてください。メールの中身が表示されます。画面右には、同じスレッドに属するメールが表示されます。添付ファイルがあれば、画面下のAttachement欄に表示されます。

6. カスタマイズ

Trac.iniの以下の項目を設定することで、MailArchivePluginの動きを細かく制御することが出来ます。

[mailarchive]
title
メニューバー、検索、タイムラインで使うMailArchiveプラグインのタイトルを設定します。(デフォルト:!MailArchive)
このサイトでは'メール倉庫’
wikiview
メール本文を表示する場合に、wiki文法に従い変換するか否かを設定します。(デフォルト:enable)
disableにすると、メール本文をテキストとしてそのまま表示します。
enableにすると、本文にwiki文法に沿った文字があると、変換します。(例えば!#1があると、チケット1へのリンクになります)
replaceat メールアドレスの@を変換する文字を設定します。(デフォルト:'_at_')
全角の@にするのが日本では一般的?

[components]
mailarchive.mailarchive.!NavigationContributor disabledにすると、メニューバーにMailArchiveが表示しません。
mailarchive.mailarchive.!SearchProvider disabledにすると、検索にMailArchiveが表示しません。
mailarchive.mailarchive.Timelinedisabledにすると、タイムラインにMailArchiveが表示しません。
mailarchive.wikisyntax.!WikiSyntaxMaildisabledにすると、wiki内の!mail:1 という形式の文字をメールへのリンクに変換しません。
mailarchive.wikisyntax.!WikiSyntaxMldisabledにすると、wiki内の[ML名:1]や[ML名 1]という形式の文字をメールへのリンクに変換しません。
mailarchive.wikisyntax.!WikiSyntaxMessageIddisabledにすると、wiki内のMessage-ID:という形式の文字をメールへのリンクに変換しません。

7. 開発中のソースについて

開発中の最新版は、[[Download2(ここ,MailArchivePluginDev,mailarchiveplugin,)]]から取得できます。
開発中のもののため動かない可能性もあります。

8. ご意見・ご要望

ご意見・ご要望は[/trac/newticket?component=MailArchivePlugin こちら] から登録してください。
これまでに登録されたものは[query:?component=MailArchivePlugin こちら] を参照してください。


[[FootNote]]

}}}