/* ***************************** *
 *  日本語版 MH の FAQ (暫定版)  *
 * ***************************** */

  これは日本語版 MH に関して、今までによく見かけた質問や、たぶん今後聞かれ
るだろう質問を集めたものです。:-)

<<目次>>

【Q】 MH で画像を添付したマルチパートメールは送れますか?
【Q】 MH-e を使ってますが、画像添付の際「#image/jpeg …」などを打ち込むのが
     面倒です。いい方法はありますか?
【Q】 mhn エディットをした際、「draft shouldn't contain MIME-Version: field」
     というエラーが出ました。どういう事ですか?
【Q】 MH-e で M-x mh-edit-mhn (C-c C-e) をしても、そんな関数は無いと言われ
     ます。どういう事ですか?
【Q】 送信するメールを全て MIME 対応にしたいです。どうすればいいですか?
【Q】 MH からメールを出した時に From: 行に入る本名の部分を変えるにはどう
     すればいいのでしょうか?
【Q】 send 前に mhn エディットをしましたが、間違ってた事に気がついたので、
     元に戻したいです。どうすればいいですか?
【Q】 私はマシンの管理者で、自分のマシンの新しい MH ユーザー達に、この
     サイトで有用な ~/.mh_profile を配りたいと思ってます。いい方法はあり
     ますか?
【Q】 私は MLのメールをまとめ送りで送ってもらってますが、これが
     multipart/digest という形式です。このまとめ送りメールを一通一通
     別々のファイルに落したいのですが、どうすればいいですか?
【Q】 画像や他の OS 用のデータなどが BASE64 で添付されたメールが送られて
     きました。この部分だけデコードしてファイルに落したいのですが、どう
     すればいいでしょうか?
【Q】 「From: foo@bar... (FOO BAR/ふ〜ば〜)」というような行を送ると、
     日本語部分だけでなく、「BAR/」の部分まで MIME encode されます。
【Q】 個人用 PC-UNIX から MH を使って、プロバイダに POP 接続したいです。
     どう設定すればいいのでしょうか?
【Q】 MH でプロバイダに接続してますが、localhost のユーザー名とプロバイダ
     のメールアドレスのユーザー名が異なります。


<<本文>>

【Q】 MH で画像を添付したマルチパートメールは送れますか?

【A】 send する前に mhn エディットするといいです。

  mhn は行頭が「#」で始まる行に特別な意味を持たせてます。# の後に MIME
タイプを書き、その後ファイル名を書くと、自動的にそのファイルを添付します。
MIME タイプとファイル名の間には [] で囲んだ説明を書いてもいいです。例えば、

	To: friends
	Subject: ○○△△
	-------
	御希望の画像はこれですか?
	#image/jpeg [○○の画像] /foo/bar.jpg
	#image/gif [△△の画像] /foo/hoge.gif

というように書きます。行頭に「#」自身を書きたい場合は「##」とします。

  この後、comp 等から処理してる場合は、「What now?」プロンプトで「edit mhn」
としてから「send」します。MH-e を使ってる場合は、M-x mh-edit-mhn (C-c C-e)
してから M-x mh-send-letter (C-c C-c)です。

  上の例の場合は、7BIT の「text/plain; charset="iso-2022-jp"」、BASE64 の
「image/jpeg」、BASE64 の「image/gif」の 3パートの multipart メールになり
ます。なお、送る前には必ず mhn で処理をかける必要があります。そうでないと
この「#image/jpeg …」の行のまま送り出されてしまいます。



【Q】 MH-e を使ってますが、画像添付の際「#image/jpeg …」などを打ち込むのが
     面倒です。いい方法はありますか?

【A】 M-x mh-mhn-compose-insertion (C-c C-m C-i) をすると、ファイル名を
聞いてきますので、入力します。この時 emacs でファイル名入力の際に使える
補完機能が効きます。次に MIME タイプを入力しますが、ここでも補完が効き
ます。最後に content-description (簡単な説明文)を入力します。これで、指定
のファイルを添付できます。

  他にも M-x mh-mhn-compose-forw (C-c C-m C-f) で content-description (説明)
とメッセージ番号とフォルダー名を聞いてきますので、入力すると、そのメッセージ
を message/rfc822 で添付する事が出来ます。フォルダー名は補完が効きます。

  これを行なった後は、必ず mhn エディットを行なう必要があります。自動で
やらせる方法もありますので、その設定をしておくといいでしょう。

  なお、sc (supercite) 等を使ってる場合は C-c C-m がぶんどられて、これらの
シーケンスが入力できないかも知れません。その場合は M-x … の方で入力する
か、キーバインドを再定義するかして下さい。:-)



【Q】 mhn エディットをした際、「draft shouldn't contain MIME-Version: field」
     というエラーが出ました。どういう事ですか?

