8    日本語 MH

この章では,日本語 Message Handler(以下 MH と略す)で実際に日本語のメールの送受信を行うために必要な設定,操作方法,注意点について説明します。

8.1    メール

メールは日常生活の手紙のやり取りに相当する作業をコンピュータ上で行う機能です。 メールを使うと,コンピュータ上で作成されたメッセージをある特定のユーザ間で送受信することができます。

Tru64 UNIX では次の2つの部分によってメールの処理を行っています。

8.2    日本語対応のフロント・エンド

Tru64 UNIX は日本語に対応するフロント・エンド 日本語 MH を提供しています。

/usr/bin/mh 以下に用意されている日本語 MH のコマンドは,8ビット・クリーンです。 /usr/bin/mh をコマンド・サーチ・パスに追加すると日本語 MH のコマンドが有効になります。

メール配送システムとフロント・エンドの設定が完了すると,日本語 MH を使って,日本語のメールの送受信ができるようになります。

8.3    MH の操作方法

日本語 MH は,かな漢字変換を伴うこと,コード変換を行うことを除いて,英語版の MH を使用するときと同じ方法でメールを扱うことができます。

8.3.1    メールの送信

日本語 MH でメールの作成や転送を行うときは comp コマンドを使用します。 この場合に日本語のメッセージを送るには,次の2つの方法があります。

comp を実行するときに prompter が起動される場合,システム・レベルかな漢字変換を用いて日本語のメッセージを入力します。

<endcondition>
% comp
To: yamamoto
cc: tanaka
Subject: Meeting
--------
明日のミーティングでは,山本さんに簡単な自己紹介をしていただ
きたいと思います。
 
よろしくお願いします。
--------
What now ?send
%
 

MHより日本語エディタ(jvi,Muleなど)を起動する場合は,comp コマンドのオプション -editor を用いて日本語エディタをコマンド行で次のように指定するか,

% comp -editor jvi
 

comp コマンドを実行する前に,あらかじめ次のように日本語エディタの指定を書いた行を,ホーム・ディレクトリ の .mh_profile に追加しておきます。

      Editor:                 jvi
 

このようにしておくと,comp を起動したあと自動的に日本語エディタが起動され,日本語のメッセージを入力することができます。

送られて来たメールをメール・ドロップから取り込んで読む場合も,通常の MH の使用方法と同じです。

<endcondition>
%  inc
Incorporating new mail into inbox...
 
78+ 05/08 yamamoto           re; Meeting<<自己紹介の件,わかりました。明日
79  05/08 tanaka             re; Meeting<<> いろいろと御気遣いいただきまし
%
% show
(Message inbox:78)
Return-Path: yamamoto
Message-Id: <9308050827.AA02539>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=X-deckanji
To: suzuki
Cc: tanaka
Subject: re; Meeting
Date: Thu, 05 Aug 93 17:27:47 +0900
From: yamamoto
X-Mts: smtp
 
自己紹介の件,わかりました。明日のミーティングまでに話すことを
簡単にまとめておきます。
 
いろいろと御気遣いいただきまして,本当にありがとう御座います。
 
山本
 

8.4    コード変換

メール配送システムとフロント・エンドの設定が完了すると,同じホスト間または同じアプリケーション・コードを使用するホスト間で日本語を使ったメールの送受信はできます。 しかし,ネットワークを経由して他のホストにメールを送る場合,自分のホストが8ビット・クリーンになっていても,相手のホストが8ビット目をクリアするように設定していれば,DEC 漢字を含むメッセージを正常に送ることはできません。

そこで,DEC 漢字コードを含むメールを送る場合は DEC 漢字コードを7ビットの語長の JIS コード(ISO-2022-JP)に変換してからメールを送信し,メールを受け取る場合は,逆に JIS コードを DEC 漢字コードに変換するといった方法が考えられます。

この方法を用いれば,自分のホストの設定を気にする必要も,相手のホストが8ビット目をどのように扱うかを気にする必要もありません。 また,日本語 MH はこの変換を内部的に行うので,一定の設定を行えばユーザは変換処理を気にすることなく,外部とのメールの送受信ができます。

8.4.1    アプリケーション・コードとメール変換コード

メールのコード変換を行うときに変換の対象となる文字コードは次の2つです。

アプリケーション・コードはシステムの起動時,またはユーザが login したときに定義される場合が一般的です。 MH の中では,次の順番でアプリケーション・コードが認識されますのでアプリケーション・コードの設定が不十分な場合は,次のうちのいずれかに現在のアプリケーション・コードを設定してください。

  1. 環境変数LANG の値

  2. $HOME/.mh_profile の中で lang オプションの値として設定されているロケール情報

これに対して,メール変換コードはメール機能だけに必要なものなのでアプリケーション・コードとちがい特別に設定しなくてはなりません。

8.4.1.1 項 でメール変換コードの設定方法, 8.4.1.2 項 でメール変換コードの認識順番について説明します。

8.4.1.1    メール変換コードの設定

