| メールから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でこれを越えるメールは登録されない。