7. Internet Message (IM) について


【もくじに戻る】
7.1 Internet Message(IM)とは何ですか?
7.2 IMのバージョンの表記方法はどうするのが正しいですか?
7.3 $(HOME)/.im/ConfigのFormの設定のしかたを知りたい.
7.4 $(HOME)/.im/ConfigのFormの設定で注意することはありますか.
7.5 IMのコマンドを実行すると「Bareword "O_BINARY" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/IM/History.pm line 84.」というエラーが出ます.
7.6 $(HOME)/.im/Configのcaseの設定のしかたを知りたい.
7.7 新しいバージョンの Perl をインストールしたら,IM のコマンドが「Can't locate IM/Config.pm in @INC」というエラーを出して動かなくなってしまいました.
7.8 $(HOME)/.im/Configというファイルがない.

7.1 Internet Message(IM)とは何ですか?

【質問】
Mewの00readmeにMewをインストールするにはInternet Message(IM)が必要だと書いてありました. Internet Messageとはいったい何をするものですか?
【答え】
IMとは,MHが提供していたコマンドを置き換えるためにPerl5で書かれたスクリプト群のことを指します.
IMのコマンド 対応するMHのコマンド 機能
imali ali aliasの表示
imcat show メッセージの内容を表示
imcd folder デフォルトのフォルダ(+inbox)を変更
imclean なし trashフォルダの中のメッセージをすべて削除する.
imget inc メールを受信する.
imgrep pick メールを検索する.
imhist なし 履歴データベースを管理する.
imjoin なし Message/partialを結合する.
imls scan フォルダにあるメッセージの一覧を表示する.
immv refile メッセージをあるフォルダから別のフォルダへ移動する.
impack folders -pack メッセージをパックする.
impath mhpath/folder -all フォルダをファイルパスに展開する.
フォルダの一覧を表示する.
imput send メッセージを送信する.
impwagent なし パスワードの入力を省く.
imrm なし メッセージをtrashフォルダへ移動する.
imsetup install-mh IMを利用できるように準備する.
imsort sortm フォルダの中のメッセージを並び換える.
imstore rcvstore 標準入力からのメッセージをフォルダに格納する.
imtar なし フォルダの中にあるメールを1つのメッセージにまとめる.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.2 IMのバージョンの表記方法はどうするのが正しいですか?

【質問】
IMのバージョンを書くとき,どのように書くのが正しいですか?
【答え】
日付(IMバージョン番号)です.例えば,980905(IM100)と書きます.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.3 $(HOME)/.im/ConfigのFormの設定のしかたを知りたい.

【質問】
Summary バッファのメール一覧の表示(=imgetの出力)を設定するFormについて詳しく教えてください.
【答え】
Formの設定に使用できるフォーマットは以下のとおりです.
%n
メールの通し番号が入る.
%d
Date:フィールドの日付. Date:フィールドがないメールの場合は,そのメールに対応するファイルの作成日時を代わりに利用する.月/日 という形式で入る.
%f
MIMEデコードした From: フィールドが入る.
%t
MIMEデコードした To: フィールドが入る.
%g
Newsgroups: フィールドが入る.
%a
From: フィールドのメールアドレス以外のところが入る(friendly From: field). 例えば,From: Hoge Hoge <hoge@hoge.hoge>の場合,Hoge Hoge の部分.
%A
自分が出したメールの場合に To:宛先,Ng:ニュースグループとなること以外は %a と同じ.
%P
From: フィールドのメールアドレスが入る.例えば,From: Hoge Hoge <hoge@hoge.hoge>の場合,hoge@hoge.hoge の部分. ただし,自分が出したメールの場合はTo:宛先,Ng:ニュースグループとなる. mh-e と同じ形式.
%i
スレッド表示のためのインデント.
%s
MIMEデコードした Subject: フィールド.
%S
スレッド表示のためのインデントが入っているMIMEデコードした Subject: フィールド.%i%sと指定するのと同じ.
%b
メールの本文.引用部分と判断されたところは除かれる.
%m
メールが署名されているなら 'S',暗号化されているなら 'E',マルチパートなら 'M',それ以外なら空白になる.
%p
Config の Address や AddrRegex で指定したアドレス宛て(要するに自分宛て)のメールなら '*',それ以外なら空白になる.
%D
もし,同じ Message-ID を持つメールがあれば,そのメールに'D'マークがつく. 例えば,メーリングリストと自分宛てにメールが来た場合,メーリングリスト宛てのメールに'D'が付く.
%M
%p%Dの両方の機能を持つ.
%F
フォルダのパス.
%K
ファイルのブロックサイズ(1ブロックは 1024バイト).
%y
西暦
%c
月(数字)
%C
月(文字列)
%e
曜日
%h
時間
%E
%G

