メールからHTMLへの変換(MHonArc)

メールからHTMLへの変換ができるソフトがある。 メーリングリストの過去ログを自動で保存しておくことや、 自分のメールのログをHTMLで保存しておくことが可能である。 そのためのアプリケーションに MHonArc というperlで書かれたものがある。今回はこのソフトの説明を する。

戻る

ダウンロードとインストール

2002.5.18現在は最新版は、2.5.4である。 ここ にソースがあるので最新版を持ってきてインストールする。

$ gtar xvfz MHonArc2.5.4.tar.gz
$ cd MHonArc2.5.4
$ su 
passward:
$ perl install.me

太字の部分はいつもと違うので注意する。 これを実行すると、ディレクトリ構成とか聞かれるので それ相応のディレクトリ構成にする。 /usrなどにアクセス権限がない人 (例えば、プロバイダのwwwサーバを利用したい等)で、 ホームディレクトリにインストールしたい人は、

$ perl install.me -prefix $HOME -nodoc -noman

とすると良い。-nodoc -nomanでドキュメントを インストールしなくなるので余分なファイルを取り除ける。

メールからHTMLへの変換

まずは、メールを格納するディレクトリを決める。 ここでは、メーリングリストの過去ログをとる目的で ホームページ上に公開する~/public_html/ml/にする。

まずは、メールがあるディレクトリにいく。mhならば、mhの下の inboxにあるかもしれない。とにかくそのディレクトリにいって、 以下のコマンドを実行する。

$ mhonarc -rcfile mhonarc.rc -outdir ~/public_html/ml/ -add .
This is MHonArc v2.5.4, Perl 5.006001 linux
Reading resource file: mhonarc.rc ...
Adding messages to /home/ohmori/public_html/ml/
Reading . ................................................................Warning: Unrecognized character set: euc-jp
...............................................................................................................................................................

Writing mail ..............................................................................................................................................................................................................................
Writing /home/ohmori/public_html/ml//maillist.html ...
Writing /home/ohmori/public_html/ml//mail2.html ...
Writing /home/ohmori/public_html/ml//threads.html ...
Writing /home/ohmori/public_html/ml//thrd2.html ...
Writing database ...
222 new messages
222 total messages

-rcfileというのは、後で説明するが設定ファイルで、-outdirが HTMLの出力先である。-add"."以下のディレクトリの すべてのメールで新しく追加されたものを変換して-outdir で示されたディレクトリに付け加える。 メールが増えるたびに上記コマンドを実行すればいい。

いちいち実行していくのが面倒な場合は、そのアカウントに来たメール すべて変換するように設定しておくことができる。 .forwardファイルを使うとよい。

"|mhonarc -rcfile mhonarc.rc -outdir ~/public_html/ml -add "

というように.forwardファイルを設定しておけばよい。 最初の"|"は、パイプで来たメールをそのままmhonarcの標準入力として 渡すということです。 subjectを検索して、当てはまるものだけ表示するperlを作って mhonarcに入れる前にさらにパイプで渡せば、 検索式に当てはまるものだけmhonarcに渡すことも可能である。 そのようなperlを作ったらそのうちここに載せます。

もし、アカウントにもメールを残したいのならば、

"|mhonarc -rcfile mhonarc.rc -outdir ~/public_html/ml -add "
\account名

としておけば、残すことができる。

rcfileで日本語メールもちゃんと変換してくれるようにする。

rcfileを設定すれば日本語のメール、とくにsubjectが日本語だったり するものもちゃんと日本語にして変換できる。 下記にそのファイルを紹介する。詳しい説明は、ドキュメントにあるの で省略するが、<CHARSETCONVERTERS>を設定するのが ポイントである。

<DECODEHEADS>
<MIMEARGS>
text/plain:default=iso-2022-jp
</MIMEARGS>
<CHARSETCONVERTERS>
piso-2022-jp;    iso_2022_jp::str2html;  iso2022jp.pl
</CHARSETCONVERTERS>
<NOMAILTO>

<MsgPgBegin>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>$SUBJECTNA$</TITLE>
<LINK REV="made" HREF="mailto:$FROMADDR$">
</HEAD>
<BODY>
</MsgPgBegin>

<IDXSIZE>
200
</IDXSIZE>
<MULTIPG>

これを設定しておけばよい。あとのポイントははIDXSIZEの設定部分で これを変更すれば、一つのindexでこれを越えるメールは登録されない。

戻る


Kenji Ohmori
Last modified: Tue May 31 01:59:01 JST 2005