Info file: mew.jis.info,    -*-Text-*-
produced by `texinfo-format-buffer'
from file `mew.texi'
using `texinfmt.el' version 2.42 of  7 Jul 2006.

INFO-DIR-SECTION Message User Agent
START-INFO-DIR-ENTRY
* Mew-J: (mew.jis.info).     Messaging in the Emacs World.
END-INFO-DIR-ENTRY







File: mew.jis.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)

Mew マニュアル
**************

                                                              山本和彦
                                                       作成 1996/02/19
                                                       更新 2008/04/14

このマニュアルでは、Mew バージョン 6.1 について解説します。このマニュア
ルの他に、Mew に関する有益な情報は Mew の公式ホームページ
(http://www.Mew.org/)から得られるかもしれません。


* Menu:

* Overview::                    はじめに読んでね
* Viewing::                     メッセージを表示する
* Composing::                   メッセージを作成する
* Marks::                       愉快なマークたち
* Refile::                      楽々整理整頓
* Virtual::                     仮想フォルダ
* Quit::                        一休み
* Customize::                   カスタマイズ
* Tips::                        さらなる一歩
* Convention::                  メッセージの作法
* Implementation::              実装について
* Avail::                       入手方法とメーリングリスト
* Copyright::                   著作権について
* Variable Index::              変数索引
* Key Index::                   キー索引




File: mew.jis.info, Node: Overview, Next: characteristic, Prev: Top, Up: Top

はじめに読んでね
****************

Mew とは、テキスト・メールやマルチメディア・メール(MIME)、ニュース、セ
キュリティ機能(PGP、S/MIME、SSH、SSL)を便利に利用するためのユーザインター
フェイスです。最新の検索サービスとも連動します。

Mew は 「Messaging in the Emacs World」 の略です。先頭の M は大文字で表
記し、「みゅう」と読みます。M で始まるかわいらしい単語を選んだ結果 Mew
になりました。決して漫画の題名や某アイドルの歌、あるいは、関西の会社に
因んでいるわけではありません。:p

* Menu:

* characteristic::             Mew の特長
* Emacsen::                    Emacs のバージョン
* modes::                      モード
* folder convention::          フォルダの種類
* configuration::              初期設定
* password::                   パスワード
* start::                      起動




File: mew.jis.info, Node: characteristic, Next: Emacsen, Prev: Overview, Up: Overview

Mew の特長
==========

Mew バージョン 6.1 の特長を以下に示します。

   - 複雑な構造を持つメッセージを簡単に表示できます。メッセージを表示す
     る作業は、`SPC' を押すだけです。

   - コピー程度のファイルの操作を知っている人ならだれでも簡単に複雑なメッ
     セージを作成できます。

   - メッセージの一覧表示が終了するまで待たなくても、メッセージを読み始
     められます。

   - Summary モードのメッセージの一覧を保存しているので、フォルダを移動
     した場合は、更新された部分だけを一覧表示します。

   - メッセージの整頓先を賢く推測します。たくさんメッセージを受け取る人
     は、これがないと生きていけません。

   - Draft モードでは、フィールド名、メールアドレス、氏名、ドメイン名、
     フォルダ名を補完できます。

   - キーワードなどによって、探したいメッセージを簡単に検索できます。

   - PGP や S/MIME で暗号化されたメッセージを自動的に復号化します。また、
     電子署名を自動的に検証します。

   - PGP や S/MIME を使って、メッセージを簡単に暗号化したり、署名したり
     できます。

   - MIME の構造を解析したり、PGP や S/MIME の署名を検証したりするのに
     は少し時間がかかります。そこで、ユーザがあるメッセージを読んでいる
     間に、次のメッセージをあらかじめ処理しておくことで高速性を実現して
     います。解析されたメッセージは、しばらくの間保存されます。

   - 複数のフォルダを 1 つのフォルダに見せかけられます。

   - メッセージのやり取りの流れを可視化するセレクションやスレッドの機能
     を備えています。特定のキーワードに合致したメッセージでセレクション
     を作り、さらにそのスレッドを作成できます。

   - フォルダ名を入力する場合、フォルダ名の一部をキーとして検索できます。





File: mew.jis.info, Node: Emacsen, Next: modes, Prev: characteristic, Up: Overview

Emacs のバージョン
==================

Emacs 21.4 以降を使って下さい。これらより前のバージョンや XEmacs は、サ
ポートしていません。




File: mew.jis.info, Node: modes, Next: folder convention, Prev: Emacsen, Up: Overview

モード
======

Mew には次の 6 つのモードがあります。

`Summary モード'
     メッセージの一覧を表示し選択するモード。
`Virtual モード'
     単数あるいは複数のフォルダからある条件に合致したメッセージを取り出
     し、仮想的に 1 つのフォルダにしたモード。Summary モードに似ている。
     セレクションやスレッドと呼ばれる。
`Message モード'
     メッセージの内容を表示するモード。
`Draft モード'
     メッセージの送信、返答、転送を準備するためのモード。
`Header モード'
     既存のメッセージのヘッダのみを編集し送信するためのモード。
`Addrbook モード'
     アドレス帳にエントリを登録するためのモード。




File: mew.jis.info, Node: folder convention, Next: configuration, Prev: modes, Up: Overview

フォルダの種類
==============

Mew の用語では、メッセージが届く場所を「メールボックス」と呼びます。メー
ルボックスの種類としては、ローカルのメールボックス、POP サーバ、IMAP サー
バ、および NNTP サーバがあります。

また、Mew 自身がメッセージを格納する箱のことを「フォルダ」と呼びます。
フォルダ名は、一文字の記号からなる修飾子と文字列が連結された形式になっ
ています。たとえば、「+inbox」というフォルダの修飾子は「+」です。

Mew のフォルダには、「ローカル・フォルダ」と「リモート・フォルダ」の 2
種類があります。

ローカル・フォルダとは、Mew が動いているコンピュータに「本物」が作られ
るフォルダです。そのフォルダに格納されるメッセージも本物です。(ですから、
もしそのフォルダのメッセージを消してしまうと復元できません。)

ローカル・フォルダの修飾子は "+" です。以下に特殊なローカル・フォルダを
挙げます。

`+inbox'
     ローカルのメールボックスや POP サーバに届いたメッセージを、ローカ
     ルに移動させて最初に保存するためのローカル・フォルダ。メッセージを
     整理する場合は、"+inbox" から他のローカル・フォルダに移動させるこ
     とになる。
`+draft'
     書きかけのメッセージを保存しておくローカル・フォルダ。
`+queue'
     書き終ってメールの配送に適した書式に変換されたメッセージが溜るロー
     カル・フォルダ。"+queue" のメッセージは、いずれ SMTP によって送信
     さる。
`+postq'
     書き終ってニュースに投稿するのに適した書式に変換されたメッセージが
     溜るローカル・フォルダ。"+postq" のメッセージは、いずれ NNTP によっ
     て送信される。

リモート・フォルダとは、サーバ側にあるフォルダをローカルにコピーしたも
のです。本物のメッセージはあくまでサーバ側にあり、ローカルにはメッセー
ジのコピーがキャッシュされます。

利用できるリモート・フォルダの修飾子を以下に示します。

`%'
     IMAP のフォルダ。例："%inbox"
`$'
     POP サーバのサーバ側のフォルダ。例："$inbox" (POP サーバのフォルダ
     は 1 つしかないので、"$" で始まるリモート・フォルダは "$inbox" の
     み。)
`-'
     ニュースのニュースグループ。例："-fj.mail.reader.mew"

サーバが異なれば、リモート・フォルダの実体も異なります。複数のサーバは、
ケースという機能を使って指定します。詳しくは、*Note config:: を参照して
下さい。あるケースに対するリモート・フォルダは、"case:folder" のように、
フォルダ名の前にケース名を付けて指定します。ケースが "default" である場
合は、"case:" の部分を省略可能です。

ケースと修飾子の組は、あるメッセージが属す世界を構成しています。メッセー
ジは、それが属す世界の中を移動できます。受け取ったメッセージは、後で探
しやすいように、適切なフォルダに移動させて保存します。この整頓の方法に
ついて、*Note Refile:: を参照して下さい。

なお、POP サーバには "$inbox" というフォルダしかありませんから、"$" の
世界でメッセージを移動させることはできません。また、ニュースの記事は自
分のものではありませんから、"-" の世界でもメッセージの移動は不可能です。

世界を超えてメッセージを移動させたい場合は、コピーします。ただし、コピー
先はローカル・フォルダに限定されます。この方法は、*Note retrieving:: で
説明されています。

フォルダのリストを作成しておくと、フォルダ名に対し補完が利用できて便利
です。フォルダのリストを作成する方法は、*Note status-update:: を参照し
て下さい。




File: mew.jis.info, Node: configuration, Next: password, Prev: folder convention, Up: Overview

初期設定
========

Mew を起動するには、組織の設定ファイルか自分の "~/.emacs" に以下の設定
が必要です。

     (autoload 'mew "mew" nil t)
     (autoload 'mew-send "mew" nil t)

     ;; Optional setup (Read Mail menu for Emacs 21):
     (if (boundp 'read-mail-command)
         (setq read-mail-command 'mew))

     ;; Optional setup (e.g. C-xm for sending a message):
     (autoload 'mew-user-agent-compose "mew" nil t)
     (if (boundp 'mail-user-agent)
         (setq mail-user-agent 'mew-user-agent))
     (if (fboundp 'define-mail-user-agent)
         (define-mail-user-agent
           'mew-user-agent
           'mew-user-agent-compose
           'mew-draft-send-message
           'mew-draft-kill
           'mew-send-hook))

Latin-1 のために、Emacs を --unibyte オプション付で起動しているか、環境
変数 EMACS_UNIBYTE と共に起動している場合、以下の設定を "~/.emacs" に入
れて下さい。

     (set-language-environment "Latin-1")
     (set-input-method "latin-1-prefix") ;; or "latin-1-postfix"

Latin-1 のために、以下のような設定をしているなら、削って下さい。これは
Latin-1 にカスタマイズするための方法としては推奨されていませんし、この
設定では Mew は正しく動きません。

     (standard-display-european 1)

Mew は起動時に、"~/.mew.el" を読み込みます。Mew に関する設定は、このファ
イルに入れるとよいでしょう。

メールアドレスを指定するために、以下の設定が必要です。

     ;; (setq mew-name "your name") ;; (user-full-name)
     ;; (setq mew-user "user name of e-mail address") ;; (user-login-name)
     (setq mew-mail-domain "domain of e-mail address")

SMTP を使ってメッセージを送信するためには、以下の設定が必要です。

     (setq mew-smtp-server "your SMTP server")  ;; if not localhost

POP を使ってメッセージを受信する場合は、以下の設定が必要です。

     ;; (setq mew-pop-user "your POP account")  ;; (user-login-name)
     (setq mew-pop-server "your POP server")    ;; if not localhost

メッセージの受信にローカルのメールボックスを利用したい場合は、以下のよ
うな設定が必要です。

     ;; To use local mailbox "mbox" or "maildir" instead of POP
     (setq mew-mailbox-type 'mbox)
     (setq mew-mbox-command "incm")
     (setq mew-mbox-command-arg "-u -d /path/to/mbox")
     ;; If /path/to/mbox is a file, it means "mbox".
     ;; If /path/to/mbox is a directory, it means "maildir".

IMAP を使ってメッセージを受信する場合は、以下の設定が必要です。

     (setq mew-proto "%")
     ;; (setq mew-imap-user "your IMAP account")  ;; (user-login-name)
     (setq mew-imap-server "your IMAP server")    ;; if not localhost

ニュースを読み書きする場合は、以下の設定が必要です。

     ;; (setq mew-nntp-user "your NNTP account")
     (setq mew-nntp-server "your NNTP server")




File: mew.jis.info, Node: password, Next: start, Prev: configuration, Up: Overview

パスワード
==========

メッセージを送受信したり、PGP や S/MIME を使ったりする場合には、パスワー
ドを訊かれることがあります。パスワードを入力する前に以下の条件のどちら
かが満たされていることを確認しましょう。

   - Emacs が目の前のコンピュータで動いている
   - Emacs が遠隔のコンピュータで動いているが、なんらかの暗号手段を使っ
     て通信している。

どちらの条件も満たされない場合は、パスワードを入力しないで下さい。入力
すると盗聴される恐れがあります。

パスワードを何回も入力するのが面倒な人は、パスワードを保存する機能を利
用して下さい。2 つの方法があります。

  1. パスワードをメモリに一時的に蓄える。ファイルには書き出さない。
  2. パスワードをメモリに Mew が起動している間中蓄える。Mew/Emacs の終
     了時に、パスワードを暗号化しファイルに書き出す。

1. の機能を利用するには、以下のように設定します。

     (setq mew-use-cached-passwd t)

2. の機能を利用するには、GnuPG をインストールした後、以下のように設定し
ます。

     (setq mew-use-master-passwd t)

両方の変数が `t' の場合、2. の機能が利用されます。