メール変換コードを設定する必要があるのは,メール送信時です。 日本語 MH は,アプリケーション・コードで書かれたメール・メッセージを次の方法で設定されたメール変換コードに変換してネットワークに送信します。

  1. 環境変数 EXCODE にメール変換コードを定義する

    メール変換コードを ISO-2022-JP にする場合には,コマンド・ラインで次のように入力します。

    % setenv EXCODE ISO-2022-JP
     
    

    あるいは,ユーザの .login に上記の設定を追加しておきます。

  2. $HOME/.mh_profileexcode オプションにメール変換コードを記述する。

    MH の設定ファイル $HOME/.mh_profile に次のように記述をすると MH を扱っている場合にだけ,出力コードが ISO-2022-JP となります。

    excode:		ISO-2022-JP
     
    

  3. /usr/lib/mail-codesets にメール変換コードを記述する。

    /usr/lib/mail-codesets は,システムの指定省略時のメール変換コードを設定するファイルです。 システム特権を用いてファイルに次のように記述すると,システム指定省略時のメール変換コードは ISO-2022-JP になります。

    ISO-2022-JP
     
    

メール変換コードは,環境変数 EXCODE,.mh_profile/usr/lib/mail-codesets の順に参照されますので,それぞれに不整合がある場合は,上位の設定が有効になります。

8.4.1.2    メール変換コードの認識

送られてきたメッセージをメール変換コードからアプリケーション・コードに変換するためには,メッセージのメール変換コードを認識する必要があります。 Tru64 UNIX では次のようは順番で,メール変換コードを認識,決定します。

もし,上の2つからメール変換コードが認識できない場合,コード変換は行なわれません。

8.4.2    メール送信時のコード変換

アプリケーション・コード,メール変換コードの設定が完了している場合,日本語 MH はメール送信時に post(1) コマンドのなかで自動的にコード変換を行い,送信します(変換そのものに関してユーザが設定することはありません)。

Tru64 UNIX で作成したメール・メッセージを送信すると次の例のように Content-Type ヘッダの charset フィールドにメール交換コードが記されます (例の場合 ISO-2022-JP)。

	Mime-Version:  1.0
	Content-Type:  TEXT/PLAIN; charset=ISO-2022-JP
 

charset に書かれたコード名は,メール受信側にどの文字コードセットをメール変換コードとして使ったかを示す大切なデータとなります。

8.4.3    メール受信時のコード変換

メールの受信時のコード変換は,設定により inc(1) コマンドで行う場合と, show(1) コマンドや scan(1)コマンドなどで行う場合の2種類があります。

8.5    MH コマンド一覧表

表 8-1 に 「MH コマンド一覧」が記載されています。コマンドの機能が確かでないときに参照してください。なお,より詳しい内容については,それぞれのコマンドのリファレンス・ページを参照してください。

表 8-1:  MH コマンド一覧

コマンド 機能
alex(1) メッセージ・ヘッダからアドレスを抽出します。
ali(1) メールの別名をリストします。
anno(1) メッセージに注釈をつけます。
burst(1) 要約をメッセージ内にいれます。
comp(1) メッセージを作成します。
dist(1) メッセージを追加アドレスに再分配します。
folder(1) 現在のフォルダ/メッセージを設定/リストします。
folders(1) すべてのフォルダをリストします。
forw(1) 次のメッセージに進みます。
inc(1) 新規のメールをまとめます。
mark(1) メッセージにマークします。
mhl(1) MHメッセージのフォーマット済みリストを作成します。
mhmail(1) メールの送信または読み出しを行います。
mhpath(1) MHメッセージとフォルダのフル・パス名をプリントします。
msgchk(1) メッセージをチェックします。
msh(1) MHシェル
next(1) 次のメッセージを表示します。
packf(1) フォルダを1つのファイルに圧縮します。
pick(1) 内容に応じてメッセージを選択します。
prev(1) 前のメッセージを表示します。
prompter(1) エディタ・フロント・エンドのプロンプト機能
rcvstore(1) 新規のメールを非同期で取り込みます。
refile(1) 他のフォルダのファイル・メッセージ
repl(1) メッセージに返答します。
rmf(1) フォルダを削除します。
rmm(1) メッセージを削除します。
scan(1) 各メッセージごとに1行のスキャン・リストを作成します。
send(1) メッセージを送信します。
slocal(1) メール・フックを受信します。
show(1) メッセージを表示(リスト)します。
sortm(1) メッセージをソートします。
whatnow(1) 送信のためのフロント・エンドのプロンプト機能
whom(1) メッセージの受信者を報告します。
mh-alias(5) MHメッセージ・システムの別名ファイル
mh-format(5) MHメッセージ・システムのフォーマット・ファイル
mh-mail(5) MHメッセージ・システムのメッセージ・フォーマット
mh_profile(5) MHメッセージ・システムのユーザ・カスタマイズ
mtstailor(5) MHのためのシステム・カスタマイズ
ap(8) アドレスを解析してRFC 822形式にします。
conflict(8) 別名/パスワードの矛盾点を検索します。
dp(8) 日付を解析してRFC 822形式にします。
install-mh(8) MH環境を初期化します。
post(8) メッセージを配信します。