【A】 mhn は二重に処理されないように、既に MIME-Version: 等のヘッダーが付い
ている場合には、エラーを返し、処理をしないようになってます。MIME-Version: や
Content- で始まるヘッダー等は削除してから mhn で処理をするようにして下さい。

  なお、mh-6.8-JP2c が出て間もない頃、~/Mail/components に

	To:
	cc:
	Subject:
	MIME-Version: 1.0
	Content-Type: text/plain; charset=ISO-2022-JP
	--------

等書いておくと、常に MIME メールになるので便利…といった事が書かれたドキュ
メントがあちこちに出回っていましたが、これをしてると、既に MIME-Version:
が付いていると言うことで、mhn エディットが出来ません。

  もちろん、日本語のテキストメールしか送らないというのなら、これでもいい
ですが、たまには英語のメールや、multipart 等のメールも送りたいという場合
には、components や replcomps 等に予めこれを書いておくよりは、mhn に付け
させる方がよりお勧めできる方法だと思います。これらのヘッダーは mhn エディッ
トをすると自動でつきます。
  まあ、もちろん、mhn エディットする必要がある時だけ MIME-Version: 等を
消せば済む話でもありますが…。:-)



【Q】 MH-e で M-x mh-edit-mhn (C-c C-e) をしても、そんな関数は無いと言われ
     ます。どういう事ですか?

【A】 MH-e のバージョンが古くないでしょうか?  この機能を使うには MH-e は
バージョン 4.x 以降を使う必要があります。MH-6.8.3 のアーカイブの miscellany/
以下に置かれている MH-e のバージョンは 3.8 なので、この機能はありません。

  なお、mule-2.3 標準添付の MH-e のバージョンは 4.1 なので、ほとんどの
環境では新しく MH-e をインストールし直さなくても大丈夫のはずですが…。:-)



【Q】 送信するメールを全て MIME 対応にしたいです。どうすればいいですか?

【A】 send する前に mhn エディットするといいです。comp 等から処理してる場合
は、「What now?」プロンプトで「edit mhn」としてから「send」します。MH-e を
使ってる場合は、M-x mh-edit-mhn (C-c C-e)してから M-x mh-send-letter (C-c C-c)
です。

  mhn で処理すると自動的に MIME-Version: ヘッダーがつき、今書いているメール
が英語メールなら「Content-Type: text/plain; charset="us-ascii"」が、日本語
メールなら「Content-Type: text/plain; charset="iso-2022-jp"」が自動的に付き
ます。(jp2c+-1.03 以降)  また、同時に日本語ヘッダーは MIME エンコードされ
ます。(JP-3.00 以降)

  なお、send する前に mhn で処理するのよく忘れるという場合、これを自動的に
行なわせる方法があります。~/.mh_profile に「automhnproc: mhn」と書いておけ
ば、comp などからメールを送信する場合に、「send」した時点で、MIME-Version:
ヘッダー等が既にある場合はそのまま、ない場合は edit mhn をしてから send され
ます。

  しかし、残念ながら今の所 MH-e は、この automhnproc 行を見ませんので、MH-e
ではこの自動処理が有効になりません。そこで、~/.emacs 等に

(setq mh-before-send-letter-hook
      '(lambda ()
	 (if (string= (mh-get-field "MIME-Version:") "") (mh-edit-mhn))))

と書いておくといいでしょう。これで、M-x mh-send-letter (C-c C-c) した時、
MIME-Version: ヘッダーが既にあればそのまま、なければ M-x mh-edit-mhn (C-c C-e)
が行なわれてから send される事になり、常に MIME メールになります。



【Q】 MH からメールを出した時に From: 行に入る本名の部分を変えるにはどう
     すればいいのでしょうか?

【A】 ~/.mh_profile に「signature: FOO BAR」と書き加えておくと、

	From: FOO BAR <foo@bar...>

というように変わります。ここには日本語の文字列を使うことも出来ます。この
場合は、send 時にヘッダを自動的に RFC-2047 encode するような設定が必要に
なってくるでしょう。



【Q】 send 前に mhn エディットをしましたが、間違ってた事に気がついたので、
     元に戻したいです。どうすればいいですか?

【A】 mhn を施す前のメールは、例えば現在のドラフトが ~/Mail/draft なら
~/Mail/,draft.orig や ~/Mail/#draft.orig といったファイルに保存されてます。
これを mv 等で元に戻す事が出来ます。

  また、MH-e を使ってる場合は、M-x mh-edit-mhn (C-c C-e) で mhn をかけた
メールは M-x mh-revert-mhn-edit (C-c C-m C-u)で元に戻せます。なお、sc
(supercite) 等を使ってる場合は C-c C-m がぶんどられて C-c C-m C-u が効か
ないかも知れません。この場合は、M-x … の方で打つなり、キーバインドを
再定義するなりして対処して下さい。:-)



【Q】 私はマシンの管理者で、自分のマシンの新しい MH ユーザー達に、この
     サイトで有用な ~/.mh_profile を配りたいと思ってます。いい方法はあり
     ますか?