1. の機能：あらゆるパスワード(POP、PGP など)が一時的にメモリに保存され
ます。パスワードが保存されている間は、パスワードの入力を省略できます。
保存されているパスワードは一定時間(通常は 20 分)が過ぎると消去されます。
ただし、保存されているパスワードが内部で利用されると、保存期間が延長さ
れます(20 分に戻ります)。

2. の機能：Mew の起動時に、マスターパスワードを訊かれます。Mew はそのマ
スターパスワードで、暗号化されているパスワードを復号化し、メモリに蓄え
ます。たとえば、以前 POP のパスワードを入力していれば、それがメモリに蓄
えられていますから、次に POP のパスワードが必要な際、POP のパスワードの
入力を省略できます。はじめてマスターパスワードを利用する際は、確認のた
めマスターパスワードを 2 回訊きます。また、たとえば POP のパスワードも
1 回だけ入力するように促されます。Mew の起動時に、間違ったマスターパス
ワードを入力することもあるでしょう。その場合、1. の機能を有効にしている
なら、1. の機能が使われます。有効でなければ、パスワードの保存機能は利用
されません。

マスターパスワードを変更するには、Summary モードで `C-cC-m' と入力しま
す。

メモリに保存されているパスワードは、暗号化されていません。そこで、1. ま
たは 2. の方法を使う場合は、他の人に自分が起動した Emacs を触られないよ
うに気をつけて下さい。もし席を空け、Emacs をよく知っている他の人に
Emacs を操作された場合、パスワードを盗み取られる可能性があります。




File: mew.jis.info, Node: start, Next: Viewing, Prev: password, Up: Overview

起動
====

Mew を起動するには、以下の方法があります。

`M-x mew'
     Mew が起動していなければ、まず Mew を起動する。そして、メッセージ
     を取得するか、あるいは単にデフォルトのフォルダへ移動する。

     まず、「修飾子」は `mew-proto' とケースから決定される。(*Note
     config:: を参照)

     「修飾子」が `+'(ローカル・フォルダ)なら、`mew-mailbox-type' から
     メールボックスが決定される。(*Note retrieving:: を参照) その他、す
     なわちリモート・フォルダなら、メッセージを取得するためのプロトコル
     が修飾子に応じて決る。

     `mew-auto-get' が `t' なら、到着したメッセージが非同期に取得され、
     Summary モードへ一覧表示される。

     `mew-auto-get' が `nil' なら、修飾子によって決定したデフォルトのフォ
     ルダへ単に移動する。
`C-uM-x mew'
     `mew-auto-get' の値を逆だと考えて、`M-x mew' を実行する。
`C-xm'
     `mail-user-agent' が設定されている場合、Draft モードへ移行する。

Emacs で Mew を起動すると可愛い 2 匹の子が猫現れます。

なお、Mew を終了する方法は、*Note Quit:: を参照して下さい。




File: mew.jis.info, Node: Viewing, Next: singlepart, Prev: start, Up: Top

メッセージを表示する
********************

(Mew が起動中でも、起動中ではなくても) `M-x mew' と入力すると、Mew はメッ
セージを以下のように一覧表示します。

     * 03/12 Hidenori Ohta  今週末                    |日曜にストーンマジック
      M03/14 ももちゃん     能登の写真                |この前撮った写真を添付
       03/15 Neat Sumikawa  Re: ワイン                |じゃぁ、水曜日に例の店

これを Summary モードといいます。ここでは、主に Summary モードでのメッ
セージの読み方について説明します。

上記の例のように Summary モードは、マーク、データ型(Mew が付けるマーク)、
日付、差出人、Subject:、本文から構成されています。

Summary モードを消去する方法については、*Note Quit:: を参照して下さい。

* Menu:

* singlepart::                  読み方の基礎
* multipart::                   MIME を表示する
* analysis::                    MIME の解析を制御する
* cipher-viewing::              暗号メールや電子署名を表示する
* retrieving::                  メッセージの取得
* moving::                      フォルダの移動
* sum-write::                   送信、返答、転送
* features::                    便利な機能
* status-update::               状態の更新
* invalid::                     規格違反のメッセージ



File: mew.jis.info, Node: singlepart, Next: multipart, Prev: Viewing, Up: Viewing

読み方の基礎
============

メッセージを上から順に読んでいくのであれば、`SPC' を適宜押すだけです。
簡単でしょ？

しかしそれだけではあんまりなので、以下にページを操作する基本的なコマン
ドを示します。

`SPC'
     メッセージを読み進める。つまり、メッセージを表示し、スクロールさせ、他の
     メッセージに移動して表示する。カーソルが移動する方向は、
     *Note summary-mode:: を参照のこと。
`C-uSPC'
     メッセージを先頭から再表示。
`DEL'
     現在のメッセージを下にスクロールさせる。不必要なヘッダフィールドは、
     ウインドウの上に隠れている。よって、`DEL' を入力すると、それらが現
     れる。
`RET'
     現在のメッセージを 1 行上にスクロールする。
`M-RET'
`-'
     現在のメッセージを 1 行下にスクロールする。

`C-n'
     下の行へ移動。
`C-p'
     上の行へ移動。
`n'
     下方向に移動し表示。対象となるのは、パート、`*' マークの付いたメッ
     セージ、マークの付いていないメッセージ。
`C-un'
     下方向に移動し表示。対象となるのは、`*' マークの付いたメッセージ、
     マークの付いていないメッセージ。
`p'
     上方向に移動し表示。対象となるのは、パート、`*' マークの付いたメッ
     セージ、マークの付いていないメッセージ。
`C-up'
     上方向に移動し表示。対象となるのは、`*' マークの付いたメッセージ、
     マークの付いていないメッセージ。
`j'
     入力された行番号に従ってその行へ移動。
`C-uj'
     入力されたメッセージの番号に従ってその行へ移動。



File: mew.jis.info, Node: multipart, Next: analysis, Prev: singlepart, Up: Viewing

MIME を表示する
===============

マルチパートを読むのは別に大変なことではありません。今まで通り、
`SPC' を押していけばよいだけです。

マルチパートのメッセージは、以下のように日付の左に `M' というマークが付
いています。

     * 03/12 Hidenori Ohta  今週末                    |日曜にストーンマジック
      M03/14 ももちゃん     能登の写真                |この前撮った写真を添付
       03/15 Neat Sumikawa  Re: ワイン                |じゃぁ、水曜日に例の店

`M' マークの付いたメッセージで `SPC' を押すと、ヘッダを Message モード
に表示すると共に、以下のように Summary モードでマルチパートの構造を簡素
に表示します。

     * 03/12 Hidenori Ohta  今週末                    |日曜にストーンマジック
      M03/14 ももちゃん     能登の写真                |この前撮った写真を添付
     B    2  Image/Jpeg                   写真1                    noto1.jpg
     Q    3  Application/Postscript       能登の地図               map.ps
       03/15 Neat Sumikawa  Re: ワイン                |じゃぁ、水曜日に例の店

もし、パート 1 が Text/ なら、Summary モードにはパート 1 は可視化されず、
そのかわりパート 1 がヘッダと共に Message モードに表示されます。

マルチパートの各行は

   - マーク (Content-Transfer-Encoding:)
   - パート番号
   - データ型 (Content-Type:)
   - 説明 (Content-Description:)
   - ファイル名 (Content-Disposition:)

から構成されています。Content-Description: はパートに対する Subject: と
考えていいでしょう。この表示は Draft モードの添付領域とほとんど同じです。

`SPC' や `n' でパート 2 へ進めば、そのパートがデータ型に応じて
表示されます。たとえば、Text/Plain なら Message モードで、PostScript な
ら "ghostview" で表示されます。

