mimehはunix-mbox形式のファイルのMIMEエンコードされている部分の デコードを行うユーティリティです. エンコード機能も一応ありますが, 古の/usr/udb/mail (実は私は2001年頃まで使ってたりしますが…)を使って MIMEエンコードされたSubjectのメール(要するに日本語題名のメール)を 発信するために作ったものなので, 今となってはほとんど使い道もないでしょう.
使い方は
mimeh -[e|dh|da] [入力ファイル [出力ファイル]] -e: Subjectのエンコード -dh: ヘッダ部分のみのデコード -da: 本文を含めたデコードです. 例えば, mboxという名前のヘッダ部分がMIMEエンコードされているファイルを デコードしてその結果をmbox.outに出力するのであれば,
mimeh -dh mbox mbox.outとして実行します. ヘッダ部分だけでなく, 本文中のMIMEエンコードされている部分(他のメールを引用している場合に そういうことがありますね)もまとめてデコードする場合には,
mimeh -da mbox mbox.outとすればできます. また, mimehの入出力はファイルを指定しない場合には 標準入力および標準出力になるので 上の処理は以下のようにしても実行できます.
mimeh -dh < mbox > mbox.outなお, mimehは, MIMEエンコード部分のデコードのみを行います. 通常はその部分は(というよりもunix-mboxファイル自体が)JISコードなので, 例えばヘッダ部分をデコードした後に(本文も)まとめてシフトJISにしたい場合は
mimeh -dh mbox | jistosj > mbox.sjとしてJIS→SJIS変換フィルタを使えばシフトJISのファイルmbox.sjが生成されます.
MIMEエンコードの場合には, 入力ファイル中の「~s」で始まる行を (「~s」の部分はそのままにして残りの部分を)エンコードします.
mimeh -e text text.outとすれば, textの「~s」で始まる行をエンコードされたtext.outが生成されます. もっとも, こちらの機能は現在ではほぼ使う必要はないでしょうが…. 余談ですが, 「~s」は/usr/ucb/mailのSubjectを指定する行の コマンドだったりします.
jistosjもおまけにつけときます.
mimeh.c | ソースファイル |
mimeh.exe | Windowsコマンドプロンプト(いわゆるDOS窓)用の実行形式 |
jistosj.c | 簡易JIS→SJIS変換フィルタのソースファイル |
jistosj.exe | Windowsコマンドプロンプト(いわゆるDOS窓)用の実行形式 |
※ちなみに, 古い(ANSI以前のK&Rの)書き方なので, コンパイルする場合には処理系によってはWarningを大量に吐くかも知れません.