この章では,日本語 Message Handler(以下 MH と略す)で実際に日本語のメールの送受信を行うために必要な設定,操作方法,注意点について説明します。
8.1 メール
メールは日常生活の手紙のやり取りに相当する作業をコンピュータ上で行う機能です。 メールを使うと,コンピュータ上で作成されたメッセージをある特定のユーザ間で送受信することができます。
Tru64 UNIX では次の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つの方法があります。
システム・レベルかな漢字変換を用いる。
MH より日本語エディタ(jvi,Mule)を起動する。
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ビット・クリーンになっていても,相手のホストが8ビット目をクリアするように設定していれば,DEC 漢字を含むメッセージを正常に送ることはできません。
そこで,DEC 漢字コードを含むメールを送る場合は DEC 漢字コードを7ビットの語長の JIS コード(ISO-2022-JP)に変換してからメールを送信し,メールを受け取る場合は,逆に JIS コードを DEC 漢字コードに変換するといった方法が考えられます。
この方法を用いれば,自分のホストの設定を気にする必要も,相手のホストが8ビット目をどのように扱うかを気にする必要もありません。
また,日本語 MH はこの変換を内部的に行うので,一定の設定を行えばユーザは変換処理を気にすることなく,外部とのメールの送受信ができます。
8.4.1 アプリケーション・コードとメール変換コード
メールのコード変換を行うときに変換の対象となる文字コードは次の2つです。
アプリケーション・コード
それぞれのシステムで定義された,現在使っている文字コードセット。
メール変換コード
メールを送受信するときに便宜的に使う文字コードセット。
アプリケーション・コードはシステムの起動時,またはユーザが login したときに定義される場合が一般的です。 MH の中では,次の順番でアプリケーション・コードが認識されますのでアプリケーション・コードの設定が不十分な場合は,次のうちのいずれかに現在のアプリケーション・コードを設定してください。
環境変数LANG の値
$HOME/.mh_profile
の中で
lang
オプションの値として設定されているロケール情報
これに対して,メール変換コードはメール機能だけに必要なものなのでアプリケーション・コードとちがい特別に設定しなくてはなりません。
8.4.1.1 項
でメール変換コードの設定方法,
8.4.1.2 項
でメール変換コードの認識順番について説明します。
8.4.1.1 メール変換コードの設定
メール変換コードを設定する必要があるのは,メール送信時です。 日本語 MH は,アプリケーション・コードで書かれたメール・メッセージを次の方法で設定されたメール変換コードに変換してネットワークに送信します。
環境変数 EXCODE にメール変換コードを定義する
メール変換コードを ISO-2022-JP にする場合には,コマンド・ラインで次のように入力します。
% setenv EXCODE ISO-2022-JP
あるいは,ユーザの
.login
に上記の設定を追加しておきます。
$HOME/.mh_profile
の
excode
オプションにメール変換コードを記述する。
MH の設定ファイル
$HOME/.mh_profile
に次のように記述をすると MH を扱っている場合にだけ,出力コードが ISO-2022-JP となります。
excode: ISO-2022-JP
/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 では次のようは順番で,メール変換コードを認識,決定します。
ヘッダ部(8.4.2 項を参照) に,charset
フィールドがある場合,そこに記されたコードセット
/usr/lib/mail-codesets
で設定された,そのシステムにおける指定省略時のメール交換コード
もし,上の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)
inc
(1)
メッセージを
spool
ディレクトリから
メール・フォルダに取り込むときに(
inc
(1)
inc
(1).mh_profile
に次のような記述を加えます。
inc: -conv inshdr
この記述がない場合コード変換は
inc
(1)show
(1)scan
(1)
show
(1)scan
(1)
メッセージをメール・フォルダから取り出して,実際に読む直前に(
show
(1)scan
(1)
表 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) | メッセージを配信します。 |