`n' や `p' は、パート部分まで含んだ行を移動することに注意して下さい。パー
ト部分を飛ばして下のメッセージを表示するには `C-un' と入力して下さい。
また、パート部分を飛ばして 1 つ上のメッセージを表示するには `C-up' と入
力して下さい。

Mew は、MIME を再帰的に処理します。以下は転送されたマルチパートのメッセー
ジの例です。

      M03/15 かずくん       Fw: 能登の写真            |写真が送られてきたので
          2  Message/Rfc822               能登の写真
     B    2.2  Image/Jpeg                   写真1                  noto1.jpg
     Q    2.3  Application/Postscript       能登の地図             map.ps

(メモ) テキスト以外のデータを、シングルパートとしてメッセージに格納する
のは、書式としては間違いではありませんが、お勧めできません。マルチパー
トを作成し、そのパート 1 に説明のテキストを、パート 2 にテキスト以外の
データを入れる作法をお勧めします。

テキスト以外のデータが本文に直接格納されているメッセージに対し、Mew は
これをあたかもマルチパートのように表示します。

このように MIME の構造は複雑になりうるので、解析するのには時間がかかる
場合があります。しかし、Mew は次に読まれるメッセージを予想し、ユーザが
現在のメッセージを読んでいる間に、次のメッセージをあらかじめ解析してお
くことで高速性を実現しています。解析されたメッセージは、しばらくの間保
存されます。

メッセージの終りの部分がはっきりと分かるように、Mew はメッセージの最後
に "[End of message]" という文字列を表示します。また、パートの終りでは、
[Message is continued]" という文字列を表示します。これらの文字列はそれ
ぞれ、`mew-end-of-message-string' と `mew-end-of-part-string' で指定で
きます。



File: mew.jis.info, Node: analysis, Next: cipher-viewing, Prev: multipart, Up: Viewing

MIME の解析を制御する
=====================

メッセージの解析を制御するために、以下の変数が用意されています。

`mew-file-max-size'
     解析するメッセージの大きさの上限。メッセージの大きさがこの値以下な
     ら、解析し表示する。越えているなら、解析せずに生のまま表示する。初
     期値は 100000 バイト。
`mew-header-max-length'
     解析するメッセージのヘッダ長の上限。ヘッダの行数がこの値以下なら、
     メッセージを解析して表示する。越えているなら、解析を途中で止めてメッ
     セージを壊れた形で表示する。初期値は 100 行。
`mew-decode-broken'
     規格違反のメッセージを解析する際に、寛容になるか否か。`t' なら寛容
     に、`nil' なら厳密に解析する。寛容に解析する際に規格違反があった場
     合は、X-Mew: フィールドに表示する。初期値は `t'。
`mew-use-text-body'
     本文のテキストをヘッダと同時に表示するか否か。`t' なら、本文がシン
     グルのテキスト、および、本文がマルチパートで最初のパートがテキスト
     の場合、そのテキストをヘッダと同時に表示する。`nil' の場合は、マル
     チパート内のパートのように表示する。初期値は `t'。
`mew-use-alternative'
     Multipart/Alternative の取り扱い。`t' なら、
     `mew-mime-multipart-alternative-list' の優先順位に従って、1 つのパー
     トを表示する。`nil' なら、通常のマルチパートとして表示する。初期値
     は `t'。
`mew-use-text/html'
     Text/Html の取扱い。`nil' の場合は HTML を解析せずに表示。それ以外
     なら HTML を解析して表示。初期値は `nil'。
`mew-use-text/xml'
     Text/Xml の取扱い。`nil' の場合は XML を解析せずに表示。それ以外な
     ら XML を解析して表示。初期値は `nil'。

これらの変数に関する基本的なコマンドは、`.' です。このコマンドは、以下
のように動きます。

1) このコマンドがメッセージ上で実行されると、そのメッセージのキャッシュ
が削除され、メッセージが解析されて再表示されます。

1a) もし現在のメッセージの大きさが `mew-file-max-size' を越えているなら、
MIME は解析されず、そのまま表示されています。この場合、このコマンドはこ
の上限に関わらずに現在のメッセージを解析し、再表示します。

1b) もし現在のメッセージのヘッダ長が `mew-header-max-length' を越えてい
るなら、メッセージが壊れたように表示されています。この場合、このコマン
ドはこの上限に関わらずに現在のメッセージを解析し、再表示します。

1c) もし現在のメッセージが `:' で表示されているなら、マルチパートの構造
は、通常とは違うように表示されています。この場合、このコマンドはマルチ
パートの構造を通常と同じように再表示します。

1d) もし `mew-use-text/html' が `nil' なら、HTML は解析されず、そのまま
表示されています。この場合、このコマンドは HTML を解析し、再表示します。

2) もしこのコマンドがパート上で実行された場合、そのパートが再表示されま
す。

2a) もし `mew-use-text/html' が `nil' なら、HTML は解析されず、そのまま
表示されています。この場合、このコマンドは HTML を解析し、再表示します。

`.' 以外にも、以下のような便利なコマンドがあります。

`.'
     メッセージを解析し、再表示する。
`C-u.'
     `mew-decode-broken' を逆にしてメッセージを解析し直す。
     *Note invalid:: を参照のこと。
`:'
     `mew-use-alternative' と `mew-use-text-body' を反転させた
     `.'.
`C-u:'
     `mew-use-alternative' と `mew-use-text-body' を反転させた
     `C-u.'.
`,'
     現在のメッセージやパートを生の書式で Message モードに表示する。
`C-cTAB'
     メッセージ全体をファイルとして read only で開く。
`C-uC-cTAB'
     メッセージ全体をファイルとして開く。



File: mew.jis.info, Node: cipher-viewing, Next: retrieving, Prev: analysis, Up: Viewing

暗号メールや電子署名を表示する
==============================

今までと同様 `SPC' などを利用することで、Mew では暗号化や電子署名を施さ
れたメッセージを簡単に表示できます。まず、簡単な例から紹介しましょう。

      S03/18 神田パソコン館 見積書                    |先日承りましたノートPC
      E03/21 匿名希望       秘密のメール              |

上記のメッセージには、それぞれ `S' マークと `E' マークが付いています。
これはそれぞれ、本文全体が署名されている、および、暗号化されていること
を意味します。

PGP/MIME や S/MIME では、一部のパートに電子署名を施したり、暗号化したり
できます。この場合このようなマークは付きません。`S' マークや
`E' マークが付くのは、本文全体が対象になっている場合です。

また、単に署名や暗号化といいましたが、これは最終的な処理が署名や暗号化
であったことを意味しています。やや複雑な話になりますが、もしかすると前
者は本文全体を暗号化した後、署名したのかもしれませんし、後者は一部のパー
トに署名し、さらに全体を暗号化している可能性もあります。

本文全体、あるいは、一部のパートが暗号化されている場合、Mew はパスフレー
ズを訊いてきます。パスフレーズを入力する際の注意事項については、*Note
start:: を参照して下さい。入力されたパスフレーズは、あなたの秘密鍵を復
号化するのに使われます。そして、復号化された秘密鍵によって、暗号化され
ているメッセージを解くわけです。

暗号メッセージを表示するには、暗号化された数だけパスフレーズを入力する
必要があります。これは Mew が安全を期して、通常パスフレーズを保存しない
からです。もしこれがわずらわしいなら、Mew にパスフレーズを保存させるこ
とも可能です。詳しくは、*Note password:: を参照して下さい。

パスフレーズを保存しない通常の設定でも、一旦復号化されたメッセージはし
ばらく保存されるので、2 回目の表示にはパスフレーズを訊かれないかもしれ
ません。

一方、通信相手の署名を検証するためには相手の公開鍵が利用できればよいの
で、パスフレーズを訊かれることはありません。

Mew は自動的に電子署名を検証したり、入力されたパスフレーズを使って暗号
メッセージを復号化したりして、元のメッセージを表示します。そこで、ユー
ザが署名の存在に気づかないかもしれませんし、どの部分が暗号化されていた
のか分からないかもしれません。

そこで、検証の結果やどの部分が暗号化されているかをユーザに通知するため
に、Mew は以下のようにヘッダに X-Mew: フィールドを挿入します。

     X-Mew: <body> PGP decrypted.
            Good PGP sign "kazu@example.org" COMPLETE

"<>" 内の番号は、どのパートの結果であるかを示しています。"body" は、メッ
セージの本文全体が保護されていることを意味します。この例では、メッセー
ジ全体が kazu によって署名され、受信者のために暗号化されています。Mew
はまずこれを復号化し、そして署名を検証しています。署名は正しいので、
kazu@example.org という ID の付いた秘密鍵で署名されたときから、内容は変
更されていないと分かります。この署名の検証に使われた公開鍵の「有効性」
は "complete" です。よって、受信者はこの公開鍵が ID が示すユーザに属し
ていると信頼していることになります。つまり、このメッセージは信頼をおい
ている公開鍵によって検証され結果が正しいので、改竄されていないというこ
とになります。

以下の例では、まずマルチパートである本文全体の電子署名が検証され、その
後パート 2 のメッセージ全体が復号化されています。つまり、作成時には、ま
ずパート 2 が暗号化され、そして本文全体が署名されたことが分かります。

     X-Mew: <body multi> Good PGP sign "kazu@example.org" COMPLETE
     X-Mew: <2 message> PGP decrypted.

するどい人なら、悪い人があらかじめ X-Mew: フィールドを挿入しておき、あ
なたをだますかもしれないと思うかもしれません。でも大丈夫です。Mew は、
ヘッダにある X-Mew: をあらかじめ削り、本物の X-Mew: フィールドを挿入し
ますから。

PGP/MIME について：

X-Mew: フィールドは他にもさまざまな結果を伝えてくれます。たとえば、署名
を検証するための公開鍵がないとか、復号化に失敗したなどです。以下の例は、
鍵 ID が 0x1B8BF431 である公開鍵がないことを示しています。

     X-Mew: <body multi> No his/her public key. ID = 0x1B8BF431