それぞれのフォーマットで,%とアルファベットの間に数字を指定することで,表示幅を設定することができます.このとき,数字の頭に0をつけると,空いている桁はすべて0で埋められます.

表示幅を指定する数字に+(プラス)を付けると,その指定した表示幅で表示をしますが,表示しなければならない項目がその幅を越える場合は,それに合わせて表示をずらします. + を付けないと,その幅を越える部分は表示しません. ですので,%n の場合は + を付けておかないと表示幅を越えたときに Mew が誤作動する可能性があります.

表示幅を指定する数字に-(マイナス)を付けると,表示を左寄せにします.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.4 $(HOME)/.im/ConfigのFormの設定で注意することはありますか.

【質問】
$(HOME)/.im/ConfigのFormを設定することで,MewのSummaryバッファの一覧表示(=imgetの出力)を自由に変更することができますが,何か注意することはありますか?
【答え】
IM単体で利用する分には何も注意することはありません.

IMをMewとともに利用している場合には,Formの設定に関していくつか暗黙の了解となっている事柄があります.

  1. Formの最初はメールの通し番号(%n)でなければならない.

    フォルダにあるメッセージの数が表示幅を超えると,Mewが誤作動する可能性があります. %+5nというように表示幅を指定する数字とともに+(プラス)をつけておいた方がよいでしょう.

  2. メールの通し番号(%n)の次は空白もしくはメールのマークに相当するもの(%p%M%D)でなければならない.

    MewのSummaryバッファでは,メールの通し番号(%n)の次のカラムをメールのマークのための領域として利用しています. ですので,%nの次は,空白もしくはマークに相当するもの(%p%M%D)でなければなりません.

    このとき,%Dと書いたつもりでDとしてしまうと,メールをincした時点ですべてのメールにD(削除のマーク)が付いてしまうことになりますので注意してください.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.5 IMのコマンドを実行するとBareword "O_BINARY" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/IM/History.pm line 84.とエラーが出る.

【質問】
IMのコマンドを実行すると「Bareword "O_BINARY" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/IM/History.pm line 84.」というエラーが出て実行できません.
【答え】
おそらくperl5.004がインストールされていると思います. perl5.004_04をインストールしてください.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.6 $(HOME)/.im/Configのcaseの設定のしかたを知りたい.

【質問】
$(HOME)/.im/Configのcaseを利用すると,IMの設定を簡単に変更できると聞きました. caseの使い方を教えてください.
【答え】
caseの書式は以下のとおりです.
case 値1[, 値2, ...]

caseには設定を共有する複数の値を書くことができます. caseの行以降でその値に対する設定を行いますが,その有効範囲は次のcaseに出会うまでです. また,$(HOME)/.im/Configの最初の行から一番最初に出会うcaseまでに書かれた設定は「case default」として扱われます. caseはデフォルトの設定(case defaultで指定された内容)を上書きして変更したり,新たに追加したりする場合に利用します.

# $(HOME)/.im/Configの例
# ここでの設定はcase defaultとしたのと同じ
case foo,bar
# foo と bar で共通な設定
case foo
# foo の場合の設定
case bar
# bar の場合の設定
case default
# defaultは明示的に指定することもできる

IMを利用する場合,通常はcase defaultの設定が有効になります. Mewでそれぞれのcaseで指定した設定を有効にするには,Summaryバッファで'C'(大文字のC)を押します. すると,ミニバッファで

Config value (default):

と聞かれるので,有効にしたい値を入力します. このとき,CTRL+I(TAB)を押すことで補完をかけられます.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.7 新しいバージョンの Perl をインストールしたら,IM のコマンドが「Can't locate IM/Config.pm in @INC」というエラーを出して動かなくなってしまいました.

【質問】
新しいバージョンの Perl をインストールしたら,すでにインストールしてあった IM のコマンドが「Can't locate IM/Config.pm in @INC」というエラーを出して動かなくなってしまいました.
【答え】
Perlのバージョンによっては,Perl がスクリプトを実行するために必要なモジュールを探すディレクトリ(@INCという配列に入っている)の構成が以前のバージョンと変わってしまい,IMが実行に必要なモジュールを見つけられなくなることがあります.

そのような場合には,IM をインストールし直すのが一番簡単な解決方法です. IMをインストールし直す時に,すでにconfigureを実行したディレクトリで再度configureを実行する場合には,まずそのディレクトリでmake distcleanを実行した後にconfigureを実行してください.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】


7.8 $(HOME)/.im/Configというファイルがない.

【質問】
Mew FAQやメーリングリストで教えてもらったIMの設定を追加しようと思ったのですが,$(HOME)/.im/Configというファイルがありません.
【答え】
imsetup を実行してください. imsetupについては,「2.3 Internet Message(IM)をインストールしたい。」にある「2.3.2.2 一般ユーザの場合」の手順5.を参照してください.

【この文書のはじめに戻る】 【もくじに戻る】 【トップページに戻る】