【A】 通常、MH を初めて使うと、「Path: Mail」とだけ書かれた ~/.mh_profile
が出来ますが、/usr/local/lib/mh/mh.profile (「/usr/local/lib/mh」部分は
インストール時の設定によっては違うかも知れません)というファイルを作って
おくと、その代わりにこのファイルが ~/.mh_profile にコピーされます。

  従って、このファイルに、そのサイトで有用な設定を書いて置いておくといいで
しょう。なお、このファイルは初めて MH を使い始める時にコピーされるだけで、
その後は一切見ません。つまり、既に MH を使い始めている人には意味をなさない
という点は注意しておいて下さい。



【Q】 私は MLのメールをまとめ送りで送ってもらってますが、これが
     multipart/digest という形式です。このまとめ送りメールを一通一通
     別々のファイルに落したいのですが、どうすればいいですか?

【A】 「mhn -store」でカレントメッセージの multipart を分割してファイルに
落す事が出来ます。multipart/digest の場合、分割された各メールはデフォルト
では、その元メールと同じフォルダーに落ちます (設定を変える事も可能。詳し
くは mhn のマニュアルを参照)。カレントメッセージ以外を分割したい場合は
「mhn -store +inbox 23」等、フォルダーやメッセージ番号を指定します。
  また、1パート目に Subject 一覧の text/plain が付いていて、この部分まで
ファイルに落す必要はないという場合は、「-type message/rfc822」オプション
をつければ、該当 MIME タイプのパートだけがファイルに落ちます。



【Q】 画像や他の OS 用のデータなどが BASE64 で添付されたメールが送られて
     きました。この部分だけデコードしてファイルに落したいのですが、どう
     すればいいでしょうか?

【A】 「mhn -store」でカレントメッセージをデコードしてファイルに落す事が
出来ます。画像等の場合、デコードされたファイルはデフォルトでは、カレント
ディレクトリに落ちます (設定を変える事も可能。詳しくは mhn のマニュアルを
参照)。カレントメッセージ以外をデコードしたい場合は「mhn -store +inbox 23」
等、フォルダーやメッセージ番号を指定します。
  なお、1パート目は text/plain の説明文で、2パート目の画像だけを落したいと
いう場合は「-part 2」オプションを指定するといいです。



【Q】 「From: foo@bar... (FOO BAR/ふ〜ば〜)」というような行を送ると、
     日本語部分だけでなく、「BAR/」の部分まで MIME encode されます。

【A】 仕様です。:-)  詳しくは FEATURES.JP を御覧下さい。「ふ〜ば〜」部分
だけを encode したい場合は。「From: foo@bar... (FOO BAR / ふ〜ば〜)」と
いうようにスペースを空けておくといいでしょう。



【Q】 個人用 PC-UNIX から MH を使って、プロバイダに POP 接続したいです。
     どう設定すればいいのでしょうか?

【A】 例えば…、

	メールアドレス:   username@mail.hogehoge.ne.jp
	POPサーバー:      pop.hogehoge.ne.jp
	SMTPサーバー:     smtp.hogehoge.ne.jp
	ニュースサーバー: news.hogehoge.ne.jp

という場合は、/usr/local/lib/mh/mtstailor (「/usr/local/lib/mh」の部分は
インストール時に変更可能)に、

	localname: mail.hogehoge.ne.jp
	pophost:   pop.hogehoge.ne.jp
	servers:   smtp.hogehoge.ne.jp
	nntphost:  news.hogehoge.ne.jp

と書くといいでしょう。bbc を使わないなら nntphost は設定しなくても OK です
し、localhost で sendmail デーモンを走らせていて、sendmail.cf をしっかり
設定している場合は servers は localhost のままでいいです。



【Q】 MH でプロバイダに接続してますが、localhost のユーザー名とプロバイダ
     のメールアドレスのユーザー名が異なります。

【A】 そのまま draft の From: 行にプロバイダのメールアドレスを打ち込んで
使えばいいです。ただ、これだと、Sender: 行に localhost のユーザー名が見え
てしまいますので、それが嫌なら、/usr/local/lib/mh/mtstailor に、

	mmailid: 1

と書き、/etc/passwd の自分のユーザー名の GECOS 欄を

	My Full Name <mailid>

にする方法があります (「mailid」がプロバイダのユーザー名)。詳細は
man mh-tailor を御覧下さい。

また、JP-3.04 以降なら、/usr/local/lib/mh/mtstailor に、

	localuser: 1

と書いておけば、自分の ~/.mh_profile に、

	Sendername: mailid

と書けます。詳細は man mh-profile を御覧下さい。
  なお、mtstailor の localuser の設定は、そのマシンの各ユーザーに自由に
他のユーザー名でメールを出させることが出来てしまうので、個人用マシン以外
では設定しない方がいいでしょう。

/* MH-plus project <mh-plus@ml.chem.eng.himeji-tech.ac.jp> */