この場合、`C-cC-f' と入力すると、Mew はこの公開鍵の入手を試みます。その
際、公開鍵サーバを選択できます。もし、X-Mew: フィールドがない場合は、
`C-cC-f' は From: を ID と考えます。また、`C-uC-cC-f' は、X-Mew: フィー
ルドに加えて `mew-x-pgp-key-list' に指定されたフィールドも鍵 ID を切り
出す対象とし、公開鍵の入手を試みます。

Mew では PGPv2、PGPv5、GNUPG に対応しています。これらは Summary モード
において、`C-cC-v' で切替え可能です。これら複数の PGP を使いたい人は
`mew-prog-pgp2'、`mew-prog-pgp5'、`mew-prog-gpg' に対し、それぞれ
PGPv2、PGPv5、GNUPG のコマンド名を設定して下さい。また、Mew の起動直後
に利用する PGP のコマンド名を `mew-prog-pgp' に設定して下さい。なおパス
フレーズは、それぞれの PGP に対し独立に保存されます。

なお昔ながらの PGP メッセージは、自動的に処理できません。このような
PGP メッセージに対しては、`C-cC-z' で復号化や署名の検証ができます。



File: mew.jis.info, Node: retrieving, Next: moving, Prev: cipher-viewing, Up: Viewing

メッセージの取得
================

メールボックスへ到着したメッセージを +inbox へコピーし一覧表示するには、
`i' を使います。コピー元のメールボックスは `mew-mailbox-type' によって
決ります。(`M-x mew' を実行した際に、`mew-proto' が `+' の場合も、
`mew-mailbox-type' に従ってメッセージがコピーされます。) 以下に取りうる
値を示します。

`'mbox'
     ローカルのメールボックス。デフォルトでは "incm" という外部コマンド
     を使い、メッセージを取得する。設定方法は、*Note configuration:: を
     参照のこと。
`'pop'
     POP サーバ。POP を POP らしく使う方法。(初期値)
`'imap'
     IMAP サーバ。IMAP らしくない利用方法なので、推奨されていない。

ローカル・フォルダでメッセージの一覧を再表示するには、`s' を使います。

リモート・フォルダでメッセージを取得、あるいは再取得する場合にも `s' を
使います。IMAP やニュースでは、`i' は利用せず、`s' を使うのが一般的です。

`s' を使うと範囲を訊いてきます。Mew で重要な範囲の意味を以下に示します。

`update'
     「Summary モードの最後のメッセージの次」から「フォルダ内の最後のメッ
     セージ」まで。つまり、Summary モードと実際のフォルダ内のメッセージ
     の差分。
`all'
     フォルダ内のメッセージすべて。ローカル・フォルダでは、Summary モー
     ドの表示がおかしくなったときに、内容を一新するために用いる。リモー
     ト・フォルダでは、すべてのメッセージの再取得。
`sync'
     あるリモート・フォルダに対し、サーバ側では消えたメッセージのキャッ
     シュを削除する。リモート・フォルダに対してのみ有効。

+draft、+queue、+postq では、デフォルトの範囲は `all' となっています。
それ以外のフォルダでは、デフォルトの範囲が `update' となっています。で
すから、+draft、+queue、+postq 以外では、`s' の後に `RET' を押すだけで、
現在のフォルダに対し最新の一覧を得られることになります。

Mew ではあまり重要ではありませんが、以下の範囲も指定できます。

`<num1>-<num2>'
     <num1> から <num2> まで。ローカル・フォルダに対してのみ有効。
`<num1>-'
     <num1> から最後まで。ローカル・フォルダに対してのみ有効。
`-<num2>'
     最初から <num2> まで。ローカル・フォルダに対してのみ有効。
`last:<num>'
     最後の <num> 個。

リモート・フォルダで `s' を `C-u' 付きで呼び出すと、「ヘッダのみのコ
ピー」と「ヘッダと本文の両方のコピー」を反転できます。これらの動作は、
POP、IMAP、NNTP に対し、それぞれ `mew-pop-header-only'、
`mew-imap-header-only'、`mew-nntp-header-only' で定義でき、初期値はすべ
て `nil' です。つまり、初期値は「ヘッダと本文の両方のコピー」になってい
ます。

サイズが大きなメッセージは、全体ではなく一部が取得されているかもしれま
せん。このようなメッセージには、`T' マークがついています。このメッセー
ジの全体を取得するには、そのメッセージ上で `I' と入力します。

たとえば、$inbox に `T' マークのついたメッセージがあるとしましょう。こ
のメッセージの上で `I' を押すと、メッセージの全体が取得できます。

メッセージの取得に関するコマンドを以下にまとめます。

`i'
     ローカル・フォルダでは、+inbox フォルダに移動し、到着したメッセージを取
     得して一覧を表示する。`mew-auto-flush-queue' が `t' なら、
     +queue にあるメッセージを送信する。詳しくは、*Note send:: を参照のこと。
     リモート・フォルダでは、そのデフォルトのフォルダに移動し、`s' +
     `update' を実行する。
`C-ui'
     `mew-auto-flush-queue' の値を逆だと思って、`i' を実行する。
`I'
     `T' マークの付いている一部だけが取得されたメッセージの全体を取得す
     る。

     ローカル・フォルダで実行した場合、ケースと `mew-mailbox-type' によ
     り取得方法が決る。`mew-pop-delete' または `mew-imap-delete' の値が
     `t' なら、メールボックスのメッセージを削除する。

     リモート・フォルダで実行した場合、ケースと取得方法はそのフォルダか
     ら決る。サーバ側のメッセージは常に保存される。
`C-uI'
     `mew-pop-delete' または `mew-imap-delete' を逆転させて `I' を実行
     する。
`s'
     フォルダの一覧を取る。
`C-us'
     リモート・フォルダにおいて、「ヘッダのみのコピー」と「ヘッダと本文
     の両方のコピー」を反転させて、一覧を取る。
`lc'
     リモート・フォルダのメッセージをローカル・フォルダへコピーする。



File: mew.jis.info, Node: moving, Next: sum-write, Prev: retrieving, Up: Viewing

フォルダの移動
==============

フォルダの移動には `g' を入力して下さい。以下のようにフォルダ名を訊かれ
ます。

     Folder name (+inbox): +

":" の右側を編集可能領域と呼ぶことにしましょう。この例では、編集可能領
域に修飾子 "+" が表示されています。修飾子に続けて任意の文字列を入力し、
`RET' を押せば、フォルダ名が決定されたことになり、そのフォルダへ移動し
ます。

フォルダを移動した際に Summary モードの一覧が古いと判断した場合は、自動
的に差分が追加表示されます。

"()" 内がデフォルトのフォルダです。単に `RET' を押し "+" を入力すると、
デフォルトのフォルダを入力したものとして扱われます。

補完を利用するには、`TAB' や `SPC' を押して下さい。

さて、話を `g' を押した直後に戻しましょう。

     Folder name (+inbox): +

たとえば、"+" を "%" に変更するには、通常なら "+" を削り、"%" を入力す
る必要があります。これでは面倒なので、"+" の後で "%" を入力すると、"+"
が "%" に置き換わるようになっています。このように、修飾子の直後で他の修
飾子を入力すれば、削る作業をせずに置き換え可能です。

リモート・フォルダを入力する場合、*Note config:: で説明するケースを指定
したい場合もあるでしょう。ケースは、フォルダ名の前に ":" で区切って入力
します。たとえば、"home" というケースの "%inbox" に移動したいとしましょ
う。このとき、"home:%inbox" と入力する必要があります。しかしこれは面倒
なので、任意の場所で `C-cTAB' を押すと利用可能なケースが、フォルダ名の
前に循環的に補完されます。次の例を考えて下さい。

     Folder name (+inbox): %inbox

ここで `C-cTAB' を入力すると、以下のようになります。

     Folder name (+inbox): home:%inbox

フォルダ名の一部を指定して、フォルダを検索したいこともあるでしょう。こ
の場合には、前方検索の `C-s' か後方検索の `C-r' が利用できます。以下は、
`C-s' を押したときのミニバッファの状態です。

     Folder name (+inbox): ()

編集領域に現れた "()" が、検索モードに移行したことを表わしています。こ
こで文字を入力していくと、マッチした候補が "()" の中に表示されます。以
下は "mew" で検索したときの例です。

     Folder name (+inbox): (+work/mew-release) mew

候補を確定する際には、`RET' を入力して下さい。そうすると検索モードを抜
けて、編集領域にこの候補が表示されます。

     Folder name (+inbox): +work/mew-release

さらに `RET' を押せば、このフォルダが入力されたことになります。

検索対象となるフォルダの一覧は、ケースと修飾子の組で決定されます。
`C-s' や `C-r' で検索モードに移るときに編集領域にある文字列から、ケース
と修飾子が切り出され、フォルダの一覧が決定される訳です。



File: mew.jis.info, Node: sum-write, Next: features, Prev: moving, Up: Viewing

送信、返答、転送
================

メッセージの送信、返答、転送には、以下のコマンドを使います。

`w'
     メッセージを書く。新しい草稿が Draft モードに用意される。
     *Note Composing:: を参照のこと。
`C-uw'
     メッセージを書く。新しい草稿が Draft モードに用意される。現在のメッ
     セージの From: にあるアドレスが、草稿の To: へコピーされる。
`W'
     あるメッセージのヘッダの一部だけを編集しメッセージを送信するために
     Header モードに入る。*Note resend:: を参照のこと。
`a'
     現在のメッセージに返答する。Draft モードに草稿が用意され、To: や
     Cc: が自動的に決定される。*Note reply:: を参照のこと。
`C-ua'
     現在のメッセージに対し送信者宛に返答する。
`A'
     現在のメッセージに返答する。Draft モードに草稿が用意され、To: や
     Cc: が自動的に決定された後、本文が引用される。*Note reply:: を参照
     のこと。
`C-uA'
     現在のメッセージに対し、引用付きで送信者宛に返答する。
`f'
     現在のメッセージを第 3 者に転送する。Draft モードに草稿が用意され、
     現在のメッセージが自動的に添付される。*Note forward:: を参照のこと。
`F'
     `*' マークの付いたメッセージを第 3 者に転送する。Draft モードに草
     稿が用意され、`*' マークの付いたメッセージが自動的に添付される。詳
     しくは *Note target mark:: を参照のこと。*Note forward:: を参照の
     こと。

エラーメッセージが返ってきたら、以下のコマンドで修正し再挑戦しましょう。

`E'
     メッセージの再編集。または、MIME 形式でカプセル化されて戻ってきた
     メッセージの再編集。

       1. +draft では、メッセージが単に編集される。
       2. +queue と +postq では、メッセージが +draft に移動されて、編集
          される。
       3. それ以外では、メッセージが +draft にコピーされて、編集される。

     +draft、+queue、+postq では、ケースが復活する。

     他のフォルダでは、`mew-case-guess-when-prepared' が `t' なら、
     ヘッダのそれぞれのフィールドがケースに従って置き換えられる。詳しくは
     *Note config:: を参照のこと。
`C-uE'
     `E' と同じ。ただし、+draft、+queue、+postq 以外のフォルダで利用さ
     れた場合は、`mew-case-guess-when-prepared' が `t' でも、オリジナル
     のヘッダが保存される。
`M-e'
     "----- Original message follows -----" の後にオリジナルのメッセー
     ジが引用されているエラーメッセージの再編集。



File: mew.jis.info, Node: features, Next: status-update, Prev: sum-write, Up: Viewing

便利な機能
==========

Mew では、Summary モードに以下のような便利なコマンドが用意されています。

`v'
     「Summary モードのみ」と「Summary & Message モード」の切り替え。
     「Summary モードのみ」を選んでいる場合は、`d' は次のメッセージを表
     示しないので、連続してすばやく `D' マークを付けられる。
`zv'
     `mew-use-header-veil' が `nil' でないとき、To: と Cc: で
     `mew-header-veil-count' を越える行は「ベール」で隠されている。この
     コマンドは、それらの行の見える／見えないを反転させる。
     `mew-use-header-veil' と `mew-header-veil-count' の初期値は、それ
     ぞれ `t' と 4。
`_'
     通常の行、折り返された行、長い行の順に行の表示を変える。
`M-l'
     現在の行を Summary モードの中央に移動させる。
`C-cC-s'
     Message モードで順方向段階的検索。
`C-cC-r'
     Message モードで逆方向段階的検索。
`y'
     メッセージ、あるいは、パートを入力したファイル名で保存する。
`C-uy'
     保存するテキストの coding-system を指定して、メッセージ、あるいは、
     パートを入力したファイル名で保存する。
`#'
     `mew-print-function' を利用して Message モードの内容を印刷する。
`C-u#'
     プリンタ名を指定して Message モードの内容を印刷する。
`|'
     Message モードの内容をパイプで指定されたコマンドに出力する。
`C-u|'
     Message モードの本文(ヘッダを除く)をパイプで指定されたコマンドに出
     力する。
`\'
     このメッセージを引数にして、入力された外部コマンドを起動する。
`B'
     格納されているメッセージを取り出す。
`C-uB'
     格納されているファイルを取り出す。
`C-cC-a'
     現在のメッセージの情報をアドレス帳に登録する(*Note addrbook::)。
`C-cC-v'
     PGP のバージョンを切替える(*Note cipher-viewing::)。
`C-cC-z'
     昔ながらの自動処理できない PGP メッセージを PGP に復号化、検証させ
     る(*Note cipher-viewing::)。
`C'
     ケースを変更する。詳しくは、*Note config:: を参照のこと。
`='
     フォルダ名とメッセージ番号を表示する。キャッシュ・メッセージの場合
     は、加えて ID とサイズも表示する。メッセージへのフルパスが、ウイン
     ドウマネージャのカットバッファに入る。
`;'
     Received: フィールドを解析し、分りやすく Message モードに表示する。



File: mew.jis.info, Node: status-update, Next: invalid, Prev: features, Up: Viewing

状態の更新
==========

いくつかの設定の変更には、その変更を反映するために、状態を更新しなけれ
ばならない場合があります。変更が反映されなかったり、変更のためにエラー
が生じるようになったりした場合は、以下のコマンドを利用して下さい。

`Z'
     アドレス帳(*Note addrbook::)などの情報を更新する。
`C-uZ'
     現在の世界に対するフォルダのリストの情報を更新する。

状態を反転させるコマンドを以下にまとめます。

`z8'
     8 ビット・モード(`mew-use-8bit')を反転させる。
`zc'
     解析したメッセージのキャッシュを消去する。
`zd'
     `mew-debug' を反転させる。
`zo'
     PGP を省略方法で作成する場合、PGP/MIME なのか古い PGP の書式なのか
     (`mew-use-old-pgp')を反転させる。
`zp'
     解析、復号化のポリシ(`mew-decode-broken')を反転させる。
`zv'
     Message モードでベールを使うか否か(`mew-use-header-veil')を反転さ
     せる。
`zw'
     警告のレベル(`mew-warning-field-level')が 2 なら 1 へ、1 なら 2 へ
     設定する。



File: mew.jis.info, Node: invalid, Next: Composing, Prev: status-update, Up: Viewing

規格違反のメッセージ
====================

以下のようなメッセージは、Content-Type: で charset が指定されていないの
で、本来 US-ASCII と認識されてしまいます。

     To: piglet
     Subject: 規格違反のメッセージ
     From: pooh
     MIME-Version: 1.0
     Content-Type: Text/Plain

     日本語の本文

また以下のようなヘッダも規格違反です。

     From: "=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=" <kazu@example.net>

上の例では "=?" と "?=" で囲まれた部分はもともと日本語でした。メッセー
ジの規格ではヘッダには ASCII のみが格納できると定められています。よって、
ASCII 以外の文字コードをヘッダに格納するには、ある規則に従って ASCII に
符号化する必要があります。しかし、この符号化された文字列を 「"」 で囲む
のは間違いです。「"」で囲まれた文字列は、そのままの形で取り扱われます。
よって、上の例の "=?" と "?=" で囲まれた部分が日本語に復号化されること
は本来ありません。

規格に無頓着な一部のメーラではこのような間違いを平気で犯します。正しい
対処方法は、このようなメーラの作者に頼んで、規格を正しく実装するように
変更してもらうことです。しかし、このようなメーラはあまりにも多いので、
Mew ではできる限り復号化するよう試みます。そして、以下のような警告をヘッ
ダに出します。

     X-Mew: Charset for body is not specified.
            To: has encoded-words in quoted text.

もし、規格に厳密に復号化したいのなら、`mew-decode-broken' を `nil' に設
定して下さい。この値は `C-u.' を使うと動的に反転できます(*Note
singlepart:: を参照)。

次のようなメッセージは、charset で指示されている文字コードと実際の文字
が異なるため、文字化けを起こします。

     Content-Type: Text/Plain; charset=ISO-2022-JP

     Shift_JIS で書かれた日本語の本文

`C-cC-l' を使えば、charset で指定された文字コードを無視し、指定した言語
の推測規則に従って文字コードを推測し、再表示させることができます。また、
`C-uC-cC-l' で明示的に文字コードを指定し、再表示させることも可能です。




File: mew.jis.info, Node: Composing, Next: header, Prev: invalid, Up: Top

メッセージを作成する
********************

ここではメッセージの作成方法について説明します。

新しいメッセージを書くために、Draft モードに移行するには、次の手段があ
ります。

  1. `M-x mew-send' と入力する。
  2. `mail-user-agent' が設定されている場合、`C-xm' と入力する。
  3. Summary モードで `w' を押す。

すると、以下のようなバッファが用意されます。

     To:
     Subject:
     From: Kazu Yamamoto <kazu@example.org>
     X-Mailer: Mew version 6.1 on Emacs 22.1
     ----

これを Draft モードといいます。Draft モードにおいて、"----" より上をヘッ
ダ、下を本文と呼びます。

またメッセージへの返答(`a' や `A')や転送(`f' や `F') でも Summary モー
ドから Draft モードへ移行します。

草稿は、+draft フォルダの下に作成されます。同時に複数の草稿を持つことが
可能です。

一旦用意した草稿を削除する方法については、*Note Quit:: を参照して下さい。

以下、Draft モードの使い方を説明します。

* Menu:

* header::                      ヘッダの補完
* cheader::                     ヘッダの循環的な補完
* addr-comp::                   アドレスの補完
* addrbook::                    アドレス帳
* auto-alias::                  アドレスの自動学習
* addr-comp1::                  アドレスの補完(1)
* addr-comp2::                  アドレスの補完(2)
* send::                        メッセージの送信
* cite::                        シグニチャと引用
* mime-comp::                   マルチパートの作成
* charset-guess::               文字コードの決定
* reply::                       メッセージへの返答と宛先の決定
* forward::                     メッセージの転送
* resend::                      メッセージの再送
* shortcut::                    電子署名/暗号メールを作成する
* mark-b-comp::                 マークを使った電子署名/暗号メールの作成
* pgp-key::                     PGP の鍵の配布
* anonymous::                   宛先を匿名にしたメッセージの送信



File: mew.jis.info, Node: header, Next: cheader, Prev: Composing, Up: Composing

ヘッダの補完
============

ヘッダでは `TAB' に対し、以下のように各フィールド用の補完機能が割り当て
られています。

   - フィールド名の補完
   - アドレスの補完 (To:、Cc: など) (*Note addr-comp:: を参照)
   - フォルダ名の補完 (Fcc:)

<フィールド名の補完>

行頭の単語中で、しかも、上の行の最後が "," で終る継続行でなければ、
`TAB' で `mew-fields' に定義されているフィールド名を補完できます。

     To: kazu@example.org
     R`TAB'

上記の場所で `TAB' を押すと以下のようになります。

     To: kazu@example.org
     Reply-To:

<フォルダ名の補完>

Fcc: などのようにフォルダを補完すべきところでは、`TAB' でフォルダを補完
できます。以下に例を挙げてみます。

     Fcc: `TAB'

"+" が補完されます。

     Fcc: +`TAB'

`TAB' をもう 1 度押すと候補が表示されるので、候補を見ながら適切な文字を
入力します。

     Fcc: +b`TAB'

候補が一意に定まれば補完されます。

     Fcc: +backup



File: mew.jis.info, Node: cheader, Next: addr-comp, Prev: header, Up: Composing

ヘッダの循環的な補完
====================

ヘッダでは、`C-cTAB' に循環的な補完機能が割り当てられています。循環的な
補完機能とは、あるリストのある値がそのリストの次の値に置き換えられるこ
とです。リストの最後は、最初につながっていると考えます。ヘッダ中の循環
的な補完機能は、以下のようにフィールドごとに異なります。

   - ドメイン名の循環的な補完 (To:、Cc: など)
   - From: の循環的な補完 (From:)

<ドメイン名の循環的な補完>

アドレスを書くべきフィールドでは、`C-cTAB' でドメインを補完します。補完
の候補は `mew-mail-domain-list' から選ばれます。

     To: kazu@`C-cTAB'

上記の場所のように候補が一意に定まらない場合は、
`mew-mail-domain-list' の最初のドメイン名が挿入されます。

     To: kazu@example.org`C-cTAB'

補完された後、さらに `C-cTAB' を押すと `mew-mail-domain-list' の次の候
補に変換します。

     To: kazu@example.jp

また、以下の補完が一意に定まれば、その候補を挿入します。

     To: kazu@w`C-cTAB'

上記の例は次のようになります。

     To: kazu@example.jp

<From: の循環的な補完>

草稿には、あらかじめ "mew-name <mew-user@mew-domain>" という形式で、
From: フィールドが挿入されています。

     From: Kazu Yamamoto (山本和彦) <kazu@example.org>

From: フィールド上では、`C-cTAB' は `mew-from-list' の値を循環的に補完
します。`mew-from-list' は自分で設定してもよいですし、自動的に設定する
ことも可能です。自動設定に関しては、*Note config:: を参照して下さい。

値の場所ならどこでも構いませんが、`C-cTAB' と入力すると、この値を
`mew-from-list' の次の値と置き換えます。たとえば、

     From: Kazu Yamamoto (山本和彦) <kazu@example.org>`C-cTAB'

は以下のようになります。

     From: Kazuhiko Yamamoto <kazu@example.jp>



File: mew.jis.info, Node: addr-comp, Next: addrbook, Prev: cheader, Up: Composing

アドレスの補完
==============

To: や Cc: では、アドレスを補完できます。補完には `TAB' を用います。

     To: kazu`TAB'

上記のように、アドレスの一部で `TAB' を押すと、以下のようにアドレスが補
完される訳です。

     To: kazu@example.org

アドレスの補完に利用されるアドレスの種類には、以下の 3 つがあります。

  1. アドレス帳の展開規則
  2. アドレス帳の個人情報
  3. 送信時に学習されたアドレス

アドレスの補完には 2 つの方法が提供されています。
`mew-use-full-alias' によって選択します(初期値は `nil')。

`mew-use-full-alias' が `nil' の場合、`@' の前、つまりユーザ名(短縮名)
が補完の対象となります。`TAB' を押すとユーザ名が補完され、補完しきった
ところでさらに `TAB' を押すとアドレスに「展開」されます。これをアドレス
の補完(1)と呼びましょう。

アドレスの補完(1)(*Note addr-comp1::)の利点は、上に書いた 3 種類のアド
レスに対し、補完・展開が矛盾なく実行できることです。後述のように、「強
制展開」も `TAB' で実行できます。欠点は、ユーザ名の部分が一意でなければ
ならないので、あるユーザ名が登録されている場合、同じユーザ名を持つ別の
アドレスを学習できないことです。

`mew-use-full-alias' が `t' の場合、学習されたアドレスに関しては、アド
レスの全体が補完の対象になります。これをアドレスの補完(2)と呼びましょう。

アドレスの補完(2)(*Note addr-comp2::)の利点は、ユーザ名が一致している複
数のアドレスを学習できることです。欠点は、アドレス帳の個人情報に登録さ
れているアドレスの先頭以外は利用できないことです。また、「強制展開」は、
`M-C-e' という (`TAB' とは別の) キーを押さなければいけないことです。



File: mew.jis.info, Node: addrbook, Next: auto-alias, Prev: addr-comp, Up: Composing

アドレス帳
==========

Mew ではアドレス帳("~/Mail/Addrbook")が利用できます。アドレス帳には 2
つの書式が用意されています。一方は「展開規則」を指定する書式、他方は
「個人情報」を記述するための書式です。

まず、「展開規則」を記述するための書式を示します。

     <shortname>: <address1>[, <address2>, <address3>,...]

このように短縮名と展開すべきアドレスを `:' で区切って書きます。複数
のアドレスに展開する場合は、それらのアドレスを `,' で区切ります。
(これは、To: などでアドレスが `,' で区切られているのと同じです。)
`,' の後ろに空白を入れても構いません。以下に例を示します。

     pooh:           winnie-the-pooh@example.net
     piglet:         piglet@example.org
     friends:        pooh, piglet



次に、「個人情報」を記述するための書式を示します。

     <shortname> <address1>[, <address2>, <address3>,...] <nickname> <fullname>

このように 4 つの要素を空白で区切ります。<shortname> が短縮名です。
<nickname> と <fullname> はそれぞれニックネームと正式な氏名であり、日本
語でも構いません。(ニックネームの使い方は *Note summary-mode:: と
*Note draft-mode:: を参照して下さい。)

2 番目の要素はアドレスです。複数のアドレスをその人が持っている場合は、
`,' で区切って書きます。`,' の後に空白を入れても構いません。つまり、こ
の空白は要素の区切りではありません。また、`"' で囲まれた空白も要素の区
切りにはなりません。以下に例を示します。

     kazu    kazu@example.org, kazu@example.net    Kazu-kun  "Kazuhiko Yamamoto"

「個人情報」の書式では、各要素を省略できます。中間の要素を省略する場合
は、`*' と書いて下さい。以下に、アドレスに対してニックネームのみを定義
する例を示します。

     *       kazu@example.org, kazu@example.net    Kazu-kun

ニックネームは Summary モードでのアドレスの置き換えと、Draft モードでの
引用記号の置き換え(*Note cite::)に利用されます。

アドレス帳のコメント文字は `;' と `#' です。`;' は行頭にある場合のみコ
メントとなり、その行が無視されます。`#' は任意の場所でコメントとなり、
そこから行末までが無視されます。また、`\' は継続行を表わします。



Summary モードには、現在読んでいるメッセージの情報を Addrbook に登録す
る機能があります。展開規則を登録するには `C-cC-a' と押して下さい。以下
に例を示します。

     #If you want to register this entry, type 'C-c C-c'.
     #If you want to NOT register this entry, type 'C-c C-q'.
     Shortname: kazu
     Addresses: kazu@example.org
     Comments:

個人情報を登録するには `C-uC-cC-a' と押して下さい。以下に例を示します。

     #If you want to register this entry, type C-c C-c.
     #If you want to NOT register this entry, type C-c C-q.
     Shortname: kazu
     Addresses: kazu@example.org
     Nickname:
     Name: Kazuhiko Yamamoto
     Comments:

必要であれば加筆訂正します。実際に登録するには `C-cC-c'、登録を取り止め
る場合は `C-cC-q' と入力して下さい。*Note Quit:: も参照して下さい。

なお、Addrbook に複数の言語の文字を使いたい場合は、以下の設定を
Addrbook の先頭に記述して下さい。

     #-*-coding:ctext;-*-




File: mew.jis.info, Node: auto-alias, Next: addr-comp1, Prev: addrbook, Up: Composing

アドレスの自動学習
==================

メッセージを送信した場合、To: と Cc: に書かれているアドレスは、自動的に
学習されます。以下の例を考えて下さい。

     To: kazu@example.org

アドレスの補完(1)(*Note addr-comp1::)の場合：このメッセージを送信すると、
アドレス "kazu@example.org" に対し、短縮名 "kazu" が自動登録されます。
ただし、すでに "kazu" という短縮名が自動登録されているなら、
`mew-addrbook-override-by-newone' の値に応じて上書きするかを決定します。
`nil' なら古い設定を残し、それ以外なら上書きします。展開の際は、アドレ
ス帳の方が優先されます。ですから、アドレス帳に無い短縮名のみが有効にな
ります。

アドレスの補完(2)(*Note addr-comp2::)の場合：このメッセージを送信すると、
アドレス "kazu@example.org" が自動登録されます。

自動登録されるのは通常 2000 個(`mew-lisp-max-length')のアドレスまでです。
それを越えて登録するとアルファベット順で最後の方が消えます。これらの情
報は Mew を終了する際に、"~/Mail/.mew-alias" に保存されます。

自動登録ですから、不要な短縮名も登録されます。不要な短縮名を削除するに
は、以下のようにするといいでしょう。まず、`M-a' を実行し、
"~/Mail/.mew-alias" を開きます。次に、テキストファイルを編集する要
領で、不要な短縮名を削除します。そして、`C-xC-s' で保存して下さい。
保存と同時に、その内容が Mew に反映されます。

アドレスの補完(1)とアドレスの補完(2)では、"~/Mail/.mew-alias" の書式が
異なります。`mew-use-full-alias' の値を変え、方法を切り替えたら、
Summary モードで一回 `Z' を押して下さい。これで、書式が変換されます。



File: mew.jis.info, Node: addr-comp1, Next: addr-comp2, Prev: auto-alias, Up: Composing

アドレスの補完(1)
=================

アドレスの補完(1)では、アドレス帳の展開規則、アドレス帳の個人情報、およ
び送信時に学習されたアドレスで登録されたアドレスは、ユーザ名(短縮名)が
一意であることが前提となっています。

たとえば、以下のように「展開規則」を設定したとします。

     pooh:           winnie-the-pooh@example.net

Draft モードのヘッダ内で、かつ、アドレスを書くべきフィールド上で、しか
も、1 文字以上の文字列が前にある場所で `TAB' を打つと、アドレスの短縮名
が補完されます。

     To: piglet@example.org,
             po`TAB'

このように `TAB' を押すと、(他に候補が無ければ) "pooh" まで補完されます。

     To: piglet@example.org,
             pooh`TAB'

もう一度 `TAB' を押すと "winnie-the-pooh@example.net" に展開されます。

     To: piglet@example.org,
             winnie-the-pooh@example.net

"@" で終る文字列は強制的に展開します。たとえば、以下のように似たような
短縮名があった場合を考えて下さい。

     pooh:           winnie-the-pooh@example.net
     pooh-pooh:      pooh-pooh@example.org

"pooh-" まで入力すれば、"pooh-pooh" まで補完できることは明らかです。し
かし、"pooh" までだと、"pooh" を「展開」するのか、"pooh-pooh" まで補完
するのか分りません。"pooh" を "winnie-the-pooh@example.net" に強制的に
展開するには、以下のように `@' を挿入し、`TAB' を押します。

     To: pooh@`TAB'

強制展開は、`@' を挿入せず、`M-C-e' を押しても実行できます。

上記の説明は、送信時に学習されたアドレスにもあてはまります。

「個人情報」の書式では、アドレスが順に置き換えられていきます。以下の例
を考えて下さい。

     kazu    kazu@example.org, kazu@example.net    Kazu-kun  "Kazuhiko Yamamoto"

kazu がどう変化するのか見てみましょう。

     To: kazu`TAB'

"kazu" の後で `TAB' を打つと、"kazu@example.org" に置き換わります。

     To: kazu@example.org`TAB'

次に "kazu@example.org" の後で `TAB' を打つと、"kazu@example.net" に置
き換わります。

     To: kazu@example.net`TAB'

さらに "kazu@example.net" の後で `TAB' を打つと、"kazu@example.org" に
戻ります。このように `TAB' を押すと、アドレスが循環的に置換されます。

アドレスを決定した後は、正式名称が付加できます。

     To: kazu@example.org`M-TAB'

このように `M-TAB' を押すと、以下のように正式名称が付加されます。

     To: Kazuhiko Yamamoto <kazu@example.org>



File: mew.jis.info, Node: addr-comp2, Next: send, Prev: addr-comp1, Up: Composing

アドレスの補完(2)
=================

アドレスの補完(2)では、学習されたアドレスに関しては、アドレス全体が補完
の対象になります。アドレス帳の展開規則は、短縮名が補完の対象になり、一
意に定まれば展開されます。アドレス帳の個人情報では、短縮名が補完の対象
になり、一意に定まれば、登録されている先頭のアドレスに展開されます。

Draft モードのヘッダ内で、かつ、アドレスを書くべきフィールド上で、しか
も、1 文字以上の文字列が前にある場所で `TAB' を打つと、短縮名あるいは学
習されたアドレスが補完されます。

kazu@example.org を学習しているとしましょう。

     To: ka`TAB'

曖昧でないところまで入力し、`TAB' を押せば、アドレスが補完されます。

     To: kazu@example.org

さらに kazunori@example.jp を学習したとしましょう。kazu@example.org へ
補完するには kazu@ まで、kazunori@example.jp へ補完するには kazun まで
入力する必要があります。

展開規則と個人情報は、`TAB' により、まず短縮名が補完されます。短縮名が
一意に定まれば、`TAB' で展開できます。

たとえば、以下のように「展開規則」を設定したとします。

     pooh:           winnie-the-pooh@example.net

短縮名 "pooh" を補完してみましょう。

     To: po`TAB'

このように `TAB' を押すと、(他に候補が無ければ) "pooh" まで補完されます。

     To: pooh`TAB'

もう一度 `TAB' を押すと "winnie-the-pooh@example.net" に展開されます。

     To: winnie-the-pooh@example.net

問題は、短縮名が一意に定まらない場合の展開です。以下の展開規則を考えて
下さい。

     pooh:           winnie-the-pooh@example.net
     pooh-pooh:      pooh-pooh@example.org

"pooh-" まで入力すれば、"pooh-pooh" まで補完できることは明らかです。し
かし、"pooh" までだと、"pooh" を「展開」するのか、"pooh-pooh" まで補完
するのか分りません。"pooh" を "winnie-the-pooh@example.net" に強制的に
展開するには、`M-C-e' を利用します。(`TAB' で強制展開する方法はありませ
ん。)

     To: pooh`M-C-e'

この例は、以下のように強制展開されます。

     To: winnie-the-pooh@example.net




File: mew.jis.info, Node: send, Next: cite, Prev: addr-comp2, Up: Composing

メッセージの送信
================

メッセージを書き上げ、いよいよ送信するには、以下の 2 つのコマンドのどち
らかを選んで下さい。

`C-cC-m'
     メッセージを作成し +queue または +postq に入れ、送信待ち状態にする。
`C-cC-c'
     メッセージを作成し送信する。"Really send this message? (y or n) "
     と訊かれる。`y' を押せば、送信される。

メッセージが送信される際にどう加工されるか説明します。以下のようなメッ
セージを考えて下さい。

     To: pooh
     Subject: 明日の日曜日
     From: Piglet <piglet@example.org>
     X-Mailer: Mew version 6.1 on Emacs 22.1
     ----
     明日の日曜日、遊びませんか？

     // ピグレット

たとえば、`C-cC-m' でこのメッセージを +queue あるいは +postq に入れると、
メッセージは以下のように加工されています。

     Date: Mon, 13 Mar 2000 19:49:50 +0900 (JST)
     Message-Id: <20000313.194950.59499544.piglet@example.org>
     To: winnie-the-pooh@example.net
     Subject: =?iso-2022-jp?B?GyRCTEBGfCRORnxNS0Z8GyhC?=
     From: Piglet <piglet@example.org>
     X-Mailer: Mew version 6.1 on Emacs 22.1
     Mime-Version: 1.0
     Content-Type: Text/Plain; charset=iso-2022-jp
     Content-Transfer-Encoding: 7bit

     明日の日曜日、遊びませんか？

     // ピグレット

Date: や Message-Id: が付加されたのはお分かりになるでしょう。Subject:
にあった日本語は、配送に安全となるよう ASCII コードに変換されています。
また、本文のデータ型や文字コードが推測され、正しく付加されていることは
特筆すべきでしょう。

`C-cC-m' や `C-cC-c' でメッセージを作成するとき、ヘッダに不備があった場
合に注意を促してくれる機能があります。

`mew-ask-subject' を `t' にしておけば、Subject: が空のときに値を尋ねて
くれます。空のままにしたい場合は単純に `RET' を押して下さい。この変数の
初期値は `nil' です。

`mew-ask-fcc' を `t' にしておけば、Fcc: に存在しないフォルダが指定して
ある場合、そのフォルダを作成するか尋ねてくれます。作るなら `y'、作らな
いなら `n' を押して下さい。`n' を押すと、送信が中止され、カーソルは草稿
に戻ります。この変数の初期値は `nil' です。

Mew は、サーバがユーザ認証を要求すると、送信のためのパスワードをユーザ
に訊きます。長い間、メールの送信にはパスワードが必要ありませんでした。
これが、メールアドレスを詐称できる原因の一つとなっています。これからは、
メールの送信の際は、受信のときと同じように、パスワードが必要な時代にな
ります。

+queue に溜っているメッセージを送信するには、以下の 2 つの方法がありま
す。どちらも Summary モードのコマンドであることに注意しましょう。

`i'
     `mew-auto-flush-queue' が `t' の場合は、メッセージを受信した後
     に、+queue にあるメッセージを送信する。ダイアルアップ環境において、接続
     料金を節約する意味でも、送信のための認証という意味でも、これはよい方法。
     `mew-auto-flush-queue' の初期値は `t'。
`C-cC-c'
     +queue にあるメッセージを送信する。+queue に行って、できあがったメッセー
     ジを見た後に、このコマンドを使うと便利。`mew-ask-flush-queue' が
     `t' なら、"Flush queue? (y or n) " と訊かれる。
     `mew-ask-flush-queue' の初期値は `nil'。



File: mew.jis.info, Node: cite, Next: mime-comp, Prev: send, Up: Composing

シグニチャと引用
================

ここでは、本文のテキストを便利に処理するコマンドについて述べます。

まずシグニチャについてです。カーソルのある場所に "~/.signature" を挿入
するコマンドは `C-cTAB' です。シグニチャファイルは、
`mew-signature-file' で設定できます。`mew-signature-as-lastpart' や
`mew-signature-insert-last' を設定することで、`C-cTAB' の動作をカスタマ
イズできます。

`C-cTAB'
     カーソルの位置に "~/.signature" を挿入する。

次に引用についてです。Summary モードの `a' や `A' を使ってメッセージに
返答するための草稿を用意すると、Emacs が 3 分割されます。上が現在の
Summary モード、中が Message モード、下が Draft モードです。

Message モードのテキストを引用するコマンドを以下に示します。

`C-cC-y'
     Message モードからメッセージの一部をコピーし、引用ラベルと引用記号
     付で貼り付ける。
       1. おおまかにいえば、Message モードの本文がコピーされる。たとえ
          ば、Text/Plain が表示されていると、Message モード全体がコピー
          される。Message/Rfc822 が表示されている場合は、ヘッダを除いた
          本文がコピーされる。
       2. `C-uC-cC-y' では、ヘッダがあればヘッダをコピーする。
       3. Emacs のマークがあると、そのマークとカーソルの間が対象となる。
`C-cC-t'
     Message モードからメッセージの一部をコピーし、引用ラベルと引用記号
     なしで貼り付ける。

引用ラベルと引用記号の初期値は、以下のようになります。

     From: SUMIKAWA Munechika <sumikawa@ebina.hitachi.co.jp>
     Subject: Wine
     Date: Wed, 23 Jul 1997 11:40:50 +0900

     > おはようからおやすみまでニートでおなじみの角川です。
     >
     > さて、とろけるワイン作戦ですが、定石通り '90 のボルドーの
     > カベルネ・ソービニョンを狙いたいと思います。

Draft モードでは Message モードに表示されているものならなんでも引用でき
ます。つまり、複数のメッセージを簡単に引用できるのです。引用したいメッ
セージを表示させて、本文を引用する手順を、引用したいメッセージの回数だ
け繰り返して下さい。そのための 3 分割です。


本文やヘッダの色付けがおかしくなった場合、`C-cC-l' を実行することで、色
付けをやり直すことができます。



File: mew.jis.info, Node: mime-comp, Next: charset-guess, Prev: cite, Up: Composing

マルチパートの作成
==================

さて、ここでマルチパートの作り方を披露しましょう。

たとえば、+draft/1 でメッセージを書いているときに、`C-cC-a' と入力する
と、草稿の一番下に

     ----------------------------- attachments -----------------------------
           Multipart/Mixed                                         1/
          1  Text/Plain(guess)                                       CoverPage*
          2                                                          .
     --------0-1-2-3-4-5-6-7-8-9--------------------------------------------

という行が挿入されます。"1/" はマルチパートを構築するための一時的なディ
レクトリで、実体は "~/Mail/attach/1" です。パート 1 の CoverPage は本文
を意味します。ここで Draft モードは次のようになっているでしょう。

     To: mew-dist
     Subject: ここがヘッダ
     From: Kazu Yamamoto <kazu@example.org>
     X-Mailer: Mew version 6.1 on Emacs 22.1
     ----
     本文だよ。

     ----------------------------- attachments -----------------------------
           Multipart/Mixed                                         1/
          1  Text/Plain(guess)                                       CoverPage*
          2                                                          .
     --------0-1-2-3-4-5-6-7-8-9--------------------------------------------

3 つの領域を以下のように呼ぶことにします。

   * "----" より上を 「ヘッダ」
   * "----" から "attachments" までを「本文」
   * "attachments" より下を「添付領域」

Draft モードでは、リージョンによってキー割当が違います。

たとえば、`TAB' は以下のようになります。

ヘッダ
     さまざまな補完。
本文
     TAB の挿入。
添付領域
     なにもしない。

`c' だと以下のようになります。

ヘッダ
     c を挿入。
本文
     c を挿入。
添付領域
     ファイルのコピー。

以下、添付領域でのキー割当です。

`C-p'
     現在のディレクトリの前のファイルへ移動。
`C-n'
     現在のディレクトリの後のファイルへ移動。
`C-f'
     1 番目のサブディレクトリに移動。
`C-b'
     親ディレクトリに移動。
`c'
     ファイルのコピー。"." 上で有効。ネットワーク経由でも可。リモートの
     ファイルをコピーする場合は、"/[user@]hostname:/filepath" の形式で
     ファイルを指定。
`l'
     ファイルへシンボッリクリンクを張る。"." 上で有効。添付ファイルを
     `f' を使って読み込んで編集する場合は、実体を編集してしまわないよう
     に、`l' ではなく `c' でコピーすべき。
`d'
     ファイルとディレクトリの消去。
`m'
     サブディレクトリ(つまりマルチパート)の作成。"." 上で有効。
`f'
     ファイルをバッファに読み込む。
`F'
     新規ファイルをバッファに読み込む。"." 上で有効。
`y'
     Message モードに表示されているメッセージにリンクを張る。"." 上で有
     効。
`e'
     external-body の入力。"." 上で有効。
`a'
     音をサンプリングしオーディオファイルとして挿入。"." 上で有効。
`p'
     入力されたユーザの PGP 公開鍵を取り出す。"." 上で有効。
`D'
     ちょっとした説明(Content-Description:)の入力。
`T'
     データ型(Content-Type:)の変更。
`t'
     データ型に関し、テキストとバイナリを反転させる。
`I'
     Text/* 型の入力 coding-system を指定する。
`C'
     Text/* 型の出力 coding-system を指定する。
`P'
     受信側でこのパートを保存する際のファイル名(Content-Disposition:)の
     変更。ファイル名の入力の際に、単に `RET' を押すと値が消える。そし
     て、送信側のファイル名が `*' と共に表示される。

添付領域では、ファイルの拡張子によってデータを取り扱います。現在サポー
トしている拡張子は以下の通りです。

     .txt       Text/Plain
     .html      Text/Html
     .xml       Text/Xml
     .rtf       Text/Enriched
     .css       Text/Css
     .sgml      Text/Sgml
     [0-9]+     Message/Rfc822
     .ps        Application/Postscript
     .pdf       Application/Pdf
     .doc       Application/Msword
     .xls       Application/Vnd.Ms-Execl
     .ppt       Application/Vnd.Ms-Powerpoint
     .vsd       Application/Vnd.Visio
     .dat       Application/Ms-Tnef
     .tar|.tar.|.gz|.Z|.taz|.tgz|.bz2?|.lzh|.zip|.bin|.pgp|.gpg|.exe|.dll
                Application/Octet-Stream
     .gif       Image/Gif
     .tiff      Image/Tiff
     .jpe?g     Image/Jpeg
     .png       Image/Png
     .xwd       Image/X-Xwd
     .xbm       Image/X-Xbm
     .xpm       Image/X-Xpm
     .bmp       Image/X-Bmp
     .pcx       Image/X-Pcx
     .tga       Image/X-Tga
     .au        Audio/Basic
     .wav       Audio/X-Wav
     .aif?f     Auido/X-Aiff
     .midi?     Auido/X-Midi
     .mpga|.mp[23]  Audio/X-Mpeg
     .mpe?g     Video/Mpeg
     .mov       Video/Quicktime
     .avi       Video/X-Msvideo

コピーするときのファイル名は、適切なデータ型を推測できるよう拡張子に気
を付ければなんでもよいです。もし、該当する拡張子がない場合、
`mew-content-type' で指定されるデータ型が選ばれます。初期値は、
Text/Plain(テキスト)です。


`c' でファイルをコピーすると、たとえば次のようになります。

     ----------------------------- attachments -----------------------------
           Multipart/Mixed                                         1/
          1  Text/Plain(guess)                                       CoverPage*
     B    2  Image/Gif                    MagicPoint のロゴ          mgp.gif
     Q    3  Application/Postscript       資料                       ohp.ps
          4                                                          .
     --------0-1-2-3-4-5-6-7-8-9--------------------------------------------

各行は、

   - マーク (Content-Transfer-Encoding:)
   - パート番号
   - データ型 (Content-Type:)
   - 説明 (Content-Description:)
   - ファイル名 (Content-Disposition:)

から構成されています。

データ型(Content-Type:)は `T' によって変えられます。データ型がテキスト
(Text/Plain)かバイナリ(Application/Octet-Stream)の場合は、`t' によって
一方を他方へ反転できます。

マーク(Content-Transfer-Encoding:)を変更する方法は、*Note
mark-b-comp:: を参照して下さい。説明(Content-Description:)は `D' で入力
できます。この説明のカラムは、*Note mark-b-comp:: で説明する暗号化の際
に上書きされます。

第 5 カラムに表示されるのは、実際にはコピーしたファイル名か
Content-Disposition:、つまり、受信者がそのパートを保存する際のファイル
名です。Content-Disposition: の値があれば、それが表示されます。なけれ
ば、コピーしたファイル名に `*' を付加して表示します。ファイルをコ
ピーした際の Content-Disposition: の値は、コピーしたファイル名が指定さ
れています。ただし、Message/* と Multipart/* には Content-Disposition:
は設定されません。Message/* の Content-Disposition: を指定するには、
`P' を利用して下さい。

ファイルはシングルパートに、ディレクトリはマルチパートに対応します。で
すから、ファイル構造を作っていく感覚で複雑なマルチパートを作成できます。
簡単でしょ？

ディレクトリに対するデータ型の初期値は、一般的なマルチパート
(Multipart/Mixed)です。これも `T' によって変更できます。

お好みのマルチパートが作成できたら、前節で述べたように `C-cC-m' か
`C-cC-c' を利用してメッセージを送信して下さい。

パートの実体が外部にある external-body を作成するコマンド `e' について
説明しましょう。access-type に ftp か anon-ftp を入力するときは、
ange-ftp のおかげでリモートのファイル名が補完できます。access-type が
local-file の場合は、もちろんファイル名を補完できます。

もし、マルチパートの作成途中でやっぱりシングルパートに戻したくなったら、
一番上のマルチパート部分で `d' を押して下さい。



File: mew.jis.info, Node: charset-guess, Next: reply, Prev: mime-comp, Up: Composing

文字コードの決定
================

Mew はシングルパートとマルチパートの両方に対し、配送時の文字コードを決
定する機能を持っています。

<シングルパート>

Draft モードで `C-cC-m' や `C-cC-c' と入力しメッセージを作成すると、
Mew は本文の内部表現から配送時の文字コードを決定します。バイリンガル
Emacs では、7 ビットの文字コードに対し US-ASCII を選び、8 ビットの文字
コードに対し ISO-8859-1 を選択します。国際化 Emacs では、内部表現から
Mew が定めた規則に従って、配送時の文字コードを決定します。

<マルチパート>

マルチパートの一部として添付するデータは、ファイルですからディスク上に
存在します。そこで、メッセージの作成の際に、配送時の文字コードを決定す
るためには、まず Emacs のバッファに取り込み、内部表現に直す必要がありま
す。内部表現に直した後は、シングルパートと同様の方法で、配送時の文字コー
ドを決定します。

バイリンガル Emacs では、Mew はファイルをそのままの形式で読み込みます。
ですから、7 ビットのファイルには US-ASCII が、8 ビットのファイルには
ISO-8859-1 が選ばれます。

国際化 Emacs では、Mew は環境(つまり auto conversion)に従って、文字コー
ドを推測しながらファイルを読み込みます。国際化 Emacs でこの環境を決定す
るコマンドは、`C-x RET l' です。

たとえば、日本語の環境では、国際化 Emacs は ISO-2022-JP、EUC-JP、そして、
Shift_JIS を見事に推測し、日本語用の内部表現に変換してバッファに格納し
ます。Mew はこの内部表現から、配送時の文字コードとして ISO-2022-JP を選
択します。つまり、ファイルの文字コードが EUC-JP や Shift-JIS であっても、
配送用の ISO-2022-JP に自動的に変換されます。そこでユーザは、添付するファ
イルの文字コードを気にすることなしに、ファイルを添付可能です。

もし、ディスク上のファイルの coding-system を明示的に指定したいなら`I'
を使って下さい。これを入力文字コードと呼ぶことにします。また、配送時の
coding-system を明示的に指示したいなら、`C' を利用して下さい。

文字コードの情報は、添付領域において、丸括弧の内側に表示されます。もし、
配送時の文字コードが明示的に指定されていれば、それが表示されます。そう
でなくて、入力文字コードが明示的に指定されていれば、それが "*" と共に表
示されます。そうでなければ、"guess" と表示されます。

以下の例の見て下さい。パート 1 は、本文ですからあらかじめバッファ内にあ
ります。"guess" と表示されていますから、配送時の文字コードを Mew が定め
た規則に従って決定します。

パート 2 は、入力文字コードとして iso-8859-1 が指定されていますので、ファ
イルの文字コードを iso-8859-1 であるとして読み込み、内部表現に変換しま
す。配送時の文字コードは Mew が定めた規則に従って決定します。

パート 3 の入力文字コードは、この例だけからだと明示的に指定されているか
分かりません。(しかし、ユーザ自身はは実際に指定したか分かっているはずで
す。) とにかく、ファイルは内部表現に直され、配送時の文字コードに指定さ
れている EUC-JP に変換されます。

     ----------------------------- attachments -----------------------------
           Multipart/Mixed                                         1/
          1  Text/Plain(guess)                                       CoverPage*
          2  Text/Plain(*iso-8859-1)                                 text1
     B    3  Text/Plain(euc-jp)                                      text2
          4                                                          .
     --------0-1-2-3-4-5-6-7-8-9--------------------------------------------

バイリンガル Emacs では `C' と `I' は利用できません。



