# The Mutt E-Mail Client

## by Michael Elkins <me@cs.hmc.edu>

version 1.2

``All mail clients suck. This one just sucks less.'' -me, circa 1995

## 1. イントロダクション

Muttは小さいけれどパワフルなテキストベースの MIMEメールクライアントです。Muttは多くのことが設定可能でキーバインディング、キーボードマクロ、メールスレッド、正規表現による検索、メッセージを選択する強力なパターンマッチング言語などの高度な機能を持つ、メールのパワーユーザーに最適なプログラムです。

## 1.1 Muttのホームページ

http://www.mutt.org/

## 1.2 メーリングリスト

次のメーリングリストに参加するためには本文に subscribeと書いて `list-name`-request```@mutt.org`に送ってください。

- mutt-announce@mutt.org -- トラフィックの少ないアナウンス用のリスト
- mutt-users@mutt.org -- ヘルプ、バグリポート、機能のリクエスト
- mutt-dev@mutt.org -- 開発用のメーリングリスト

注意: mutt-announceに送られたメッセージは自動的に mutt-usersにも送られます。そのためこの2つのリストに同時に参加する必要はありません。

## 1.3 ソフトウエア配布サイト

- ftp://ftp.mutt.org/pub/mutt/
- ftp://ftp.guug.de/pub/mutt/

ミラーサイトについては http://www.mutt.org/download.htmlを見てください。

## 1.4 IRC

DALnet (www.dal.net)のチャンネル #muttで Muttに関する会話を楽しむことができます。

## 1.5 USENET

ニュースグループ comp.mail.muttをみてください。

## 1.6 Copyright

Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and others

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.

このプログラムはフリーソフトウェアです。Free Software Foundation による GNU Public License のバージョン 2 もしくは望むならばそれ以降のバージョンに従う限り自由に変更し再配布することができます。

このプログラムは役に立つことを願って配布されていますが無保証です。市場性や特定の目的に対する適合性を持つ時に生じ得る暗黙の保証も含めていっさい保証しません。詳細は GNU General Public License をごらん下さい。 GNU General Public Licenseはこのプログラムといっしょに受け取ったはずです。もし持っていないなら、Free Software Foudation, Inc. に手紙をだして入手してください。 住所は 59 Temple Place - Suite 330, Boston, MA 02111, USA です。

## 2. さあ始めよう

このセクションは Muttの使い方のあらましを手短に説明するためのものです。このセクションで書かれている以外にも多くの機能があり、マニュアルの他の場所で説明されています。また Mutt FAQ や様々な web ページにも多くの情報があります。詳しくは Mutt Pageを見てください。

ここで説明されているキーバインディングはデフォルトのものです。システムアドミニストレータがあなたのサイトのデフォルトのキーバインドを変えている場合もあります。どのメニューの中にいても「?」を入力すると今のキーバインドが表示されます。

はじめにすることはコマンドラインから muttと入力して muttを起動することです。コマンドラインのオプションについては muttの manページか referenceを参照してください。

## 2.1 メニュー内の移動

情報は ELMと同じようにメニューの中に表示されます。メニュー内の移動によく使われるキーを表にしておきます。

    j or Down       next-entry      次の項目へ移動
    k or Up         previous-entry  前の項目へ移動
    z or PageDn     page-down       次のページへ行く
    Z or PageUp     page-up         前のページに行く
    = or Home       first-entry     初めの項目に移動する
    * or End        last-entry      最後の項目に移動する
    q               quit            今のメニューを終了する。
    ?               help            今のメニューのキーバインドを表示する

## 2.2 入力フィールドを編集する

Muttは e-mail アドレスやファイル名等のような簡単な入力用のラインエディタを内蔵しています。編集中の移動のやり方は Emacsに似ています。

    ^A or <Home>    bol             行頭に移動する
    ^B or <Left>    backward-char   1文字戻る
    ^D or <Delete>  delete-char     カーソルの下の文字を消す
    ^E or <End>     eol             行末に移動する
    ^F or <Right>   forward-char    1文字前に進む
    ^K              kill-eol        行末まで削除
    ^U              kill-line       一行全部を削除
    ^W              kill-word       カーソルの前の１語を消す
    <Up>            history-up      ヒストリーから直前の文字列を取り出す
    <Down>          history-down    ヒストリーから次の文字列を取り出す
    <BackSpace>     backspace       カーソルの前の文字を消す
    ^G              n/a             取消
    <Tab>           n/a             ファイル名の補完 (ファイル名の入力を求めれた場合のみ)
    <Return>        n/a             編集の終了

bindコマンドを使って編集機能用のキーの割当を変える事ができます。例えば Deleteキーでカーソルの下の文字でなくカーソルの前の文字を消すように`したいのなら、次のようにしてください。`

`bind editor <delete> backspace`

## 2.3 メールを読む - インデックスとページャ

他のメールクライアントと同じようにメールを読むのに Muttには2つのモードがあります。始めのモードはメールボックスのメッセージの一覧を表示します。これを Muttではインデックスと呼んでいます。2番目のモードはメッセージの内容を表示します。これをページャといいます。

以下のいくつかのセクションで各々のモードの機能を説明します。

### メッセージインデックス

    c               他のメールボックスへかわる
    C               今のメッセージを他のメールボックスへコピー
    ESC c           フォルダーをリードオンリーモードに変える
    ESC C           メッセージをデコードしフォルダーへコピー
    ESC s           メッセージをデコードしフォルダーへセーブする
    D               パターンにマッチするメッセージを削除
    d               今のメッセージを削除
    F               重要なメッセージとしてマーク
    l               パターンにマッチするメッセージを表示する
    N               新しいメッセージとしてマークする
    o               ソートの方法を変える
    O               メールボックスを逆向けにソートする
    q               セーブして終了
    s               メッセージのセーブ
    t               メッセージのタグのオン、オフのトグル
    ESC t           メッセージスレッド全体へのタグのオン、オフ
    u               メッセージのアンデリート
    v               添付ファイルを見る
    x               セーブせずに終了
    <Return>        メッセージを表示
    <Tab>           次の新しいメッセージに移動
    @               完全な e-mailアドレスの表示
    $               変更をメールボックスへ保存
    /               検索
    ESC /           逆方向へ検索
    ^L              画面を消して描き直す
    T               パターンにマッチするメッセージにタグをつける
    U               パターンにマッチするメッセージをアンデリートする

### 状態を表すフラッグ

メッセージの送り主とサブジェクトだけでなく、簡単なメッセージの状態がメッセージ番号の横に書かれます。ゼロまたはそれ以上の次の「フラッグ」が表示されます。

    D       削除されたメッセージ
    K       PGP公開キーを含む
    M       表示するのに mailcapが必要
    N       新しいメッセージ
    O       古いメッセージ
    P       PGPで暗号化されたメッセージ
    r       返信済み
    S       PGPのサインが入ったメッセージ
    !       重要のフラッグがつけられたメッセージ
    *       タグがつけられたメッセージ

いくつかの状態を表すフラッグは次のようにしてオン、オフすることができます。

- set-flag (デフォルトでは w)
- clear-flag (デフォルトでは W)

また次のフラッグはメッセージがだれ宛のものかを表します。これは $to_charsの変数によって振舞いを変えることができます。

    +       メッセージはあなた宛で、他の人には送られていない
    T       メッセージはあなた宛だが to または cc で他の人にも送られている
    C       メッセージは cc であなたに送られてきた
    F       あなたが送ったメッセージ

### ページャ

デフォルトでは Muttはメッセージの内容を表示するのに内蔵されたページャを使います。このページャは Unixプログラムの less に似ていますが、lessほどの機能はありません。

    <Return>        1行下に移動
    <Space>         次のページを表示 (すでにメッセージの終りまで表示している場合は、次のメッセージを表示)
    -               前のページに戻る
    n               次のメッセージを表示
    ?               キーバインドを表示
    /               正規表現での検索
    \               検索パターンの色付けのトグル

さらに、ページャーにおいてはインデックスから多くの機能が引き継がれます。例えばメールを削除(delete-message)したりメールをコピー(copy-message)したりする機能がそうです(これが外部ページャーではなく内蔵のページャーを使う利点の一つでもあります)。

内蔵のページャーにはさらに2つの優れた機能があります。1つ目は内蔵のペー ジャーは nroff の太字と下線という標準のシークエンスを理解できることです。太字の場合、文字-バックスペース(^H)-文字、下線つき文字の場合、文字-バックスペース- _ 、のシークエンスです。端末がそれらをサポートしていれば Mutt はこれらのシークエンスをそれぞれ太字と下線つき文字として表示しようとします。もしサポートされていなければ太字と下線つき文字のシークエンスは色をつける対象となっていますので色端末なら色属性を、モノ端末ならモノ属性をそれぞれ自分でつけることができます。(参照: color色属性とモノ属性 を使う)

もう一つは内蔵ページャーは文字属性に関する ANSI エスケープシークエンスをサポートしていることです。Mutt はそれらのシークエンスを正しい色と文字設定に解釈します。Mutt がサポートしているシークエンスは:

    ESC [ Ps;Ps;Ps;...;Ps m
    Psは Ps=
    0    全ての属性を消す
    1    太字にする
    4    下線つきにする
    5    明滅させる
    7    色を反転表示させる
    3x   foreground の色を x にする
    4x   background の色を x にする

    色は
    0    黒
    1    赤
    2    緑
    3    黄
    4    青
    5    赤紫
    6    青緑
    7    白

text/enriched メールを扱うのに Mutt はこれらの属性を使います。またこれらは外部の autoview(自動閲覧)スクリプトから色づけの目的で使うこともできます。

注意: もしディスプレイの色を変えていた場合その色が代わりに使われます。例えば、color2に関連づけられている色を他の色に変更していた場合はその色が緑の代わりに使われます。

### スレッドモード

メールボックスがスレッドでソート sortedされている場合は他にいくつかの機能がインデックスとページャーで利用できます。

    ^D      delete-thread        現在のスレッドの全てのメールを削除
    ^U      undelete-thread      現在のスレッドの全ての削除マークを解除
    ^N      next-thread          次のスレッドの最初に移動
    ^P      previous-thread      前のスレッドの最初に移動
    ^R      read-thread          現在のスレッドを既読にする
    ESC d   delete-subthread     サブスレッドのメールを全て削除
    ESC u   undelete-subthread   サブスレッドのメールの削除マークを解除
    ESC n   next-subthread       次のサブスレッドに移動
    ESC p   previous-subthread   前のサブスレッドに移動
    ESC r   read-subthread       サブスレッドを既読にする。
    ESC t   tag-thread           スレッドのタグ付けのオン/オフのトグル
    ESC v   collapse-thread      現在のスレッドを折り畳む/広げるのトグル
    ESC V   collapse-all         すべてのスレッドを折り畳む/広げるのトグル
    P       parent-message       スレッドの親メッセージにジャンプする

注意: スレッドを折り畳むとはスレッドの最初のメールだけ表示して残りのものは隠しておく機能のことです。一つのスレッドに多くのメールが含まれていてスクリーン上にわずかなスレッドしか見えない場合に便利です。 $index_formatの設定の %Mを参照して下さい。例えば、 $index_formatに "%?M?(#%03M)&(%4l)?"を加えることでスレッドが折り畳まれている時に隠れているメールの数を表示 させることができます。

参照: $strict_threads

### 色々な機能

エイリアスの作成 / create-alias (default: a)

現在のメールをもとに新しいエイリアスを作成します(なにもメールを選択してなければどのようなエイリアスを作成するかのプロンプトを表示します)。いったん編集を終えると、いま設定した aliasコマンドが後々使えるように $alias_file で指定したファイルに加えられます。注意: $alias_file を指定するだけではそこに書かれているエイリアスはエイリアスとして機能しません。さらに source コマンドを実行してそのファイルを読み込む必要があります。

へッダの表示 / display-toggle-weed (default: h)

ignore コマンドで指定された余分なヘッダーフィールドの表示のオン/オフ のトグル

編集 / edit (default: e)

このコマンドは現在のメールを編集するコマンドでインデックス(index)とページャー(pager)で使うことができます。編集を終えると変更されたメールが現在いるフォルダに付け加えられ、もとのメールに削除マークがつきます。

コマンドの入力 / enter-command (default: ``:'')

このコマンドは通常は設定ファイルの中で使うコマンドを実行するのに使います。これは設定している値のチェックに使ったり、 macrosを使って設定をすぐに変更するのに便利です。

PGP公開鍵を取り出す / extract-keys (default: ^K)

このコマンドは現在のメールもしくはタグ付けされたメールから PGP公開鍵を取り出し、それらをPGP公開鍵リングに加えるコマンドです。

パスフレーズをメモリ上から消去 / forget-passphrase (default: ^F)

このコマンドは PGP パスフレーズをメモリ上から消去します。このコマンドはパスフレーズをミススペルした時に有用です。

メーリングリストに返信 / list-reply (default: L)

現在のメールもしくはタグ付けつけされたメールに返信する際に lists or subscribeコマンドで指定されているアドレスにマッチするアドレスを取り出して返信するコマンドです。それだけではなく、もし $honor_followup_to変数が設定されていたら `Mail-Followup-To`へッダが付け加えられます。メーリングリストに送信されているメールに返信する時にこのコマンドを使うことでメーリングリストにも送信する同じメールを差出人にも二重に送信するのを避けるのに使うことができます。

パイプ / pipe-message (default: |)

外部から Unix のコマンドを呼び出し、現在のメールもしくはタグ付けつけされた メールをパイプに通します。 $pipe_decode、 $pipe_split、 $pipe_sep、 $wait_key変数がこの機能の正確な動作をコントロールします。

シェルコマンドの実行 / shell-escape (default: !)

外部の UNIX コマンドを呼び出し実行します。 $wait_key でコマンドから復帰した時に Muttが(コマンドの出力をユーザーが読めるように)なんらかのキーが押されるのを待つかどうかをコマンドの戻り値によってコントロールできます。

引用部分を表示するかどうかのトグル / toggle-quoted (default: T)

ページャーは $quote_regexp変数を使ってメールの本文を表示する時に引用部分を判断します。この機能はメールの引用部分を表示するかどうかのトグルです。返事の部分だけに興味があったり大量の引用があったりするときにおおいに役に立ちます。

引用部分をスキップ / skip-quoted (default: S)

この機能は引用されていないテキストの次の行に移動します、つまり内部ページャーで引用行と判断されるテキストをスキップするコマンドです。

## 2.4 メールを送る

次のコマンドはメールを送信する時にインデックスで利用できるコマンドです。

    m       compose      新しいメールを作成する。
    r       reply        送信者に返信する。
    g       group-reply  受信者全員に返信する。
    L       list-reply   メーリングリストのアドレスに返信する。
    f       forward      転送する。
    b       bounce       中継する。(bounce (remail) message)
    ESC k   mail-key     PGP 公開鍵を送る。

メールの中継はメールをそのままの形で誰かに送り直すものです。メールの転送はコメントを加えたりなんらかの変更を加えて誰かに送り直すものです。これらに関しては次の節 ``Forwarding and Bouncing Mail''「メールの転送と中継」で詳しく論じられています。

Mutt はメール作成メニュー(compose menu)を表示し、受信者を To: ヘッダ ーフィールドに入力するように促します。次に Mutt は Subject: フィールドを入力するように要求します。この時、返信か転送を行おうとしていた場合はデフォルトの Subjectを入れます。Muttがこれらの質問をどのようにたずねるかを変えるには $askcc、 $askbcc、 $autoedit、 $fast_replyを参照してください。

それから Mutt はメールの本文を編集するために $editorで指定されたエディタを起動します。この時 $edit_headers変数が指定されていれば、エデ ィタの上部の方にヘッダーを表示し編集可能にします。メールに返信しようとしている場合はもとのメールをもとの順どおりに取り込み、 $attribution、 $indent_string、 $post_indent_string変数に従い適切に整形します。メールを転送する場合に $mime_forward変数がセットされていなければもとのメールのコピーを本文に取り込みます。また $signature を指定していればそれも添えられます。

いったんメールの本文の編集を終えると再びメール作成メニュー(compose menu) に戻ります。ここでは次の操作が可能になります:

    a      attach-file          ファイルを添付する。
    A      attach-message       メールにメールを添付する。
    ESC k  attach-key PGP       公開鍵を添付する。
    d      edit-description     添付ファイルの descriptionを記述します。
    D      detach-file          添付ファイルを削除します。
    T      edit-to              To フィールドを編集し直します。
    c      edit-cc              Cc フィールドを編集し直します。
    b      edit-bcc             Bccフィールドを編集し直します。
    y      send-message         メールを送信します。
    s      edit-subject         Subject を編集し直します。
    f      edit-fcc             Fcc するメールボックスを指定します。
    p      pgp-menu             PGP のオプションを選択します(i バージョンのみ)
    P      postpone-message     メールを送信するのを延期します。
    q      quit                 メールを送信するのを中断します。
    w      write-fcc            メールをフォルダーに書き込む
    i      ispell               スペルチェックを行います。(ispellがあれば)
    ^F     forget-passphrase    メモリ上から PGP パスフレーズを消去します。

注意: メールを添付する機能を使うと添付しようとするメールがあるフォルダーを選択するようにプロンプトが表示されます。そこのフォルダーで添付しようとするメールにタグをつけることができます。このフォルダーにいる間は新しくメールを起稿したりメールに返信したり、メールを転送したりするような操作ができないということに注意してください。 $status_format 変数に %rが含ま れていればそれが 'A'に変わっていまメール添付モードにいるのがわかるよう になっています。

### メールのヘッダーを編集する。

送信するメールのヘッダーを編集する場合、いくつかの特別な機能を利用することができます。

もし Fcc: filename を指定していれば Mutt はメール作成メニュー(compose menu)で edit-fccコマ ンドを使った場合と同じように扱います。

またファイルを添付する場合次のようにすることもできます。Attach: filename [ description ] ここで filenameは添付するファイルの名前で、descriptionはファイルの種類で、省略することが可能です。

あるメールに返信しようとしている時に In-Reply-To: フィールドを削除すれば Mutt は Reference: フィールドを作成するのを中止しますので新規のメー ルとして(スレッドを切って)送り出すことができます。

edit_headers もご覧下さい。

### PGPといっしょに使う

PGPを使いたい場合は

`Pgp:` [ `E` | `S` | `S<id`> ] を設定してください。「E」は暗号化、「S」は署名、「S<id>」はあらかじめ $pgp_sign_asで設定しておいた鍵で署名します。

メールの暗号化を選んだ場合には、メールを送るときに鍵を選択するプロセスに入ります。メールの受取り手のメールアドレスに対応する保証付きのユーザー IDがある場合には mutt は何も質問せずにそれを使います。しかしメールアドレスに対応した鍵がいくつもある場合や、信用度が低い場合、メールアドレスに対応する鍵が無い場合があります。

そういったときには、鍵のリストが表示された鍵を選択するメニューになります。そのメニューを終わるときや、muttが対応する鍵を見つけられない場合には、ユーザー IDを入力するように求められます。このプロンプトは他の場合と同じように `G`を使って中止することができます。中止した場合にはメール作成メニュー (compose menu) に戻ります。

鍵をちゃんと選べた場合には、メッセージは選んだ公開鍵を使って暗号化され送信されます。

鍵選択メニューのほとんどの項目は自明でしょう（ $pgp_entry_formatも参照してください）。ここでは capabilities、flags と validityのフィールドをこの順番で説明しておきましょう。

%fは以下のフラッグのうちのどれかに展開されます。

    R   破棄され使うことができない鍵
    X   有効期限が切れ使うことのできない鍵
    d   自分で使用不可のマークをつけた鍵
    c   未知の重要な自己署名パケットが存在

2つの文字に展開される capabilities フィールド (%c) は鍵の能力を表しています。１つめの文字は暗号化能力を表します。マイナス(-)の場合は暗号化に使えないことを意味します。ドット(.)は証明に使えるが暗号化にも使えることを意味します。eは暗号化に使えることを意味します。

2つめの文字は鍵の署名能力を表しています。マイナス(-)の場合は署名に使えないことを意味します。ドット(.)はあるユーザー IDに暗号化するための鍵であることを示しています。s は署名に使えることを意味します。

最後に、validity フィールド (%t)は鍵の信用度を表しています。クエスチョンマーク(?)は信用度が定義されていないことを、マイナス(-)は信用できない保証を、スペース文字は部分的に信用できる保証を、プラス(+)は完全な信用度を表しています。

### mixmasterを使った匿名メッセージの送信

muttを Mixmasterといっしょに使うように設定することもできます。Mixmasterは匿名リメイラ(remailer)です。Mixmasterはいくつかのリメイラを通して使うことでメッセージの発信元を隠してメッセージを送ることができます。

これを使うにはいくつかの制限があります。一番重要なのは、Ccと Bccへッダを使うことができないということです。Muttから mixmasterを使うには、まずメール作成メニューの max機能を使って一連のリメイラを選ぶ必要があります。

この一連のリメイラを選ぶ画面は2つの部分に分かれています。大きな上の部分は使うことのできるリメイラのリストを表示します。下の部分に今選ばれている一連のリメイラが表示されます。

この選ばれている一連のリメイラの鎖の中を `chain-prev`関数と `chain-next`関数を使って移動できます。この関数はデフォルトでは左と右の矢印キーと `h`と `l`キーに割り当てられています（viのキーバインドを考えてください）。新しいリメイラを鎖の中のカーソルのある位置に挿入するには、`insert`関数を使ってください。リメイラをカーソルの後ろに付け加えるには `select-entry`または `append`を使ってください。対応する関数を使って鎖の中のリメイラを消すこともできます。最後にリメイラの鎖の編集を終わるにはメニューを終えるか `accept`を選んでそれから（デフォルトでは）リターンキーを押してください。

リメイラによって能力が異なることに注意してください。それはリメイラメニューの %cの項目で表示されています（ $mix_entry_formatを参照してください）。一番重要なのは大文字の M で表示される middlemanの能力です。これはそのリメイラが他の mixmasterリメイラにメッセージを送ることはできるが、リメイラの鎖の一番最後にはなれないことを意味しています。他の能力については、mixmasterのマニュアルを見てください。

## 2.5 メールの転送と中継

メールの転送と中継を使うことでいま持っているメールをほかの受信者に送ることができます。メールの中継は sendmail コマンドを利用して、そのメールのコピーを送ろうとしようとしている相手があたかも元々の受信者であるかのようにして送ります。メールの転送はそれとは対照的に再度送信する前にメールに変更を加えて送ることができます(例えばコメントを加えるなど)。

次のキーが初期値として割り当てられています:

    f       forward         メールを転送する
    b       bounce          メールを中継する

メールの転送はオリジナルのメールを(それとわかるように示す行で囲んで)新しいメールの本文に含めるか、もしくは MIME 添付ファイルとして含めることができ $mime_forward変数の値でコントロールします。添付ファイルのデコードは(ページャーのように)、 $forward_decode変数と $mime_forward_decode 変数の値にそれぞれ依存しています。どちらの転送方法がよいかは転送しようとするメールの内容によります。そのため $mime_forward変数は quadoptionになっています、つまり ask-noという風に設定することができます。

へッダを含めるかどうかは mime_forwardが設定されていない限り、 $weedの設定によってコントロールされます。

転送するメールの編集はメールを新たに送信したり返信したりする手続きと同じです。

## 2.6 メールの送信を延期する

すでに書き始めたメールを後で送りたい場合が時々あります。こういう場合に postpone-message機能をメール作成メニュー(compose menu)で使うと、メールの本文と添付ファイルは $postponed変数で指定されたメールボックスに保存されます。こうすることでいったん Mutt を終了した後でももう一度そのメールを呼び出して編集することができるようになります。

いったんメールの送信が延期され $postponed 変数で指定されたメールボックスに保存された場合、そのメールを呼び出すにはいくつかの方法があります。コマンドラインからは -pオプションをつけて Muttを起動してください。またインデックスもしくはページャーで新規のメールを作成しようとすると延期したメールがある場合それを使うかどうか Muttが尋ねてきます。延期したメールが複数ある場合はどのメールの編集を再開するか選択できます。

注意: 返信のメールを延期したならば返信済のマーク(r)はそのメールの編集を終えて実際に送信した時につきます。また返信済のマークがきちんとつくように延期した返信のメールを送信する時は前にいたフォルダーと同一のフォルダーにいなければなりません。

$postpone もご覧下さい。

## 3. 設定

Mutt を最適に利用できるように初期設定(選択)はなされていますが、自分の好みにあわせて設定ファイルを書き直した方がよい場合も多いでしょう。Muttを初めて起動したとき、 -n command lineコマンドラインオプションが指定されていなければ、Muttはシステムで設定されている設定ファイルを読みにいこうとします(初期のファイルの場所はシステム管理者が指定しています)。普通この設定ファイルは /usr/local/share/mutt/Muttrc か /etc/Muttrcです。次に Muttはホームディレクトリーにある .muttrc というファイルを探しにいきます。もしこのファイルがなくてホームディレクトリーに .muttというサブディレクトリーがあれば .mutt/muttrc を読み込みに行こうとします。

.muttrc に commandsコマンドを書き込んで Muttをユーザー独自の設定にします。

また Mutt はバージョン毎の設定ファイルを指定することができ、それを指定していた場合は上に述べた初期の設定ファイルではなくそのファイルを読み込みます。例えば Muttrc-0.88というファイルがシステムで設定されているディレクトリーにあって、Mutt のヴァージョン 0.88 を使っている場合、 Muttrc ではなくそのファイルが読み込まれます。ユーザー独自の設定ファイルに関しても同様で、ホームディレクトリーに .muttrc-0.88.6 というファイルをおいてバージョン 0.88.6の Mutt を走らせた場合、このファイルが .muttrc の代わりに読み込まれます。いま使っている Mutt がどのヴァージョンのものかはコマンドラインオプションで -v を指定するかインデックスメニューでバー ジョンを確認する show-versionキー(初期値: V)を押すことで確認できます。

## 3.1 初期化ファイルの構文

初期化ファイルは一連のコマンドで構成され、それぞれの行は一つ以上のコマンドを含みます。一つの行に複数のコマンドを記入する場合はセミコロン(;) でコマンドを区切らなければなりません。

    set realname='Mutt user' ; ignore x-

ハッシュマーク、またはポンド記号( # )、はコメント記号として使われます。コメント記号から行の最後まではコメントとして無視されますので初期化ファイルに注釈を付けたい場合に利用できます。例えば、

    my_hdr X-Disclaimer: Why are you listening to me? # This is a comment

シングル引用符(')とダブル引用符(")はスペースなどの特殊な文字を含む文字列をくくるのに使います。二つの引用符の違いは多くの一般的なシェルプログラミングにおけるそれらの違いと似ています。つまり、シングル引用符が用いられた場合その中の文字列はその文字の字義のままになります(シェル変数の展開もされませんしバックスラッシュによるエスケープ[次のパラグラフを参照]も受けません)。一方、ダブル引用符の中の文字列はその中の文字が特殊な文字として解釈されうる場合があります。例えば、バック引用符はダブル引用符の中では解釈されますがシングル引用符の中では解釈されません。

\ は、bash や zsh でそうであるように、次に来る特殊な文字を解釈されないようにエスケープします。例えばダブル引用符(")を解釈され得る特殊な文字としてではなく字義通りの意味で文字列の中で使いたい場合、 \ を使うことが できます。

    set realname="Michael \"MuttDude\" Elkins"

\ そのものを行に挿入するには \\ とします。 \n と \r は C で持つ意味と同じで改行と復帰をそれぞれ意味します。

行末に \ を置くことでコマンドを複数の行に分けて書くことができます。ただしコマンド名の途中でわけることは許されません。

初期化ファイルの中で Unix のコマンドをバック引用符(`)でくくることにより Unix の出力に置き換えるようにすることもできます。例えば次のようにします。

    my_hdr X-Operating-System: `uname -a`

行が解釈される前に uname -a という Unix のコマンドの出力に置き換えられます。初期化ファイルは行指向であるため Unix コマンドの出力は最初の行しか置き換えられないということに注意して下さい。

UNIX の環境には sh や bashのようなシェルと似た方法でアクセスすることができます。環境変数名の前に"$dollar;" を前置するのです。例えば、次のように使ってください、

    set record=+sent_on_$HOSTNAME

Muttが解釈できるコマンドは次のセクションから説明されています。コマンドの完全なリストは command referenceを見てください。

## 3.2 エイリアスを定義/使用する

使い方: `alias` `key address [ ,` `address, ... ]`

メールをやりとるする相手のメールアドレスを覚えておいたりタイプしたりするのは普通とても面倒です。Muttでは完全なメールアドレスの略記としてエイリアスを作成することができます。

注意: エイリアスをグループ(複数のメールアドレスを指定)に対して作成したい場合はそのアドレスをコンマ( , )で区切らなければなりません。

エイリアスを削除するには、

`unalias` addr [ addr ... ] を使ってください。

    alias muttdude me@cs.hmc.edu (Michael Elkins)
    alias theguys manny, moe, jack

他のメーラーとは違い Mutt はエイリアスを特別のファイルに定義する必要はありません。エイリアスコマンドはそのファイルが読み込まれる( sourcedを参照)ならば設定ファイルの中のどこにあってもいいのです。従って、複数のエイリアスファイルを持つこともすべて muttrc の 中に定義することもできます。

一方、 create-alias という機能で扱えるファイルは $alias_file変数で指定される(初期の状態で ~/.muttrc)ファイルのみです。Mutt はどのファイルにたいしてもうまくエイリアスを追加できるという意味ではこのファイルは特別なファイルではありませんが、新しいエイリアスを機能させるにはこのファイル を source コマンドで読み込む必要があります。

例えば:

    source /usr/local/share/Mutt.aliases
    source ~/.mail_aliases
    set alias_file=~/.mail_aliases

エイリアスを使うには To: や Cc: など Mutt がメールアドレスの入力を要求するところで作成したエイリアスを入力するだけです。またヘッダーを編集可能なように $edit_headers変数をセットしている場合は適切なヘッダーに対してエイリアスを使うことができます。

さらに、メールアドレスを入力する様々な場面で TABキーを押すことで書きかけのエイリアスを完全なエイリアスに補完することができます。いくつかのエイリアスにマッチした場合マッチしたエイリアスを選択するメニューを表示します。エイリアスの完全なリストを表示させるには書きかけのエイリアスが無い状態で TABキーを押さなければなりません、つまり未入力の状態や複数のメールアドレスに対するエイリアスの場合はコンマの後などで TAB キーを押すのです。

エイリアス選択メニューでは select-entry キー(初期値: RET)を押すことで好きなだけ選択することができます。選択メニューを抜けてメールアドレスの入力に戻るには exit キー(初期値: q)を押します。

## 3.3 デフォルトのキーバインディングを変更する

使い方: `bind` `map` `key` `function`

このコマンドは初期のキーバインディングを変更するコマンドです(キーを押した時に機能します)。

map はどのメニューに対するキーバインディングなのかを指定します。今のところ定義されている map は、

- generic
- alias
- attach
- browser
- editor
- index
- compose
- pager
- pgp
- postpone

です。

key はバインドしたいキー(または一続きのキー)です。コントロール文字を指定したい場合は \Cx というキーの連続を用います。ここで x はコントロールキーを押しながら入力する文字です(例えば Control-A を指定したい場合は \Ca とし ます)。x と \C が大文字であるか小文字であるかは無視されます、つまり\CA、 \Ca、 \cA、\ca はすべて同じものを意味します。もう一つの方法は \ を前 に置いた三桁の8進数で指定することで可能になります(例えば \177は \c?と同 じ意味です)。

また次のものも使うことができます:

    \t              tab
    <Tab>           tab
     \r             carriage return
     \n             newline
     \e             escape
    <esc>           escape
    <up>            up arrow
    <down>          down arrow
    <left>          left arrow
    <right>         right arrow
    <pageup>        Page Up
    <pagedown>      Page Down
    <backspace>     Backspace
    <delete>        Delete
    <insert>        Insert
    <enter>         Enter
    <home>          Home
    <end>           End
    <Space>         Space bar
    <f1>            function key 1
    <f10>           function key 10

key はスペースを含まない限り引用符でくくる必要はありません。

function で key が押された時にどのような動作をするかを指定します。function の完全なリストは reference を参照して下さい。noop は特殊な functionでキー(キーの連続)へのバインドを外します。

## 3.4 文字セットのエイリアスを定義する

Usage: `charset-hook` alias charset

このコマンドは文字セットのエイリアスを定義します。これは muttが知らない文字セットを使っているメッセージを正しく表示するのに便利です。

## 3.5 メールボックスに関係する変数の設定

使い方: `folder-hook [!]``regexp` `command`

メールボックスによって設定を変更したい場合が多くあります。folder-hookコマンドを使うことで特定のメールボックスに対して設定コマンドを実行できます。patternは commandを実行するメールボックスを指定する正規表現で、command はメールボックスを読み込む前に実行されます。一つのメールボックスに対していくつかの folder-hook がマッチした場合は muttrc に書いてある順に実行されます。

注意: $spoolfileへのショートカットとして ! を pattern の最初に使いたい場合、正規表現の not 演算子と区別するためにダブルもしくはシングル引用符でくくらなければなりません。

メールボックスを離れた時に元の設定に戻るわけではないということに注意して下さい。例えば、読み込むメールボックスの並べ方を変更するためのコマンドの例として次のようなものがありますが:

    folder-hook mutt set sort=threads

別のメールボックスに移ったからといって前の並べ方にもどるわけではありません。default のコマンドを指定するには 「.」 というパターンを用いて下さい:

    folder-hook . set sort=date-sent

## 3.6 キーボードマクロ

使い方: `macro` `menu` `key` `sequence [` `description ]`

一連のアクションを一つのキーで実行したい時にマクロは便利です。ある menu で key を押した場合、Mutt は sequence を続けざまに押した時と同じように振舞います。ですから、共通して使う一連のコマンドがある場合、マクロを作成すると一つのキーでそれらのコマンドを実行できるようになります。

key と sequence はキーバインディングにおけるルール( key bindings)と基本的に同じルールで展開されますが、次のルールが追加されています。sequence においてコントロールキャラクターを入力するのに ^x という形も使うことができます。カレット( ^ )を入力するには ^^ と入力する必要があります。2番目はある種のキー、例えば Up、や関数を <key name>と <function name>というフォーマットを使って直接呼び出すことができることです。使うことのできるキーの名前は key bindingsを参照してください。また関数は function referenceに一覧表があります。

関数名を直接使う場合のメリットはマクロが現在のキーバインドに影響されないことです。したがってユーザーがどのようにキーを定義しているかに依存しません。これによってマクロがより環境に影響されにくくなり可搬性が高まります。またこれを使うことによって何人もの人が使うファイル（例えばシステム全体の Muttrc）の中でマクロを定義できます。

オプションとして一連のコマンドの後ろにヘルプスクリーンに表示される説明文を指定することができます。

注意: ヘルプ画面に表示されるマクロ定義は画面の広さにあわせて折り返して表示するということはなされませんので、スクリーンの広さ分しか表示されませ ん。

## 3.7 色属性とモノ属性を使う

使い方: `color` `object` `foreground` `background [` `regexp ]`

使い方: `color index` `foreground` `background [` `pattern ]`

使い方: `uncolor index` `pattern [` `pattern ... ]`

端末がカラー表示をサポートしていれば、Muttを独自の色構成にすることで見ためをちょっと派手にすることができます。object の色を定義するには foregroundの色と backgroundの色の両方を定義しなければなりません(片方だけを定義することはできません)。

object は次の内のどれかです:

- attachment
- body (regexp にマッチするメールの本文)
- bold (メールの本文の太字シークエンス)
- error (Mutt が出力するエラーメッセージ)
- header (regexp にマッチするメールのヘッダー)
- hdrdefault (pager におけるメールのヘッダーのデフォルトの色)
- index (メールインデックスにおける pattern にマッチします)
- indicator (メニューで現在のアイテムを指し示す矢印もしくはバー)
- markers (ページャーで折り返された行の最初に表示される + マーク)
- message
- normal
- quoted (メールの本文で $quote_regexp にマッチする部分)
- quoted1, quoted2, ... quotedN
- search
- signature
- status (メールボックスやメールに関するモードに関する情報を示す行)
- tilde (ページャーにおいて空行を示すのに使われる `~` )
- tree (インデックスとファイル添付メニューで描かれるスレッドツリー)
- underline (メールの本文の下線つき文字のシークエンス)

foregroundと backgroundは次の内のどれかです:

- white
- black
- green
- magenta
- blue
- cyan
- yellow
- red
- default
- colorx

foreground に関しては先頭に bright という接頭辞を付けることにより太字にすることもできます(例えば、brightred)。

端末がサポートしていれば、基本色として default という特別な色を指定することができます。また brightdefault という書き方も正しい書き方です。Mutt が S-Lang ライブラリーにリンクされている場合、さらに COLORFGBG変数を端末の基本色として設定しておく必要があります。例えば(Bourne-like shells の場合):

    set COLORFGBG="green;black"
    export COLORFGBG

注意: この変数を設定すると S-Lang ライブラリーは white と yellow の代わりに lightgray と brown をそれぞれ指定することを要求します。

注意: uncolor コマンドは色の登録を解除するコマンドで index の object に関してのみ使うことができます。このコマンドを使うとき color コマンドで指定したパターンと同一のパターンを指定しなければなりません。 * という特別なパターンは index に関する色指定をすべてまとめて解除します。

また Mutt は color0, color1, ..., colorN-1 といったキーワードも解釈できます(N は端末がサポートしている色の番号です)。このキーワードを使うことでディスプレイの色を変更しなおす時に楽になります(例えば、xtermの color2 に設定してある色を変更したりする時です)。ただしそのために色が元々の意味を失ってしまうこともあるかもしれません。

端末が色表示をサポートしていなくとも、monoコマンドを使うことでモノ属性を変更することはできます。

使い方: `mono` <object> <attribute> [ regexp ]

attributeは次のうちのどれかです:

- none
- bold
- underline
- reverse
- standout

## 3.8 不要なメールヘッダを隠す

使い方: `[un]ignore` `pattern [` `pattern ... ]`

メールにシステムから自動的につけられたたくさんのヘッダーフィールドがあることがしばしばあります、またはスクリーンに表示させてもあまり役に立ちそうにないヘッダーフィールドもあります。このコマンドを使うことで普段は隠しておきたいヘッダーフィールドを指定することができるようになります。

ヘッダーフィールドの名前を完全に指定する必要はありません。例えば、 ignore content- としていすると content- で始まるヘッダーフィールド はすべて無視されます。

前に追加された設定を隠すリストから外すには unignore コマンドを使って下さい。 unignore コマンドは与えられたパターンのヘッダーフィールドを表示させるコマンドではないですので、ignore x- としていて unignore x-mailerとしてもうまくいかないということに注意して下さい。

unignore * とすると設定を隠すリストから全て外します。

例えば、

    # Sven's draconian header weeding
    ignore *
    unignore from date subject to cc
    unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
    unignore posted-to:

## 3.9 メーリングリスト

使い方: `[un]lists` address [ address ... ]

使い方: `[un]subscribe` address [ address ... ]

Mutt にはメーリングリスト handling mailing listsに関する優れた機能があります。それを利用するにはどのアドレスがメーリングリストに属するのかを指定しなければなりません。それを指定すると、 list-reply機能をすべてのメーリングリストに対して使えるようになります。そのうえ購読しているメーリングリストに送るメッセージには Mail-Followup-Toへッダがつき他の人の MUA (Mail User Agents)に返信をあなたの個人のメールアドレスに送らないように知らせます。Mail-Followup-Toへッダは非標準的な拡張ですべての MUAでサポートされているわけではないことに注意してください。またこのへッダを付け加えることはメーリングリストのメッセージの個人宛の CC:を受け取るのを完全に防ぐものではありません。もう一つ注意しておくと Mail-Followup-Toへッダの生成は followup_to変数によってコントロールされます。

詳しく説明すると、Muttは既知(known)のメーリングリストのリストと購読(subscribe)しているメーリングリストのリストを保持しています。すべての購読しているメーリングリストは既知です。あるメーリングリストを既知の状態にするには listコマンドを使います。購読の状態にするには subscribeコマンドを使います。

あいまいさをなくすために十分なアドレスを指定しましょう。例えば、Muttのメーリングリストを購読していて、mutt-users@mutt.orgというアドレスでメールを受け取るとします。Muttにこれがメーリングリストだと教えてやるには設定ファイルに lists mutt-users という行を付け加えてください。これが購読しているメーリングリストだと Muttに教えてやるには subscribe mutt-usersという行を代わりに付け加えます。もし mutt-users@example.comというアドレスを持つ他の人からメールを受け取る可能性がある場合には実際のメーリングリストのメールに一致させるために lists mutt-users@mutt.orgまたは subscribe mutt-users@mutt.orgを使って下さい。

unlists コマンドは既知と購読のメーリングリストのリストからアドレスを外すコマンドです。すべての設定を解除するには unlists * というコマンドを使って下さ い。

購読のリストからははずすが、既知のリストには残しておく場合には unsubscribeを使ってください。

## 3.10 複数のスプールするメールボックスを使う

使い方: `mbox-hook [!]``pattern` `mailbox`

このコマンドはメールボックスを離れたり Mutt を終了させた時に既読のメールを自動的に他のメールボックスに移すのに使われます。pattern はスプールメールボックスとして扱うメールボックスを指定する正規表現です。mailboxは既読のメールをセーブする場所を指定します。

他のいくつかの hook コマンドとは違い、最初にマッチしたパターンだけが使われます(既読のメールを複数のメールボックスにセーブすることはできません)。

## 3.11 メールを取り込むメールボックスを定義する

使い方: `mailboxes [!]``filename [` `filename ... ]`

このコマンドはどのフォルダーにメールを取り込むことができ、そして新着のメールをチェックするかを指定します。初期の設定でステータスバーにこれらのフォルダーが何通の新着のメールがあるかが表示されています。

フォルダーを移動する時に space を押すと新着のメールが到着しているフォルダーを次々に表示します。

ディレクトリーブラウザーで TAB キーを押すと mailboxes コマンドで指定されたメールボックスを表示するメニューを表示します。-y オプション付きで Mutt が起動されると自動的にこのモードになります。

注意: 新着のメールであるかどうかは変更が加えられた時間と最後にアクセスした時間とを比べて判断していますので、biff や frm や他のなんらかのプログラムでメールボックスにアクセスするものを使っている場合、それらのプログラムが適切にアクセスタイムをリセットしなければ Mutt は新着のメールの到 着を判断できません。バックアップツールもアクセスタイムを変える原因の一つです。

注意: mailboxes コマンドにおける filename はコマンドが実行される時に展開されます。そのため、これらの名前が shortcut characters( =や ! のようなショートカット文字)や変数定義の時に使われる文字( $folderや $spoolのような)を含んでいれば mailboxes コマンドが実行される前に展開されます。

## 3.12 ユーザが定義するへッダ

使い方: `my_hdr` `string`

使い方: `unmy_hdr` `field [` `field ... ]`

my_hdr コマンドを使うことで独自のヘッダーフィールドを定義することができます。またそのヘッダーフィールドは送信するメール毎に付加されます。

例えば、Organization: ヘッダーフィールドを出ていくメールすべてに付加したい場合は次のコマンドを .muttrc に書き加えて下さい:

> my_hdr Organization: A Really Big Company, Anytown, USA

in your `.muttrc`.

注意: キーワードとコロン(:)の間にスペースを入れることは許されません。電子メールの標準を定める RFC822 でそのスペースは許されないと定められているので Mutt でもそのルールに従わなければなりません。

全てのメールに対してではなくある一つのメールにヘッダーフィールドを付加したい場合には、そのメールの本文に伴うヘッダーを編集できるように edit_headers 変数をセットしておくか、send-menu で edit-headers 機能 (デフォルト: E)を利用して下さい。

ユーザー独自のヘッダーフィールドを除くには unmy_hdr コマンドを使って下さい。全てのヘッダーフィールドを除くのにアスタリスク(*)を使うこともできます。例えば、すべての To と Cc ヘッダーフィールドを削除するには次のよ うにします:

> unmy_hdr to cc

## 3.13 メールを閲覧する時のヘッダーの並びを決める

使い方: `hdr_order` `header1` `header2` `header3`

このコマンドを使うことでメールを閲覧する時に Mutt が表示するヘッダーの並び順を指定することができます。

`unhdr_order * 'はオーダーリストからすべての前のヘッダーをクリアします。そのためヘッダーの並び順を削除することはシステムワイドなスタートアップファイルによる設定にも影響します。

    hdr_order From Date: From: To: Cc: Subject:

## 3.14 セーブする時のデフォルトのファイル名を指定する

使い方: `save-hook [!]``pattern` `filename`

このコマンドでメールをセーブする時に使われるデフォルトのファイル名を変えることができます。メールの From: が regexp にマッチするかあなた自身がメールの送信者であった場合と To: が regexp にマッチする場合にこのファイル名が使われます。

パターンの正確な形式に関する情報に関しては Message Matching in Hooksを参照して下さい。

例:

    save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
    save-hook aol\\.com$ +spam

fcc-save-hookコマンドも参照して下さい。

## 3.15 Fcc:としてセーブするデフォルトのメールボックスを指定する

使い方: `fcc-hook [!]``pattern` `mailbox`

このコマンドは送信するメールを $record 以外にセーブしたい場合に使います。 Muttはメールの受信者のリストのなかに regexp にマッチするものがあった場合に mailbox として指定されたメールボックスを Fcc: として保存するメールボックスにします。regexp にマッチしなかった場合は $recordメールボックスに保存します。

正規表現(regexp)の正確な形式に関する情報に関しては Message Matching in Hooksを参照して下さい。

Example: `fcc-hook aol.com$ +spammers`

上記のようにすると送信しようとするメールのうちドメインが aol.com であるメールはデフォルトで +spammers メールボックスにコピーが保存されます。 fcc-save-hookコマンドも参照して下さい。

## 3.16 セーブするファイル名のデフォルトと Fcc: するメールボックスのデフォルトを一度に指定する。

使い方: `fcc-save-hook [!]``pattern` `mailbox`

このコマンドは fcc-hookと save-hook を一度に指定するショートカットコマンドで mailbox で同じメールボックスに指定します。

## 3.17 メールの宛先によって設定を変更する

使い方: `send-hook [!]``pattern` `command`

このコマンドを使うことでメールの宛先に応じて任意のコマンドを実行できます。pattern は send-hook コマンドを実行したいアドレスにマッチする正規表現で、マッチした場合は command で指定されたコマンドが実行されます。複数の send-hook コマンドがマッチした場合には muttrc に書かれている順に実行 されます。

パターンの正確な形式に関する情報に関しては Message Matching in Hooksを参照して下さい。

例: `send-hook mutt "set mime_forward signature=''"`

他の典型的な使い方としてはメールの宛先に応じて $attribution、 $signature、 $locale変数を変更することがあります。こうすることで引用する時に示す出典の言葉と署名の言語を変更することができます。

注意: send-hook コマンドは最初に受信者のリストを Mutt が調べた時に一度だけ実行されます。返信操作を行った後や編集を終えた後で受信者を追加しても send-hookコマンドは実行されません。また受取人に関するへッダやサブジェクトを変える my_hdrコマンドは send-hookから実行されるメッセージには何の影響も与えません。

## 3.18 受取人の PGP キーを選ぶ

使い方: `pgp-hook` `pattern` `keyid`

PGPでメールを暗号化しようとしている場合、特定のメールアドレスに対して一定の PGP鍵を自動的に振り当てたい場合があります。なぜなら受取人の公開鍵がアドレスから推測できなかったり、なんらかの理由で Mutt が普通使う鍵ではないものを使いたかったりするからです。pgp-hook コマンドを使うことで特定の受取人のメールを暗号化するときに公開鍵の IDを指定することができるようになります。

## 3.19 一連のキーをキーボードバッファーに加える

使い方: `push` `string`

このコマンドは名前付き文字列をキーボードバッファーに加えます。この文字列は macroコマンドの一連の文字列と同じようにコントロールキャラクタ、キーの名前、関数名を含むことができます。これ使って起動時や特定のフォルダに移動したときに一連のコマンドを実行することができます。

## 3.20 メールにスコア付けする

使い方: `score` `pattern` `value`

使い方: `unscore` `pattern [` `pattern ... ]`

scoreコマンドは patternにマッチするメールのスコアの値を変更します。pattern は patternsセクションに書かれている形式の文字列です。valueは正か負の整数です。メールの最終的なスコアは scoreコマンドのすべての合計です。とはいえ、value に等号記号(=)を前置して pattern にマッチする特定の エントリーに対するスコアの計算を止めさせることで上限を設定することもできます。スコアの下限は 0 です。

unscore コマンドはリストから score のエントリーを外します。外す時は scoreコマンドで指定したのと同じパターンを指定しなければなりません。* という特殊なパターンは score のエントリーを全て外します。

## 3.21 変数を設定する

使い方: `set [no|inv]``variable[=``value] [` `variable ... ]`

使い方: `toggle` `variable [``variable ... ]`

使い方: `unset` `variable [``variable ... ]`

使い方: `reset` `variable [``variable ... ]`

このコマンドは configuration variables変数をセットしたり外したりするのに使います。変数には boolean, number, string, quadoption という4つの種類があります。boolean 変数は set (true)か unset (false)がその取り得る値で、number 変数 はその値に正の整数を指定します。

string 変数はいくつかの文字からなり、スペースやタブを含む場合は引用符で括らなければなりません。また C でそうであるように改行とタブはそれぞれ \n、\t というエスケープシークエンスで指定することができます。

quadoption 変数は何らかの操作をした時にプロンプトを表示させるかどうかをコントロールしたりプロンプトのデフォルトの答えを指定するのに使います。yesという値を設定するとプロンプトの質問に対して自動的に yes と答えたように Mutt は反応します。同様に no と設定した場合は no と答えたように反 応します。ask-yes と設定した場合はデフォルトの答えを yes にしてプロンプトが表示され ask-no と設定した場合はデフォルトの答えを no にしてプロンプトが表示されます。

no という前置詞を変数につけるとその変数の設定を外します。例: `set noaskbcc`

boolean変数に対しては `inv` という前置詞を変数名につけて利用することができます。`inv` という前置詞が付けられた boolean変数はその値が逆になります (on か off に)。マクロを書く時に便利です。例: `set invsmart_wrap`

`toggle` コマンドは指定されたすべての変数の頭に `inv` がつけられたようにすることができるコマンドです。

`unset`コマンドは自動的に指定した変数の頭に `no` という前置詞をつけます。

変数の値を調べるにはインデックスメニューで enter-command 機能で変数の前にクエスチョンマークを付けたものをセットすればわかります。

    set ?allow_8bit

実際には boolean 変数と quadoption変数に対してしかクエスチョンマークを付ける必要はありません。

`reset`コマンドは与えられたすべての変数の値をコンパイル時のデフォルトに戻します。`set`コマンドで変数の頭に「&」をつけると `reset`コマンドと同じ振舞いをします。

reset コマンドには all という特殊な変数を設定することができ、この変数を設定するとすべての変数設定を解除してシステムのデフォルトの設定に戻すことができます。

## 3.22 他のファイルから初期化コマンドを読み込む

使い方: `source` `filename`

このコマンドを使うことで他のファイルから初期化コマンドを読み込むことができます。例えば、エイリアスファイルを `~/.mail_aliases` にわけてこちらは他の人が読めないようにし `~/.muttrc`は読めるようにする、ということができ ます。

filenameがチルド(`~`)で始まっていれば、チルドはあなたのホームディレクトリの絶対パスに展開されます。

filenameが垂直バー(|)で終っていればそのファイルはそこから入力を読み込む実行ファイルとみなされます。(例: `source ~bin/myscript|/`)

## 3.23 フックを取り除く

使い方: `unhook` [ * | hook-type ]

このコマンドは設定してある hookを無効にします。すべての hookを無効にするにはアステリスク(*)を引数にしてください。`unhook send-hook`のようにして特定のタイプの hookをすべて無効にすることもできます。

## 4. 高度な使い方

## 4.1 正規表現

複雑なパターン patternsも含めて Mutt で文字列を検索するには POSIXで拡張された形の正規表現を指定しなければなりません。(拡張正規表現の文法は egrepとGNU awkでも多少採り入れられています)。読者の便宜のためにこの文法の簡単な説明をマニュアルに含めました。

検索パターンが一つでも大文字を含めば大文字小文字を区別して検索が行われます、それ以外は大文字小文字を区別しません。初期化コマンドの中で \ を正規表現に使いたい場合、\ は \\ という風にエスケープされなければなりませ ん。

正規表現は文字列のセットを記述するためのパターンです。正規表現は数学の式の組み立てと似ており、小さな式を組み合わせるのに色々な演算子を使いま す。

基本となる単位は1つの文字にマッチする正規表現であり、アルファベットとアラビア数字の全てを含むほとんどの文字はその文字そのものがそれ自身にマッチする正規表現です。特殊な意味を持つメタキャラクターは前にバックスラッシュを付けることでエスケープします。

ピリオド(.)は任意の1文字にマッチします。カレット(^)とドル記号($)はそれぞれ行の最初と最後という概念的な文字(行の最初にある一文字を表すのではなく行の最初という概念的なものを表す正規表現です)にマッチするメタキャラク ターです。

[ と ] で囲まれた文字のリストはその中にある文字のどれかにマッチします。もしリストの最初にカレット(^)があればそのリストにない文字にマッチします。例えば [0123456789]はアラビア数字のうちのどれかにマッチします。ASCII文字を指定する場合最初の文字と最後の文字の間にハイフン(-)を置くことで範囲指定することができます。ほとんどのメタキャラクターはリストの中ではその意味を失います。]そのものをリストの中に置きたい場合はリストの最初に置きます。同様に ^ そのものをリストの中に置きたい場合はリストの最初以外の場所に置きます。そしてハイフン(-)を置きたい場合はリストの最後に置きます。

特定の文字クラスは前もって定義してあります。文字クラスは、[: 、そのクラスを表すキーワード、:] 、で構成されます。次に示すクラスは POSIX 標準で定められているものです。

[:alnum:]

  アルファベットとアラビア数字

[:alpha:]

  アルファベット

[:blank:]

  スペースとタブ

[:cntrl:]

  制御文字

[:digit:]

  アラビア数字

[:graph:]

  印字可能かつ見える文字(スペースは印字可能であるが見えない。一方 a は印字可能かつ見える文字)

[:lower:]

  アルファベットの小文字

[:print:]

  印字可能な文字(制御文字以外)

[:punct:]

  句読点(アルファベット、アラビア数字、制御文字、スペース以外の文字)

[:space:]

  空白文字(スペース、タブ、改ページ等)

[:upper:]

  アルファベットの大文字

[:xdigit:]

  16進数

文字クラスは角括弧で囲まれた文字リストの中でのみ有効です。文字クラス名にある角括弧は記号名の一部だということに注意して下さい。つまり、文字リストを定義する角括弧とは別に角括弧で囲まれなければなりません。例えば: [[:digit:]] は [0-9] と同義です。

文字リストの中ではさらに2つの特別なシークエンスがあり、これらで照合要素と呼ばれる複数の文字を表す一つの記号を使ったり、同じように文字を照合したりソートしたりするために等価ないくつかの文字を一つの記号で表したりすることで ASCII 以外の文字セットも利用できるようになっています。

照合記号

  照合記号は [. と .] で括られた複数の文字を参照する要素です。例えば、ch が照合要素だとすると [[.ch.]] がこの照合要素にマッチする正規表現です。一方 [ch] は c か h のどちらかにマッチする正規表現です。

等価クラス

  等価クラスとは同義の文字のリストに対してその場所を指定する名前で す。名前は [= と =] で括ります。例えば、e という名前で e, e, e 全てを表すものとして使うこともできます。この場合 [[=e=]] は e, e, e のどれかにマッチする正規表現です。

一つの文字にマッチする正規表現は下に示す繰り返し演算子を後に付けることができます。

?

  直前の正規表現が一つもないか一つ

*

  直前の正規表現の0回以上の繰り返し

+

  直前の正規表現の1回以上の繰り返し

{n}

  直前の正規表現のn回の繰り返し

{n,}

  直前の正規表現のn回以上の繰り返し

{,m}

  直前の正規表現の0回以上m回までの繰り返し

{n,m}

  直前の正規表現のn回以上m回までの繰り返し

二つの正規表現をそのままつなぐこともできます。つないでできた一つの正規表現はつなげた二つの正規表現がそれぞれマッチする二つの文字列をあわせた一つの文字列にマッチします。

二つの正規表現は選択演算子 | でつなぐことができ、二つをつないでできる一つの正規表現は二つの正規表現の内のどちらかがマッチする文字列にマッチし ます。

繰り返し演算子と正規表現とのつながりは正規表現同士のつながりよりも優先します。選択演算子でつながれた正規表現の後に繰り返し演算子がくると、順番に選択演算子に対して優先しますので、どちらかの正規表現の繰り返しを表します。正規表現同士を括弧 () で括ってしまえば繰り返し演算子より優先させ ることができます

注意: Mutt を GNU rx パッケージと共にコンパイルしていれば次の演算子を正規 表現の中で使うこともできます。

\\y

  単語の先頭か最後という概念的な文字ににマッチします

\\B

  単語内という概念的な文字にマッチします

\\<

  単語の先頭という概念的な文字にマッチします

\\>

  単語の最後という概念的な文字にマッチします

\\w

  単語を構成する任意の文字にマッチします(アルファベット、アラビア 数字、アンダースコア)

\\W

  単語の成分以外の任意の文字にマッチします。

\\`

  バッファの先頭という概念的な文字列にマッチします(文字列)

\\'

  バッファの最後という概念的な文字列にマッチします

しかしながらこれらの演算子は POSIX では定められておらず、そのため様々なシステムのストックライブラリでは使えたり使えなかったりする、ということに注意して下さい。

## 4.2 パターン

多くの Muttコマンドではマッチさせるパターンを指定することができます (limit、タグパターン、削除パターン、etc)。複数のメールを選択するのにいくつかの方法があります:

    ~A              全てのメール
    ~b EXPR         本文に EXPR を含むメール
    ~B EXPR         EXPR を含むメール
    ~c USER         CC に USER が宛てられているメール
    ~C EXPR         To: か Cc: に EXPR を含むメール
    ~D              削除マークが付けられたメール
    ~d [MIN]-[MAX]  送信された日付けがその範囲の中にあるメール
    ~E              エクスパイアされているメール
    ~e EXPR         Sender フィールドに EXPR を含むメール
    ~F              重要のマークがついているメール
    ~f USER         USERから出されたメール
    ~g              PGP 署名されているメール
    ~G              PGP 暗号化されているメール
    ~h EXPR         ヘッダーに EXPR を含むメール
    ~k              PGP鍵を含んだメール
    ~i ID           Message-ID フィールドで ID にマッチするメール
    ~L EXPR         EXPR から出されているか EXPR に届いているメール
    ~l              メーリングリストに指定されているアドレスにマッチするメール
    ~m [MIN]-[MAX]  MIN から MAX の範囲のメール
    ~n [MIN]-[MAX]  MIN から MAX の範囲のスコアのメール
    ~N              新着のメール
    ~O              古い未読メール
    ~p              あなたに宛てられたメール
    ~P              あなたが出したメール
    ~Q              返信済のメール
    ~R              既読のメール
    ~r [MIN]-[MAX]  受信日がその範囲にあるメール
    ~S              置き換えられたメール
    ~s SUBJECT      Subject フィールドに SUBJECT を持つメール
    ~T              タグ付けされたメール
    ~t USER         USER宛のメール
    ~U              未読のメール
    ~v              折り畳んだスレッドに含まれるメール
    ~x EXPR         References フィールドに EXPR を含むメール
    ~z [MIN]-[MAX]  サイズが MIN から MAX の間のメール *)

EXPR、USER、ID、SUBJECTは正規表現 regular expressionsです。

*) <[MAX]、 >[MIN]i、 [MIN]-、-[MAX] という書き方もできます。

### パターン修飾子

もしすべてのリストの中から少なくとも一つマッチした場合パターンは複数のアドレスにマッチする可能性があるということに注意してください(とりわけc、C、p、P、tではそうです)。もしアドレスを確認したい場合はパターンに ^を前置する必要があります。この例はドイツからの受取人を含むすべてのメールにマッチします。

    ^~C \.de$

### 組み合わせて検索する

AND 検索は一つ以上の基準を記述することで行われます。例えば:

    ~t mutt ~f elkins

は受信者のリストに muttという単語を含み、かつ From ヘッダーフィールドに elkins という単語を持つメールを選択します。

Mutt では次にあげる演算子も利用でき、もっと複雑な検索パターンを指定することができます:

- ! -- 論理 NOT 演算子
- | -- 論理 OR 演算子
- () -- 論理グループ化演算子

ここで組み合わせ検索の例を説明します。このパターンは To もしくは Cc フィールドに mutt を含まず、かつ From が elkins であるメールを選び出します。

    !(~t mutt|~c mutt) ~f elkins

### 日付で検索する

Mutt は絶対的な日付と相対的な日付という二つの日付のタイプをサポートしています。

絶対的な日付。 日付は DD/MM/YY という形式で指定しなければなりません(月と 年は省略することができます、省略された場合は現在の月と年とみなされます)。正しい日付の範囲指定の例を挙げます:

    Limit to messages matching: ~d 20/1/95-31/10

もし選択しようとする日付の範囲の最初の日付を省略して -DD/MM/YYとだけ指定した場合その日付以前のメールが全て選択されます。最後の日付を省略して DD/MM/YY- とのみ指定した場合はその日付以降のメールが選択されます。ダッシュ(-)なしで一つの日付を指定した場合はその日付に送られたメールだけが選択されます。

相対的な日付。 このタイプの日付は現在の日付に対する相対的なものです。そして次のような指定の仕方ができます:

- >offset (offset 単位よりも古いメール)
- <offset (offset 単位よりも新しいメール)
- =offset (正確に offset 単位の分古いメール)

offset は次の単位が後に続く正の数です。

    y      年
    m      月
    w      週
    d      日

例: 一ヵ月以上は古くないメールを選択するには次のようにします。

    Limit to messages matching: ~d <1m

注意: 検索の時に使われる日付はすべてローカル時間に対する相対的なものです。ですから $index_format が %[...] フォーマットを含むように設定を変更しない限りインデックスで表示される日付がこれにマッチするというわけではありません。

## 4.3 タグを使う

時には一度に一通づつよりもまとめて操作をしたい場合があります。例えば、あるメーリングリスト宛てのメールを別のフォルダーに保存したり、与えた Subject を含む全てのメールを削除する場合などです。パターンにマッチしたメールにタグ付けしたい場合は tag-pattern 機能を使います(デフォルトで Tに割り当てられています)。もしくは tag-message 機能(デフォルトで t に割り当てられています)を使うことで個々のメールを手動でタグ付けすることもできます。パターンの文法については検索の章 patternsを参照して下さい。

いったん望むメールにタグつけしたら tag-prefix 演算子(デフォルトでセミコロン(;)キー)を使います。tag-prefix 演算子が使われると、その次の操作でタグつけしたメールに対して操作が行われます(その操作が正しい操作であれば)。 $auto_tag変数がセットされていると、tag-prefix 演算子を使うこと無しに次の操作が自動的にタグつけされたメールに施されます。

## 4.4 フックを使う

フックの概念は EMACSエディターから借りてきたもので、これを使うことでなんらかの操作をする前に任意のコマンドを実行することができるようになります。例えば、読んでいるメールボックスや送るメールのあて先に応じてなんらかのコンフィギュレーションを実行したいことがありますよね。Muttの世界ではフックコマンドはコンフィギュレーションオプションやコマンドにそった形で正規表現 regular expressionかパターン patternから構成されます。使うことができるフックコマンドの 詳細は次のものを確認してください。

- folder-hook
- send-hook
- save-hook
- mbox-hook
- fcc-hook
- fcc-save-hook

### フックコマンドでメールにマッチさせる

メールに応じて実行するフックコマンド(send-hook、save-hook、fcc-hook)は少し違った方法で評価されます。他のタイプのフックコマンドは正規表現 regular expressionで十分です。しかしメールを扱うときはもう少しきめの細かいマッチングが必要になります。というのも、さまざまな基準で、またさまざまな目的でマッチさせたい場合があるからです。

Muttではフックコマンドでメールをマッチさせるには検索パターン言語 search patternを使うことができます。これは、メールのエンベロープに関する情報にマッチする演算子に制限されること以外は、メールボックスを絞り込んだり検索したりするのと全く同じように動作します。

例えば、返信先のアドレスを特定の宛先に対してセットしたい場合は次のようにすることができます:

    send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt User <user@host>'

これは me@cs.hmc.edu 宛てにメールを送るときに実行されます。

しかしながら、マッチさせるパターンを書くときに検索言語を完全な形式で書くことが要求されるわけではありません。他のフックコマンドのように単純に正規表現で指定することもできます。そうされた場合Mutt は $default_hook変数に指定されている値を元にパターンの完全な形を推測して実行します。パターンの完全な形への変換はフックコマンドが宣言されたときに行われますので、その時に有効な $default_hookの値が使われます。

## 4.5 外部にアドレスを問い合わせる

Mutt は LDAP や ph/qi や bbdb や NIS といった外部のディレクトリーデータベースへ、単純なインターフェイスを使って Muttに接続するラッパースクリプトを通して接続できます。 $query_command変数を使って利用するラッパースクリプトを指定します。例えば:

    set query_command = "mutt_ldap_query.pl '%s'"

ラッパースクリプトは問い合わせをコマンドラインから受け付けるようにして一行のメッセージを返すようにします。マッチした応答はそれぞれ一つの行になり、それぞれの行はタブで区切られたアドレス、それから名前、それから他の付加的な情報という風に並びます。エラーが起きたりマッチしたアドレスがなかった場合は0以外のコードを返すようにして一行のエラーメッセージを返す ようにします。

複数の応答の出力の例:

    Searching database ... 20 entries ... 3 matching:
    me@cs.hmc.edu           Michael Elkins  mutt dude
    blong@fiction.net       Brandon Long    mutt and more
    roessler@guug.de        Thomas Roessler mutt pgp

Mutt では問い合わせ機能を利用するのに2つの仕組みが用意されています。一つはインデックスメニューから問い合わせ機能(初期値: Q)を使う方法です。これを使うとまず問い合わせのプロンプトを表示し、それからマッチした応答のリストを問い合わせメニューに表示します。問い合わせメニューでエイリアスを作成するメールや今からメールを出す宛先を選択することができます。また複数のメッセージをメールに出すためにタグつけすることも、新たに問い合わせを始めることも、今の応答に加えてさらに問い合わせ をすることもできます。

もう一つの問い合わせ機能を利用する仕組みはアドレスの補完で、エイリアスの補完によく似ています。アドレスを入力するすべてのプロンプトで今タイプしようとしているアドレスに基づいて問い合わせを実行し、問い合わせ補完 (complete-query function / 初期値: ^T)を使うことができます。エイリアス の時と同じように Mutt は最後にスペースかコンマを打った場所まで戻ってタイプされたアドレスを検索します。問い合わせに対して一つだけの応答があった場合その場でそのアドレスが展開されます。複数の応答があった場合は問い合わせメニューを呼び出します。問い合わせメニューで一つもしくは複数のア ドレスを選択してプロンプトに追加することができます。

## 4.6 メールボックスの形式

Mutt は読み書きする4つの異なるメールボックスの形式をサポートしています: mbox, MMDF, MH, Maildirです。メールボックスのタイプは自動的に判定されるので異なるメールボックスのタイプを指定するフラグを使う必要はありません。新しいメールボックスを作成するときは $mbox_type変数で指定されているタイプがデフォルトとして使われます。

mbox これは UNIX でもっとも広く使われているメールボックスの形式です。すべてのメールは一つのファイルに格納されます。それぞれのメールは次の形式の行を含み、この行が区切りとなり新しいメールが始まります。

    From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST

この行はよく From_ 行と呼ばれます。

MMDF これは mbox 形式の変形で、それぞれのメールは ^A^A^A^A (4つの Ctrl-A)を含む行で囲まれます。

MH mbox と MMDF を大幅に革新したものです。メールボックスはディレクトリーからなりそれぞれのメールは別々のファイルに格納されます。ファイル名はメール番号を示します(しかし、この番号は Muttが表示する番号とは一致しない場合もあります)。削除されたメールはファイル名の先頭にコンマ(,)がつけられます。注意: Mutt は .mh_sequences か .xmhcache があるかどうかでこのメールボックスのタイプを判断します(これらのファイルは普通のディレクトリと MHメールボックスを区別するのに必要です)。しかし Mutt はこれらのファイルをアップデートすることはしません。

Maildir 最新のメールボックスの形式で、Qmail という MTA で使われています(Qmail は sendmail を置き換える MTA です)。MH とよく似ていますが、メールボックスのサブディレクトリーとして、tmp、new、curという3つのディレクトリが加えられます。ファイル名は、たとえ他のプログラムが NFS を通して書き込んでも唯一であるような方法でつけられます。つまりファイルをロックする必要がありません。

## 4.7 メールボックスへのショートカット

特定のメールボックスを参照するために定義済みのショートカットがたくさんあります。これらのショートカットはファイルやメールボックスのパスを入力するところならばどこでも使うことができます。

- ! -- $spoolメールボックスを参照します
- > -- $mboxファイルを参照します
- < -- $recordファイルを参照します
- -または!! -- 最後に訪れたファイルを参照します
- `~` -- ホームディレクトリを参照します
- =または + -- $folderディレクトリを参照します
- @alias -- エイリアスのアドレスで定義される「セーブを行うデフォルトのフォルダー」 default save folderを参照します。

## 4.8 メーリングリストを扱う

Muttには大量のメールを扱うための設定オプションがいくつかあります。まず第一に Muttにどれがメーリングリストのアドレスであるか(技術的にはメーリングリストのアドレスである必要はありませんが、そういった用途で一番よく使われます)、どれが購読しているメーリングリストであるか教えてやります。これは lists and subscribeコマンドを muttrc に書いて設定 します。

そうして Mutt にどれがメーリングリストであるか教えてやるといくつかのことが可能になります。まず第一にそのリスト名をインデックスメニューで表示させることができるようになります。これは個人的なメールとメーリングリスト宛てのメールが同じメールボックスにあるときに区別するのに役立ちます。それから $index_format変数での %L というエスケープはメーリングリストがあった場合は To <list> という文字列を返します。そして CC フィールドにリスト名があった場合は Cc <list> という文字列を返します(そうでなければメー ルの著者の名前を返します)。

しばしばメーリングリストのメールは To と Cc フィールドが膨大になっている傾向があります。ほとんどの人はメーリングリストで返信するときにわざわざ元の著者のアドレスを削除しようとはしません。結果として二つもしくはそれ以上のコピーがその人に送られてしまうことになります。インデックスメニューとページャーでデフォルトでは L キーに割り当てられている list-reply 機能 はすべての受信者に返信するのではなくメーリングリストのアドレスにのみ返信することで混乱を減らすことを手助けしてくれます。（`Mail-Followup-To`で指定した場合は例外です。以下を見てください）。

Muttは `Mail-Followup-To`へッダもサポートしています。 $followup_to変数がセットしてあれば、メールを（メーリングリストへも含めて）何人もの人へ送る場合 Mail-Followup-Toへッダがメールに追加され、それにはすべてのそのメールの受取人が含まれますがあなたのメールアドレスは含まれません。これによってそのメールへの group-repliesまたは list-replies（つまり followupです）は元々のメールの受取人に送られるのですが、あなたに別に送られることはありません、購読しているメーリングリストを通して送られます。

反対に `Mail-Followup-To`へッダがついているメッセージに対して group-replyまたは list-replyをする場合には、 $honor_followup_to変数がセットされている場合にのみこのへッダを使います。この場合には`Mail-Followup-To`の受取人のリストに含まれていなくても list-replyはメーリングリストへも返信します。

へッダの編集が可能になっている場合には、自分で `Mail-Followup-To`へッダをつけることができます。Muttは送信時にこのへッダが無い場合のみ、このへッダを自動生成します。

もう一つの方法は Reply-To フィールドをメールの著者に設定するのではなくむしろメーリングリストのアドレスに設定することです。いくつかのメーリングリストの管理者はこの方法を採用しています。この方法はメールの著者に個人的に返信しようとするときに問題が生じます。というのはほとんどのメールクライアントは返信の動作を行うときには自動的に Reply-To フィールドに設定してあるアドレスを拾ってくるからです。Mutt では $reply_to変数を利用することでどのアドレスに返信するかどうかを決めるのを楽にすることができます。もしセットされていれば Reply-To フィールドに指定されているアドレスに返信するかもしくは From フィールドのアドレスに返信するかどうか問い合わせてくれます。セットされていない場合は Reply-To フィールドがあればそれが使われます。

最後に、Muttはメールボックスをスレッド threadsでソート sortすることができます。一つのスレッドは同じ主題で関連するすべてのメールの一まとまりです。普通は一つのメールとそれに返信したすべてのメールが図形的に木のような構造で構成されます。もしスレッド機能を持ったニュースクライアントを使ったことがあるならばわかると思いますがそれと同じコンセプトです。これを利用することでかなりの流量があるメーリングリストを簡単に扱えるようになります。というのも興味のない話題はスレッド毎に削除でき、また素早く話題の重要性を判断できます。

## 4.9 配送状態の通知(DSN)のサポート

RFC1894 では電子メールのメッセージの状態に関する情報の中継のための MIME コンテントタイプが定められています。これらは「受取証が戻ってくる」と考えることもできます。バークレー sendmail 8.8.x はメールクライアントがどのタイプの状態メッセージを返させるか要求できるようにいくつかのコマンドラインオプションを備えています。

これをサポートするために二つの変数が用意されています。 $dsn_notifyは違った結果を通知する受取証を受けとるように要求するのに使われます(メールが失敗した旨の通知、メールが配送された旨の通知等々)。 $dsn_returnは受取証とともに戻ってくる元のメールの量を限定するように要求できます(ヘッダーもしくはすべてのメール)。DSN に関するさらに詳しい情報に関しては sendmailの man ページをご覧下さい。

## 4.10 POP3 サポート(オプション)

Mutt が POP3 のサポート付きでコンパイルされていた場合(configure スクリプトを --enable-pop フラグをつけて走らせていた場合)、リモートサーバーからローカルで閲覧するためにこちらにメッセージを取得することができるようになります。メールを取得する機能(fetch-mail /初期値: G)を作動させた場合、Mutt は pop_hostで指定されているホストに接続して pop_userで指定されるユーザー名でログインします。接続を確立した後、リモートシステムへのパスワードを入力するように促します。

いったん認証されれば Muttは新着のメールをすべて取得してローカルの spoolfileで指定されている場所に格納します。この後 Mutt はメールがずっとローカルにあったかのように正確に振る舞うことができるようになります。

注意: POP3 は便宜のためにのみサポートされており、機能は若干制限されています。もしもっと多機能なものが必要な場合は、 fetchmailなどのそれに特化したプログラムを使うことを考えた方がいいでしょう。

## 4.11 IMAP サポート(オプション)

Muttが IMAPサポート付きでコンパイルされていれば(configure スクリプトを --enable-imap フラグをつけて走らせていた場合)、リモート IMAP サーバー上にあるフォルダーを扱うことができるようになります。

{imapserver}inbox フォルダーを選択することでリモートのインボックスにアクセスすることができます。ここで imapserver は IMAP サーバーの名前で inbox は IMAP サーバー上でスプールするためのメールボックスの名前です。もし IMAP サーバー上の他のメールフォルダーにアクセスしたい場合は、 {imapserver}path/to/folder と指定しなければなりません。ここで path/to/folder はアクセスしたいフォルダのバス です（Cyrusを使っているのでは無い場合にはホームディレクトリからの相対バスです）。

デフォルトではないポートを選ぶこともできます。つまり `{imapserver:port}inbox`のようにしてください。

また各々のフォルダを別のユーザー名でアクセスすることもできます。次のようにしてください。`{username@imapserver[:port]}inbox`

SSLのサポートつきで Muttをコンパイルした場合（configureスクリプトに --enable-sslフラグをつけて走らせます）、IMAPサーバへの接続を暗号化できます。当然サーバ側も SSLで暗号化した接続をサポートしている必要があります。IMAP/SSLを使ってフォルダにアクセスする場合はフォルダパスに `{[username@]imapserver[:port]/ssl}path/to/folder`と指定しなければなりません。

すべてのサーバで / が階層を分けるのに使われているわけではないことに注意してください。Muttはサーバで使われているセパレータが何かを認識してそれに応じてフォルダパスを変換してくれるはずです。

一つの IMAPサーバ上のフォルダを見る場合、購読しているフォルダだけを見ることもすべてのフォルダを見ることも toggle-subscribedコマンドを使ってできます。 $imap_list_subscribed変数も参照してください。

新しいメールが来たかどうかを確かめるのはローカルな場合よりも IMAPを使った場合の方が資源を使います。そのためにリモートの新着メールを確かめる頻度は $imap_checkinterval変数で設定され、デフォルトでは60秒です。

Muttは IMAP4rev1サーバと動くようにデザインされ、もともとは UWash IMAP server v11.241と Cyrus IMAP server v1.5.14でテストされてきました。今日では主に UW-IMAP 12.250に対して開発されています。Cyrus 1.6.11に対しても多かれ少なかれ正しく動いています。

UWサーバの v12.250より前のバージョンでメールを保存するのに mboxを使っている場合には他のクライアントが同じフォルダを選ぶと今そのフォルダを使っているクライアントの接続を切るようにサーバに通知されます。注意してください。

### フォルダブラウザ

Muttはバージョン 1.2から IMAPサーバ上のメールボックスのブラウズをサポートしました．これはほとんどローカルの場合と同じですが、以下のような違いがあります。

- ファイルの属性の代わりに IMAPという文字列を表示します。これの後ろにプラス(+)サインがつく場合がありますが、これはこの中にメッセージとサブフォルダの両方が含まれていることを意味します。Cyrus またはそれに似たサーバの場合にはしばしばフォルダの中にメッセージとサブフォルダが入っています。
- フォルダにメッセージとサブフォルダの両方が含まれている場合には、（デフォルトでは`enter`に割り当てられている）selectionキーを押すとその下のサブフォルダに入ります。もしそのフォルダのメッセージを見たい場合には（デフォルトでは `space`に割り当てられている）`view-file`を使わなければなりません。
- メールボックスを消すには `delete-mailbox`コマンド（デフォルトでは d）を使います。`subscribe、unsubscribeコマンドを使ってメールボックスの購読、購読の取り消しができます。デフォルトではこれらのコマンドは sと uに割り当てられています。`

### 認証

Muttは IMAPサーバの認証形式として GSSAPI、CRAM-MD5、 LOGINをサポートしています（Grant Edwardsがかわいそうな exchange ユーザのために NTLM認証を加えるパッチを書いてくれましたが、まだメインツリーには統合されていません ）。Muttは一番強い認証形式から一番弱い認証形式の順にどれが使えるのを IMAPサーバに確かめます。つまりまず始めに GSSAPI（つまり Kerberos Vです）を試して、次に CRAM-MD5、そして最後に LOGIN（最悪のケースです。パスワードは平文でネットを流れます）を試します。

認証形式をコントロールするいくつかの変数があります。

- $imap_user - すべての認証形式で認証に使うユーザ名をコントロールします。
- $imap_pass - LOGINで認証を行う場合のパスワードです。これが設定されていて、他の認証方法が失敗した場合は、あなたに聞くことなしにこのパスワードを使います。GSSAPIか CRAM-MD5を使っている場合には、この変数を設定しないでください。
- $imap_cramkey - CRAM-MD5で使われるパスワードです。もしこの変数が設定されていなくて CRAM-MD5を使う場合は、Muttはあなたにたずねます。

注意: IMAP サポートはそれを使っている開発者が少ないのでそれほどテストされていません。上でのべたリファレンスサーバとは動くはずですが、もし IMAPフォルダーにアクセスするためのもっと安定した手段が必要な場合は fetchmailなどのそれに特化したプログラムを利用することを考えた方 がいいでしょう。

## 4.12 WWW ブラウザーを起動して URL の場所に行く

メールに URL(unified resource locator = http://www.mutt.org/ のような WWW空間の住所)が含まれている場合は、それらすべての URL を含むメニューを表示させてそこから一つ選んで WWW ブラウザーを起動してそこに行くのが効率的ですよね。この機能は外部の urlviewプログラムによって提供されます。 urlviewプログラムは ftp://ftp.guug.de/pub/mutt/contrib/で手に入れることができます。またコンフィギュレーションコマンドは:

    macro index \cb |urlview\n
    macro pager  \cb |urlview\n

です。

## 5. Mutt の MIME サポート

Mutt を最高のテキストベースの MIME MUA にするための多大な努力が払われて きました。すべての努力は眼識のある MIME ユーザーの要望を実装するように払われ、そして可能な限り標準に従うようにするために払われてきました。MIMEの設定を Muttで行うために Muttが使う2つの別のタイプのファイルがあります。一つは mime.types ファイルでこのファイルはファイルの拡張子と IANA MIME タイプとの対応付けが書かれています。もう一つは mailcap ファイルでこれは特定の MIME タイプを扱うのにどの外部コマンドを利用するかを指 定します。

## 5.1 Mutt で MIME を使う

Mutt には MIME を扱う3つの場所/メニューがあります。ページャー(メールを閲覧する間)、ファイル添付メニュー、メール作成メニューです。

### ページャーで MIME メールを閲覧する

インデックスでメールを選択してページャーで閲覧するときに Mutt はメールをテキストとして表示するようにデコードします。Mutt は自身でいくつかの MIMEタイプをサポートしています。text/plain、text/enriched、message/rfc822、 message/news に加え、輸出管理されたバージョンの Mutt では PGP/MIME と application/pgp を含めさまざまな PGP MIME タイプを理解できます。

Mutt は添付ファイルをそれらを記述する二つの行とともに示します。これらの行は次の形式です:

    [-- Attachment #1: Description --]
    [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]

Descriptionは添付ファイルに関する説明やファイル名です。Encodingは 7bit、8bit、quoted-printable、base64、binary のうちのどれかです。

もし Mutt がある MIME タイプを自分自身では扱うことができない場合次のようなメッセージが表示されます:

    [-- image/gif is unsupported (use 'v' to view this part) --]

### ファイル添付メニュー

添付ファイルを見る機能(view-attachments)へのデフォルトのキー割り当ては `v' でそのメールの添付ファイルメニューを表示します。添付ファイルメニューはメールの添付ファイルのリストを表示し、そこから添付ファイルを保存したり印刷したりパイプに通したり削除したり閲覧したりできます。tag-prefix 演算子を用いて複数の添付ファイルに対してタグつけを行い、これらの操作を複数の添付ファイルにたいして一度にまとめて行えます。また、このメニューで現在のメールに対して返事を書くこともでき、その場合は現在の(もしくはタグ付けされている)添付ファイルのみが返事の中で引用されます。添付ファイルをテキストとして閲覧でき、メイルキャップを使ってビューワーを定義して閲覧することもできます。詳しい情報に関しては添付ファイルメニューでのヘルプをご覧下さい。

### メール作成メニュー

メール作成メニューはメールを送る前に現れるメニューのことです。ここではそのメールに関する受信者のリストを編集したりサブジェクトを編集したりそして他のものも編集することができます。またそれには本文を含め、メールの添付ファイルのリストが含まれます。印刷したり、フィルターをかけたり、パイプに通したり、編集したり、作成したり、もう一度確認のために閲覧したり、一つの添付ファイルもしくはタグ付けされた添付ファイルのリストの名前を変更したりすることがこのメニューからできます。また添付ファイルに関する情報(特にタイプ、エンコード方式、属性)を変更することもできます。

添付ファイルは次のよう表示されます。

    -   1 [text/plain, 7bit, 1K]             /tmp/mutt-euler-8082-0 <no description>
        2 [applica/x-gunzip, base64, 422K]   ~/src/mutt-0.85.tar.gz <no description>

'-' はメールを送信した後に Mutt がそのファイルを削除することを示してい ます。リンクを外す/つなぐを切り替える(toggle-unlink/初期値: u)コマンドを使うことで '-' のオン/オフを切り替えることができます。次のフィールド は MIMEのコンテントタイプを示しておりこれはタイプを編集する(edit-type/ 初期値: ^T)コマンドで変更することができます。次のフィールドはファイルのエンコード方式を示しており、バイナリーメールを 7bit で配送するためにエンコードすることができます。エンコード方式を変更する(edit-encoding/初期値: ^E)コマンドを使って変更することができます。次のフィールドはファイルサイズでキロバイトかメガバイトに切り捨てられて表示されます。次のフィー ルドはファイル名でファイル名を変更する(rename-file/初期値: R)コマンドで変更することができます。最後のフィールドは添付ファイルの説明書きで、説明書きを編集する(edit-description/初期値: d)コマンドで変更することがで きます。

## 5.2 mime.typesファイルを使って MIME タイプの設定を行う

メールにファイルの添付を行った場合、Muttは MIMEタイプファイルを `${HOME}/.mime.types`に探しに行きそれからシステムの MIMEタイプファイルを `/usr/local/share/mutt/mime.types` か `/etc/mime.types` に探しに行きます

MIME タイプファイルは MIME タイプとスペースで隔てられた拡張子のリストか らなる行で構成されます。例えば:

    application/postscript          ps eps
    application/pgp                 pgp
    audio/x-aiff                    aif aifc aiff

MIMEタイプファイルのサンプルは Muttの配布物に含まれておりだいたい使いたい MIME タイプのほとんどは含まれているはずです。

Mutt が添付されたファイルの拡張子から MIME タイプを判断できなければ実際にファイルを見て確認します。ファイルがバイナリーの情報を保持していなければ Mutt はファイルをプレインテキストだとみなし、text/plain とマークします。ファイルがバイナリーの情報を含んでいれば application/octet-stream とマークします。Mutt が割り振る添付ファイルの MIME タイプをタイプを編集するコマンド(edit-type/初期値: ^T)を使って変更することができます。MIME タイプを編集するときにメジャータイプは次の5つのタイプのうちのどれかである必要があります: application, text, image, video, audio。もし他のメジャ ータイプに設定しようとすると Mutt はその変更を受け付けてくれません。

## 5.3 メールキャップファイルを編集して MIME ビューワーを設定する

Mutt は RFC 1524 の MIME コンフィギュレーションを特に Unix に特有のフォーマットとして RFC 1524の Appendix Aで定義されるものに関してサポートしています。このファイルフォーマットは一般的にメールキャップフォーマットと呼ばれます。多くの MIME 対応プログラムはメールキャップフォーマットを利用しており、すべてのプログラムでのすべてのMIME タイプの扱いを一か所で指定することができるようになっています。このフォーマットを利用しているプログラムは、 Netscape, XMosaic, lynx, metamail が知られています。

Mutt が内部で扱うことができない様々な MIME タイプを扱うために Mutt は一連の外部のコンフィギュレーションファイルを解析して、扱うことができる外部のプログラムを探します。デフォルトのこれらのファイルを検索するための文字列はコロンで分けられたリストで次のようにセットされています。

      ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap

$HOME はホームディレクトリです。

特に、metamailの配布物にはメールキャップファイルが含まれており、普通 は /usr/local/etc/mailcapにインストールされ、これにはいくつかの基本的なエントリーが含まれています。

### メールキャップファイルの基本

メールキャップファイルはコメント行、空行、定義行からなる一連の行で構成されます。

コメント行は # 文字とそれに続く任意の文字で構成されます。

空行は空の行です。

定義行はコンテントタイプ、閲覧コマンド、任意の数のオプショナルなフィー ルドから構成されます。定義行のそれぞれのフィールドはセミコロン(;)文字で分けられます。

コンテントタイプは MIME で標準的な タイプ/サブタイプ 方式で指定します。例えば、text/plain、text/html、image/gif等とします。さらに、メールキャップの形式はワイルドカードを二つの形式で記述することができます。一つは '*' サブタイプを使う方法でもう一つはメジャータイプのみを記述する方法です。例えば、image/* もしくは video はすべての画像タイプとビデオタイプにそれぞれマッチします。

閲覧コマンドは指定されたタイプを閲覧するための Unix コマンドです。2つの異なるタイプのコマンドがサポートされています。デフォルトでは MIME メッセージのボディー部をコマンドに標準入力として渡します。閲覧コマンドの変数に %s を使うことでこの動作を変更することができます。こうすることで Mutt は MIME メッセージのボディー部を一時的なファイルに保存し、それから閲覧コマンドを呼び出します。この時 %s は一時的なファイルの名前で置き換えられます。どちらの場合でも Mutt は閲覧プログラムが終了するまでそのプログラムに端末を渡します。閲覧プログラムが終了したときに一時的なファイ ルも(存在すれば)削除されます。

一番単純な形では、text/plain のメールを外部ページャープログラムの more に標準入力として渡すことができます:

    text/plain; more

もしくは、メールを一つのファイルとして渡すこともできます:

    text/plain; more %s

たぶん text/html のメールを閲覧するのに lynx を呼び出したいでしょう:

    text/html; lynx %s

この場合 lynx は標準入力からファイルを閲覧することをサポートしてませんから %s 構文を使わなければなりません。

注意: いくらか古いバージョンの lynx には text/html ファイルを閲覧するためにメールキャップファイルをチェックするところにバグがあります。これらのバージョンでは lynx を呼び出す行を探してそれを実行します。このため対象を閲覧するために絶え間なく自分自身を起動していたのです。

一方、lynx を対話的には使いたいのではなく、単に text/html を text/plain に変換したいだけかもしれません。そうであれば次のようにしてください:

    text/html; lynx -dump %s | more

あるいは text/html ファイルを閲覧する場合は lynx を使って、そのほかのテキスト形式を閲覧するにはページャーを使いたいと思うかもしれません。そうであれば次のようにしてください:

    text/html; lynx %s
    text/*; more

これはメールキャップファイルのもっとも単純な形式です。

### メールキャップの安全な使い方

MIMEパラメータの中にあるシェルのメタキャラクタの解釈は一般にセキュリティの問題を引き起こす可能性があります。Muttは %s構文の展開で正しくパラメータを引用して危険な文字を代替して取り除こうとします。 mailcap_sanitize変数を見てください。

Muttはメールキャップからプログラムを実行するのに安全な方法をとっているのですが、他のメールキャップを使うプログラムはそれほど安全性に気をつけていないかも知れません。したがって次のようなことに注意する必要があります。

%変数を引用符で囲まないこと。引用符(' )、ダブルクオート(")で%変数を囲まないでください。Muttがメールキャップを使う他のプログラムと同様に正しい方法で行ないます。またバッククオートを使った展開にも使わないでください。eval 文を使うときには特に注意して使うこと。できれば使わないでください。問題を直そうと思ってクオートを導入すると別の問題を引き起こします。

もし%変数の値がクオートやバッククオートの中に入れなければならない場合は、その値をシェル変数に代入して必要ならその変数を使うようにしてください。次の例では $charsetというシェル変数に代入して、それをバッククオートの中で使ってます。こうするとそれ自身がそれ以上の展開の対象にならないので安全です。

    text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
            && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1

### メールキャップの進んだ使い方

### オプショナルフィールド

コンテントタイプと閲覧コマンドのフィールドは最低限必要ですが、それに加えてセミコロン ';' で区切られたフィールドをフラグをセットしたり他のオプションをセットするのに加えることができます。Mutt は次ののオプショナルフィールドをサポートしています:

copiousoutput

  このフラグは Mutt にそのコマンドがたくさんの量のテキストを標準出力に渡し得るということを教えます。これによって Mutt は閲覧コマンドの出力に対してページャーを起動します(内蔵のページャーを使うか外部のページャーを使うかは pager 変数の設定によります)。もしこのフラグがなければ Mutt はそのコマンドが対話的な操作が必要だと判断します。これは基本セクションで示した lynx -dump の例での more コマンドへのパ イプを置き換えることができます:

      text/html; lynx -dump %s ; copiousoutput

こうすることで lynx は text/html の出力を text/plain の形式に変換し、 Mutt はその結果を表示するのに標準のページャーを用います。

needsterminal

  Mutt は自動閲覧機能 autoviewで添付ファイルを閲覧する時に $wait_key変数の設 定を尊重するか否かを決定するためにこのフラグを使います。もし対話的なプログラムを使って添付ファイルを閲覧し、そして対応するメールキャップエントリーに needsterminal フラグがあれば、Mutt は $wait_key変数を使い、そして外部プログラムを終了するときに終了状態によって何かのキーを押すように要求するかどうかを決めます。そのほかのすべての場合では何かのキーを押すように促したりはしません。

compose=<command>

  このフラグは指定した MIME タイプで新たな添付ファイルを作成する時のコマンドを指定します。Mutt はこれをメール作成メニューでサポートし ています。

composetyped=<command>

  このフラグは指定した MIME タイプで新たな添付ファイルを作成する時のコマンドを指定します。composeコマンドとの違いはこのコマンドでは Muttがそのデータに標準的な MIMEタイプを期待することです。これは特定のパラメーターやファイル名や説明書きなどで使うことができます。 Muttはこれをメール作成メニューでサポートしています。

print=<command>

  このフラグは指定した MIMEタイプを印刷するときに使うコマンドを指定します。Muttはこのコマンドをファイル添付メニューとメール作成メニューでサポートしています。

edit=<command>

  このフラグは指定した MIME タイプを編集する時に使うコマンドを指定します。Mutt はこのコマンドをメール作成メニューでサポートしており、また新しい添付ファイルを作成する時にそれを使います。Muttはここで定義されたエディタをテキストの添付ファイルのためのデフォルトにします。

nametemplate=<template>

  このフィールドはコマンドフィールドで %sで示されるファイルの形式を指定します。なんらかのプログラムは、例えば正しく閲覧するのに特定の拡張子を持つファイルであることを要求します。例えば、lynx はファイルが .html で終わっている場合のみファイルを text/html として解釈します。ですから lynx を text/html を閲覧するコマンドに指定する場合 はメールキャップファイルに次のようにします:

      text/html; lynx %s; nametemplate=%s.html

test=<command>

  このフィールドは使おうとするメールキャップエントリーを本当に使うべきかどうかを試すコマンドを指定します。コマンドは次のセクションで定義されているコマンド展開ルールで定義します。コマンドが0を返した場合はテストに通ったとされ、Mutt はそのエントリーを使います。もしコマンドが0以外の値を返した場合はテストに通らなかったとされ、Mutt は正しいエントリーを探し続けます。注意: まずコンテントタイプがマッチしていた場合のみにテストは実行されます。例えば:

      text/html; netscape -remote 'openURL(%s)' ; test=RunningX
      text/html; lynx %s

この例では Muttは RunningXプログラムを走らせます。このプログラムは X Window managerが起動していれば0を返し、そうでなければ0以外の値を返します。RunningX が0を返せば Mutt は text/html オブジェクトを表示するのに Netscapeを呼び出し、0以外の値を返せば Mutt は次のエントリーに行き、text/html オブジェクトを表示するのに lynx を使います。

### 検索順序

メールキャップファイルの中のエントリーを検索する時、Muttはもっとも目的にかなったエントリーを探します。例えば、もし image/gif を印刷しようとしていて次のようなエントリーがメールキャップファイルにあれば Mutt は printコマンドを含んでいるエントリーを検索します:

    image/*;        xv %s
    image/gif;      ; print= anytopnm %s | pnmtops | lpr;  \
                    nametemplate=%s.gif

Mutt は image/* エントリーをスキップして print コマンドを含む image/gif エントリーを使います。

また、添付ファイルを閲覧するために2つのコマンドを示すことで自動閲覧機能 Autoviewを使ってこれらを使うことができます。1つは自動的に閲覧するためのコマンドでもう1つは添付ファイルメニューで対話的に閲覧するためのコマンドです。さらにそれから test 機能を利用することで環境にあわせて対話的にビューワー を決めることができます。

    text/html;      netscape -remote 'openURL(%s)' ; test=RunningX
    text/html;      lynx %s; nametemplate=%s.html
    text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput

copiousoutput タグがついているので自動閲覧 Autoviewするのに Mutt は3番目のエントリーを選択します。対話的に閲覧するのに Mutt はまず1番目のエントリーを使うべきかどうか RunningX プログラムを走らせ、もし0以外の値をプログラムが 返せば2番目のエントリーを使います。

### コマンド展開

メールキャップファイルで定義されている様々なコマンドは system() 関数を通して /bin/sh シェルに渡されます。コマンドが /bin/sh -c に渡される前に情報を持つ様々な特殊なパラメーターは Mutt によって展開されます。Muttが展開するキーワードは:

%s

  メールキャップファイルの基本の章でみたように、この変数は呼び出すプログラムによって指定されたファイル名に展開されます。このファイルは閲覧/印刷/編集するメッセージのボディを含んでおり、もしくは作成プログラムが作成結果に置き換えるメッセージのボディを含んでいます。さらに、このキーワードを使うことで Mutt がメッセージのボディを閲覧/印刷/編集するプログラムに標準入力として渡さないようにすることができます。

%t

  Mutt は %t をメッセージのコンテントタイプのテキスト表示に置き換えます。形式はメールキャップ定義行の始めのパラメーターと同じで、 text/htmlとか image/gif とかです。

%{<parameter>}

  Mutt はこれをメールの Content-Type: 行の中の指定されたパラメーター の値に展開します。例えば、メールが次の行を含んでいると:

      Content-Type: text/plain; charset=iso-8859-1

Mutt は %{charset} を iso-8859-1 に展開します。デフォルトの metamail のメールキャップファイルはこの機能をメールを閲覧するのに正しい文字セットを使って xterm を起動するために文字セットをチェックするのに使っています。

\%

  は % に置き換えられます。 Mutt は今のところ RFC 1524 で定義されている %F と %n キーワードはサポートしていません。これらパラメーターの主な目的は Mutt の内部でマルチパートメールを扱うことです。

### メールキャップファイルの例

このメールキャップファイルはかなり単純でそして標準的なものです:

    # 常に X を起動しています :)
    video/*;        xanim %s > /dev/null
    image/*;        xv %s > /dev/null
    # 常に Netscape を起動しています(多くのメモリーがある場合だけでしょう)
    text/html;      netscape -remote 'openURL(%s)'

このメールキャップファイルはたくさんの例を示しています:

    # すべてのビデオを閲覧するのに xanim を使い、xanim が起動時に生成するヘ
    # ッダーをみたくないのでそれを /dev/null に送ります。
    video/*; xanim %s > /dev/null
    # HTML をリモートを使って動いている Netscape に送ります。
    text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
    # X は起動していても Netscape は起動していない場合は Netscape を起動して
    # オブジェクトを閲覧します。
    text/html; netscape %s; test=RunningX
    # それ以外は lynx を使ってテキストとして閲覧します。
    text/html; lynx %s
    # この書き方では text/html を text/plain に変換します。
    text/html; lynx -dump %s; copiousoutput
    # enriched.sh は text/enriched を text/html に変換します。それから lynx
    # -dump を使って text/plain に変換します。
    text/enriched; enriched.sh ; copiousoutput
    # テキストを印刷するのに enscript コマンドを使って1ページを2列にします
    text/*; more %s; print=enscript -2Gr %s
    # Netscape は JPEG を内部で閲覧するためにフラグを加えます。
    image/jpeg;xv %s; x-mozilla-flags=internal
    # X を起動していれば画像を閲覧するのに xv を使います。
    # さらに \ を使って行を分割し、画像を編集するコマンドを指定しています。
    image/*;xv %s; test=RunningX; \
    edit=xpaint %s
    # 画像を netpbm ツールを使ってテキストに変換しています。
    image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
    pbmtoascii -1x2 ) 2>&1 ; copiousoutput
    # Excel のスプレッドシートを NT に送っています。
    application/ms-excel; open.pl %s

## 5.4 MIME 自動閲覧

メールキャップファイルで添付ファイルを閲覧するための MIME 閲覧コマンドを Mutt に明示的に教えてやる他に、Mutt はページャーの中で MIME 添付ファイルを自動的に閲覧する機能を備えています。

機能させるにはメールキャップファイルの中で、対話的でないコマンドであることを示す copiousoutput オプションを含む閲覧コマンドを指定しなければなりません。また一般的には、ページャーで閲覧できるように添付ファイルをテキスト表示に変換するエントリーを指定することになります。

それから muttrc で auto_view コマンドを使って自動的に閲覧したいコンテントタイプをリストします。

例えば、次のように auto_view を指定していると:

    auto_view text/html text/enriched application/x-gunzip applic
    ation/postscript image/gif application/x-tar-gz

Mutt は(もしあれば)次のようなメールキャップエントリーをこれらのタイプの添付ファイルを自動的に閲覧するのに使います。

    text/html;      lynx -dump %s; copiousoutput; nametemplate=%s.html
    text/enriched;  enriched.sh  ; copiousoutput
    image/*;        anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
    application/x-gunzip;   gzcat; copiousoutput
    application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
    application/postscript; ps2ascii %s; copiousoutput

## 5.5 MIME Multipart/Alternative

Mutt は multipart/alternative タイプの添付ファイルを表示するのにいくらか発見的な手法を用いています。まず第一に Mutt alternative_order リストをチェックして可能なタイプのうちの一つが設定されていればそれに決めます。alternative_orderはたくさんの MIMEタイプを順に並べたリストで、明示的/暗示的なワイルドカードのサポートも含みます。例:

    alternative_order text/enriched text/plain text application/postscript image/*

次に Mutt はタイプが auto_viewのうちのどれかのタイプで定義されていないかどうかをチェックし、それを使います。それに失敗すると Muttはなんらかのテキストタイプを探します。最後に Muttはそれを扱うことができるなんらかのタイプを探そうとします。

## 6. Reference

## 6.1 コマンドラインオプション

引数なしに `mutt`を実行すると Mutt はスプールメールボックスを読みに行きます。しかし、コマンドラインから指定してやることで他のメールボックスを読んだりコマンドラインから直接メールを送ったりすることも可能です。

    -a      メールにファイルを添付する
    -c      カーボンコピー (Cc) の宛先を指定する
    -e      初期化ファイルが読まれた後に実行する設定コマンドを指定
    -F      指定したファイルから初期化コマンドを読み込む
    -f      読み込むメールボックスを指定
    -h      コマンドラインオプションについてのヘルプを表示
    -H      ドラフトとしてヘッダと本文を読み出すファイルを指定
    -i      メッセージ作成時に取り込むファイルを指定
    -n      システムの Muttrc を読まない
    -m      デフォルトのメールボックスの種類を指定
    -p      延期していたメールを呼び出す
    -R      メールボックスを読み取り専用で開く
    -s      subject を指定 (空白を含むときは引用符で囲む)
    -v      バージョンとコンパイル時の定義を表示
    -x      mailx(1) の作成モードを真似る
    -y      mailboxes コマンドで指定されたファイルを含んだメニューを表示させる
    -z      メールボックスにメッセージが存在しないなら直ちに終了する
    -Z      新しいメッセージのある最初のフォルダを開く、無いなら直ちに終了する

メールボックス内のメッセージを読むには

`mutt` [ -nz ] [ -F muttrc ] [ -m type ] [ -f mailbox ]

新規にメッセージを作成するには

`mutt` [ -n ] [ -F muttrc ] [ -a file ] [ -c address ] [ -i filename ] [ -s subject ] address [ address ... ]

Mutt は準備されたメッセージを送信する batch モードにも対応しています。単に、送信したいファイルから入力をリダイレクトしてください。例えば、

`mutt -s "data set for run #2" professor@bigschool.edu < /run2.dat`

このコマンドにより data set for run #2 という subjectのメールが professor@bigschool.edu宛に送信されます。そのメッセージの本文はファ イル ~/run2.dat の内容になります。

## 6.2 設定コマンド

mutt は以下のようなコマンドを理解します。

- `alias` key address [ , address, ... ]
- `unalias` key address [ , address, ... ]
- `alternative_order` mimetype [ mimetype ... ]
- `auto_view` mimetype [ mimetype ... ]
- `bind` map key function
- `color` object foreground background [ regexp ]
- `folder-hook` pattern command
- `ignore` pattern [ pattern ... ]
- `unignore` pattern [ pattern ... ]
- `hdr_order` header [ header ... ]
- `unhdr_order` header [ header ... ]
- `lists` address [ address ... ]
- `unlists` address [ address ... ]
- `macro` menu key sequence
- `mailboxes` filename [ filename ... ]
- `mono` object attribute [ regexp ]
- `mbox-hook` pattern mailbox
- `my_hdr` string
- `unmy_hdr` field [ field ... ]
- `push` string
- `save-hook` regexp filename
- `send-hook` regexp command
- `set` [no|inv]variable[=value] [ variable ... ]
- `toggle` variable [variable ... ]
- `unset` variable [variable ... ]
- `source` filename
- `subscribe` address [ address ... ]
- `unsubscribe` address [ address ... ]
- `unhook` hook-type

## 6.3 設定用変数

### abort_nosubject

    Type: quadoption
    Default: ask-yes

yes にセットしてあると、メッセージ作成時に subjectプロンプトで subjectを与えなかった場合、作成を中断します。 no に設定してあると中断されません。

### abort_unmodified

    Type: quadoption
    Default: yes

yesにセットされていると、メッセージの本文の編集を終えたときに何も変更が加えられていなかった場合、作成は自動的に破棄されます(そのファイルの編集を行った最初の時にのみチェックされます)。no にセットされていると変更を加えていない場合にも作成は破棄されません。

### alias_file

    Type: path
    Default: "~/.muttrc"

create-alias機能で生成されたエイリアスを保存するデフォルトファイル

注意: Mutt はこのファイルを自動的には読み込みません。実行するには明示的に sourceコマンドを用いてください。

### alias_format

    Type: string
    Default: "%4n %t %-10a %r"

alias メニューで表示されるデータの書式を設定します。以下の printf(3) スタイルのシークエンスが使用可能です。

    %a      エイリアス名
    %n      インデックス番号
    %r      展開されるアドレス
    %t      選択されたエイリアスを示す記号

### allow_8bit

    Type: boolean
    Default: yes

メールを送るときに、Quoted-Printableもしくは Base64 エンコードで 8-bit データを 7-bit に変換するかどうかを指定します。

### alternates

    Type: regular expression
    Default: ""

メールを受け取る別の(alternate)アドレスを指定することができるようにするための正規表現です。どのメッセージが自分からのもので、どのメッセージが自分宛であるのかという Mutt の認識に影響します。

### arrow_cursor

    Type: boolean
    Default: no

セットしてあると、現在のエントリを示すのに、その行全体をハイライトする代わりに矢印 (->) が使われます。遅いネットワークやモデムでの接続の場合、これにより反応がはやくなるでしょう。メニューの前後のエントリに移動する際の再描画に要する時間が短縮されるのがその理由です。

### ascii_chars

    Type: boolean
    Default: no

セットしてあると、スレッドや添付ファイルのツリーを表示する際に ASCII 文字を使います。デフォルトでは ACS 文字を使って表示します。

### askbcc

    Type: boolean
    Default: no

セットしてあると、送るメッセージを編集する前に、ブラインド・カーボン・コピー(Bcc)の送信先を聞いてきます。

### askcc

    Type: boolean
    Default: no

セットしてあると、送るメッセージの本文を編集する前に、カーボン・コピー(Cc)の送信先を聞いてきます。

### attach_format

    Type: format string
    Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "

この変数で添付ファイルメニュー(attachment menu)での形式を記述します。つぎの printf スタイルのシーケンスが解釈されます。

    %D      削除フラグ
    %d      説明書き
    %e      MIME content-transfer-encoding
    %f      ファイル名
    %I      配置 (I=inline, A=attachment)
    %m      MIME タイプのメジャータイプ
    %M      MIME タイプのサブタイプ
    %n      添付ファイル番号
    %s      サイズ
    %t      タグつけされていることを示すフラグ
    %u      アンリンク(= 削除予定)フラグ
    %>X     残りの文字列を右寄せにして間を "X" で埋める
    %|X     行末まで "X" で埋める

### attach_sep

    Type: string
    Default: "\n"

タグつけされた複数の添付ファイルになんらかの演算(セーブ、印刷、パイプに通すなど)を施すときに添付ファイルの間に挿入する区切り。

### attach_split

    Type: boolean
    Default: yes

この変数がセットされていない場合、タグつけされた複数の添付ファイルになんらかの演算(セーブ、印刷、パイプに通すなど)を施すときに、Mutt は添付ファイルを結合してそれらをまとめて1つの添付ファイルとしてそれに演算を施します。それぞれの添付ファイルの後には $attach_sep区切りが挿入されます。セットされている場合は Mutt はそれぞれの添付ファイルに一つづつ演算を施します。

### attribution

    Type: string
    Default: "On %d, %n wrote:"

返信の際に、引用したメッセージの前につける文です。エスケープシークエンスの完全なリストは $index_formatの節を参照してください。

### autoedit

    Type: boolean
    Default: no

セットしてある場合は他のメッセージに返信する際に、最初の send-menu を飛ばし、直ちにメッセージ本文の編集をはじめます。ただし、本文編集後には send-menu にいく場合もあります。

$edit_headers変数もセットされていると、常に最初の send-menu プロンプトは飛ばされます。新規メッセージ作成時も含みます。

### auto_tag

    Type: boolean
    Default: no

セットしてある場合は、インデックスメニューにある一つのメッセージに働くコマンドが、タグの付いた全てのメッセージ(あれば) に適用されます。セットされていない場合は、まず tag-prefix コマンド（デフォルトは ;）を使って、それから次のコマンドでタグつけされたすべてのメッセージにコマンドを施します。

### beep

    Type: boolean
    Default: yes

この変数が set してあると、エラーが起こったときに音を鳴らします。

### beep_new

    Type boolean
    Default: no

この変数がセットしてあると、新しいメールが来たことを知らせるメッセージを表示する際に beep 音を鳴らします。これは beep変数の設定とは独立しています。

### bounce_delivered

    Type boolean
    Default: yes

この変数がセットされているとメッセージを中継するときに Delivered-Toへッダをつけます。Postfixのユーザーはこの変数を unsetしたほうがいいでしょう。

### charset

    Type: string
    Default: "iso-8859-1"

テキストデータを表示したり入力するときに使う端末の文字セットです。

### check_new

    Type: boolean
    Default: yes

注意: このオプションは maildir および MH 形式のメールボックスに対してのみ影響します。

セットしてあると、メールボックスを開くときに新しいメールをチェックします。とくに MH 形式のメールボックスに対しは、この操作はディレクトリと各ファイルが既に読んだものかどうか調べるのに、しばらくの時間を要します。check_new がセットされていない場合は、メールボックスを開くときに、新しいメールのチェックはされません。

### collapse_unread

    Type: boolean
    Default: yes

セットされていない場合は、Muttはスレッドに未読のメールが含まれている場合はそのスレッドを折り畳みません。

### uncollapse_jump

    Type: boolean
    Default: no

この変数がセットしてある場合は、カーソルのあるスレッドが折り畳まれていない場合次のまだ読んでいないメッセージにジャンプします。

### confirmappend

    Type: boolean
    Default: yes

セットしてあると、存在するメールボックスにメッセージを追加しようとした時に確認のプロンプトを出します。

### confirmcreate

    Type: boolean
    Default: yes

セットしてあると、まだ存在していないメールボックスにメッセージを保存しようとした時に、その作成の前に確認のプロンプトを出します。

### copy

    Type: quadoption
    Default: yes

この変数は、後の参照のために送信するメッセージのコピーをとっておくかどうかを制御します。参照: record, save_name, force_name, fcc-hook

### date_format

    Type: string
    Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"

この変数は、 $index_formatにおいて %d シークエンスにより日時を表示する際の書式を制御します。これは、strftime コールに渡されて、日時を返します。ただしい書式は strftime(3) のマニュアルを参照してください。

文字列中の最初の文字が感嘆符(!)でないなら、月と曜日の名前は locale 変数で指定されたロケールによって展開されます。もし文字列中の最初の文字が感嘆符なら、感嘆符は捨てられて以下の文字列中の月と曜日の名前は C ロケー ル(US English)で展開されます。

### default_hook

    Type: string
    Default: "f %s !P | (P C %s)"

この変数は send-hook, save-hook, fcc-hook を記述するときに、完全な検索パターンを指定するかわりに単に正規表現のみを指定した場合に、どのように解釈するかをコントロールします。フックの展開は宣言されたときに行われます。ですから、なんらかのフックを宣言した場合は、その時のこの変数の値によって解釈されます。デフォルトの値がマッチするのは、正規表現にマッチするユーザーからのメッセージか、自分で出したメッセージ（もしくは ``alternates''で指定したアドレスからのメッセージ）であれば正規表現にマッチするユーザーが To: フィールドか CC: フィールドに指定されているメッセージです。

### delete

    Type: quadoption
    Default: ask-yes

メールボックスを閉じたり同期させたりしたときに、メッセージを本当に削除するかどうかを指定します。 yes にセットしてあると、削除マークされたメッセージは、問い合わせなしに自動的に消去されます。 no にセットしてあると、削除マークされたメッセージはメールボックスに残されます。

### delete_untag

    Type: boolean
    Default: yes

このオプションがセットされていると削除のマークがされたときにメッセージのタグが消されます。これは明示的に削除されたとき、または他のフォルダに保存するときに適用されます。

### dotlock_program

    Type: path
    Default: "/usr/local/bin/mutt_dotlock"

Muttで使われる mutt_dotlock (8)のバイナリのあるパスを指定します。

### dsn_notify

    Type: string
    Default: ""

注意: Sendmail 8.8.x かそれ以降を使っているのでなければ、これを使わないでください。

送信通知が返されたときのリクエストを設定する変数です。文字列は以下のうちのいくつかをコンマで区切ったリスト(スペースを入れてはいけません)から成ります: never は通知をリクエストしません。failureは伝達が失敗したときに通知をリクエストします。delay はメッセージが遅延したときに通知されます。success は伝達成功の通知をします。

例: `set dsn_notify="failure,delay"`

### dsn_return

    Type: string
    Default: ""

注意: Sendmail 8.8.x かそれ以降を使っているのでなければ、これを使うべきではありません。

この変数は DSN メッセージの中に含まれる戻ってくる自分のメッセージの量をコントロールします。hdrs にセットしているとメッセージのヘッダーのみが戻り、もしくは full にセットしているとすべてのメッセージが戻ってきま す。

例: `set dsn_return=hdrs`

### edit_headers

    Type: boolean
    Default: no

このオプションにより、メッセージの本文を編集するときに同時にヘッダも編集できるようにできます。

### editor

    Type: path
    Default: ""

この変数でメッセージを作成するときに使うエディタを指定します。デフォルトは環境変数 $VISUAL, $EDITORの値、または "vi"

### encode_from

    Type: boolean
    Default: no

この変数がセットされていると始めに Fromがついている行を含んだメッセージを quoted-printableに符号化します。メッセージの伝送中にトランスポートエージェントによってメールが変形されるのを防ぐのに有効です。

### envelope_from

    Type: boolean
    Default: no

この変数がセットされていると muttは From: へッダに書かれた人をメッセージの封筒（envelope）の送り手とします。これはこの情報を sendmailの -fオプションにつけることを意味します。したがってすでに自分で -fオプションを sendmailのコマンドラインオプションで使っている場合や、あなたが使っている sendmailがこのオプションをサポートしていない場合にはこの変数をセットしないでください。

### escape

    Type: string
    Default: "~"

内蔵エディタの機能を使うのに用いるエスケープ文字。

### fast_reply

    Type: boolean
    Default: no

セットしてあると、メッセージに返信するときの受取人と subjectの入力プロンプトを省略します。転送のときは、subject のプロンプトが省略されます。

注意: この変数は $autoedit変数がセットされていると無効です。

### fcc_attach

    Type: boolean
    Default: yes

この変数は、送信するメッセージの添付ファイルを本文とともに保存するかどうかを制御します。

### fcc_clear

    Type: boolean
    Default: no

この変数がセットされていると、実際のメッセージが暗号化されたり署名されたりしている場合でも FCCは暗号化も署名もされずに保存されます。

### folder

    Type: path
    Default: "~/Mail"

メールボックスのデフォルトの場所を指定します。パス名の最初の `+' もしくは `=' はこの変数の値へと展開されます。もし、この値をデフォルトの値から変更する場合は、`+' もしくは `=' を他の変数で使う前にこの割り当てが行われるように注意する必要がある、ということに気をつけてください。なぜなら展開は `set' コマンドの時点で起きるからです。

### folder_format

    Type: string
    Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"

この変数によりファイル・ブラウザーをの表示を自分好みにカスタマイズすることができます。この文字列は $index_formatに似ていますが、独自の printf()に似たシークエンスのセットがあります。

%C

  現在のファイル数

%d

  フォルダが最後に変更された日付/時刻

%f

  ファイル名

%F

  ファイルのパーミッション

%g

  グループ名(もしなければ GID の値)

%l

  ハードリンク数

%N

  フォルダに新しいメールがあるなら N、そうでないなら空白

%s

  サイズ [bytes]

%t

  もしファイルがタグづけされていればアステリスク(*)、それ以外は空白

%u

  所有者名 (もしなければ UID の値)

%>X

  残りの文字列を右寄せにして間を "X" で埋める

%|X

  行末まで "X" で埋める

### followup_to

    Type: boolean
    Default: yes

メールを送信するときに自動的に Mail-Followup-Toヘッダーを付加するかどうかをコントロールします。セットされていると、subscribeまたは listsコマンドで指定されているメーリングリストに返信するときは自動的にこのフィールドを生成しま す。

このフィールドの目的は、もしメーリングリストに当てられているメッセージであれば、そのコピーを一つだけ受けとることを指定することで、送信したメッセージへの返信を複数受けとることを避けることです(また、そうしてグループ返信を使うときに自分自身のアドレスを含める必要がなくなります)。

このフィールドには二つの目的があります。一つめはメーリングリストに送った自分のメッセージに対する返信のいくつものコピーを受け取らないようにすること。二つめは購読していないメーリングリストに返信を送った場合にはそれをメーリングリスト経由ではなく、ちゃんと受け取ることを保証することです。このへッダは購読しているメーリングリストのアドレスのみを含む場合も、メーリングリストのアドレスと購読していないメーリングリスト用に自分自身のアドレスを含む場合もあります。このへッダを使わずにグループ返信を使うと購読しているメーリングリストに送った自分のメッセージに返信を送った場合には自分のアドレスに直接に配送されるのととメーリングリスト経由で配送されるのとの同じメッセージの2つのコピーを受け取ることになります。

### force_name

    Type: boolean
    Default: no

この変数は $save_nameと似ていますが、メールボックスがたとえ存在しなくても、送信するメッセージの受信者のアドレスのユーザー名のメールボックスにコピーを格納します。

$record変数も参照してください。

### forward_decode

    Type: boolean
    Default: yes

この変数はメッセージを転送するときに、複雑な MIMEメッセージを text/plainにデコードするかどうかをコントロールします。メッセージのヘッダーも RFC2047に従うデコードが施されます。 mime_forward変数がセットされていない場合にのみこの変数は使われ、そうでなければ mime_forward_decode変数がかわりに使われます。

### forward_format

    Type: string
    Default: "[%a: %s]"

この変数は転送するメッセージのデフォルトの Subject をコントロールします。シークエンスの形式は $index_format変数の形式と同じです。

### forward_quote

    Type: boolean
    Default: no

セットされていると(そして mime_forwardが unsetされているなら)転送するメッセージはメールの本文に取り込まれ、 indent_stringを使って引用符がつけられます。

### from

    Type: e-mail address
    Default: ""

この変数はデフォルトの Fromアドレスを設定します。この設定を（send-hookを使って）my_hdrや reverse_nameで上書きできます。

### gecos_mask

    Type: regular expression
    Default: "^[^,]*"

muttがエイリアスを展開するときにパスワードファイルの GECOSフィールドを解析するための正規表現を指定します。デフォルトではこの正規表現は `"^[^,]*"`になっていて、はじめのコンマ(,)までの文字列を返します。もし GECOSフィールドが lastname, firstnameの形で文字列を入れていたなら、`gecos_mask=".*"`にした方がいいでしょう。

例えばユーザIDが stevefで本当の名前が Steve Franklinである人にメールを書くとしましょう。もし muttがこのアドレスを "Franklin" stevef@foo.barと展開したならば、gecos_maskをフルネームにマッチするように（"Franklin"を "Franklin, Steve"に変えるように）設定する必要があります。

### hdrs

    Type: boolean
    Default: yes

セットされていないと my_hdrコマンドで普通は追加されるヘッダーフィールドが生成されません。生成させるには、新しくメッセージを作成したり返信したりする前にこの変数のセットを外さなければなりません。セットされていると、ユーザーが定義したヘッダーフィールドがすべての新規のメッセージに追加され ます。

### header

    Type: boolean
    Default: no

セットされていると、Muttは返信しようとしているメッセージのヘッダーを編集バッファーに含めるようになります。それには "weed"の設定が使われます。

### help

    Type: boolean
    Default: yes

セットされていると、それぞれのメニューでの主な機能に関するキー・バインディングを表示するヘルプ行が、スクリーンの最初の行に表示されます。

注意: 機能へのキーの割り当てが 1キー・ストロークではなく、キーの連続に割り当てられている場合、バインディングは正しく表示されません。また、Muttを起動している際にバインディングを変更しても、その変更は反映されません。この変数は主に初心者のために作られたものですから、これら両方とも大きな問題ではないはずです。

### hidden_host

    Type: boolean
    Default: no

この変数がセットされているとアドレスにドメインパートを追加するときに hostname変数のホストネームのパートをスキップします。この変数はメッセージIDの生成に影響を与えず、第一レベルのドメインを切り取ってしまうことはありません。

### history

    Type: number
    Default: 10

この変数は履歴バッファーのサイズ(記憶される文字列の数で)をコントロールします。バッファーは変数がセットされる度にクリアされます。

### honor_followup_to

    Type: quadoption
    Default: yes

この変数はメッセージにグループリプライする場合に Mail-Followup-Toへッダを使うかどうかをコントロールします。

### hostname

    Type: string
    Default: ""

ローカルなメールアドレスで使われる @ 以降のホスト名を指定します。これは、コンパイル時に /etc/resolv.conf から取得された定義を上書きします。

### ignore_list_reply_to

    Type: boolean
    Default: no

この変数は、メーリングリストからのメッセージに返信するときの返信の動作に影響します。セットされていると、Reply-To: フィールドの値が To: フィールドの値と同じ場合、Mutt は、Reply-To: フィールドは自動的にそのメーリングリストに返信するようにメーリングリストによって設定されていると見做し、このフィールドを無視します。この変数がセットされている時に、直接メーリングリストに返信する際は list-reply 機能を使ってください。 group-replyは Senderとメーリングリスト両方に返信します。

### imap_checkinterval

    Type: number
    Default: 60

この変数は、IMAPでどのくらいの頻度(秒単位で)で新着のメールをチェックするかを設定します。

### imap_force_ssl

    Type: boolean
    Default: no

この変数がセットされていると、Muttは IMAPサーバに接続するときに常に SSLを使います。

### imap_list_subscribed

    Type: boolean
    Default: no

この変数は IMAPフォルダの一覧を見るときに登録しているフォルダだけを表示するのか、それともすべてのフォルダを表示するのかを設定します。これは IMAPブラウザの中で toggle-subscribedコマンドを使って変えることができます。

### imap_user

    Type: string
    Default: ""

IMAP サーバーにログインするときのログイン名です。デフォルトはローカルマシン上のあなたのユーザ名です。

### imap_cramkey

    Type: string
    Default: ""

CRAM-MD5 IMAP認証（IMAPでの APOPのようなものです）のための CRAMパスワードを設定します。この変数を設定するとサーバが CRAM-MD5をサポートしていた場合、よい安全な認証方法があっても CRAM-MD5を自動的に使います。また、あなたが CRAM-MD5を使っている場合は、imap_pass変数をセットしては行けません。

### imap_pass

    Type: string
    Default: ""

IMAPアカウントのパスワードを指定します。セットされていない場合、fetch-mail機能が起動されたときにパスワードを入力するように促します。警告: 絶対安全だと確信が持てるマシン上でのみこのオプションを使ってください。たとえ自分だけしか muttrcを読めないようにしておいても、スーパーユーザーは読むことができるからです。

### imap_passive

    Type: boolean
    Default: yes

この変数が設定してあると新しいメールのチェックのために新しい IMAPサーバへの接続をしません。すでに接続している IMAPコネクションだけをメールチェックに使います。これは muttが IMAPコネクションを開くときにユーザ名、パスワードを聞いてくるのがうっとうしい場合や、新しく接続するのに時間がかかる場合に便利です。

### imap_servernoise

    Type: boolean
    Default: yes

この変数をセットしておくと、muttは IMAPサーバからの警告をエラーメッセージとして表示します。これらIMAPサーバからの警告はほとんどの場合無害であるか、またサーバ側の設定に問題がありユーザがどうにもできない問題なので、普通は表示させなくてもいいでしょう。

### imap_home_namespace

    Type: string
    Default: ""

もし IMAPブラウザでインボックスのそばに個人用のフォルダ以外のフォルダをおきたい場合には、この変数にそのフォルダの IMAPパスを設定してください。

### imap_preconnect

    Type: string
    Default: ""

この変数は IMAPサーバへ接続する前に走らせるシェルコマンドを設定します。これは ssh(1)を使って安全な接続をするのに便利です。例えば、

imap_preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 < /dev/null > /dev/null"

とすると mailhost.net上の fooというメールボックスは {localhost:1234}fooとしてアクセスできます。

注意: この例がちゃんと働くには、リモートマシンにパスワードなしでログインできる必要があります。

### implicit_autoview

    Type: boolean
    Default: no

yes にセットされていると、内蔵のビューワーで定義されていない MIME 添付ファイルすべてに対して、mailcap エントリーで copiousoutput フラグがセットされていないかどうかチェックします。もし、そうしたエントリーが見つかればそのエントリーで定義されているビューワーを使ってボディ部をテキスト形式に変換します。

### include

    Type: quadoption
    Default: ask-yes

返信する際にもとのメッセージのコピーを返信メッセージに含めるかどうかをコントロールします。

### indent_string

    Type: string
    Default: "> "

返信メッセージの中で、引用する行それぞれに前置する文字列を指定します。デフォルトの値から変更しないことを強く勧めます。なぜなら、これ以外の文字列を使った場合、狂信的なネットの住人を扇動する可能性が高いからです。

### in_reply_to

    Type: string
    Default: "%i; from %a on %{!%a, %b %d, %Y at %I:%M:%S%p %Z}"

これはメッセージを返信する場合に追加する In-Reply-To: へッダフィールドのフォーマットを設定します。使うことのできるエスケープシーキュエンスについては index_formatを参照してください。

注意: 8-bit文字を含む文字列を設定しないでください。そのようなエスケープシーキュエンスを使うとへッダがおかしくなる可能性があります。

### index_format

    Type: format string
    Default: "%4C %Z %{%b %d} %-15.15L (%4l) %s"

この変数を使うことで、メッセージ・インデックスの表示を自分好みにカスタマイズできるようになります。

表示用の文字列は C の printf 関数で出力の整形するのに使われる文字列に似ています(詳しくは man ページをご覧下さい)。Mutt では次の文字列が定義されています。

%a

  著者のアドレス

%b

  オリジナルのメッセージフォルダーのファイル名(メールボックスと考えていいです)

%B

  手紙が送られたリスト、もしくはフォルダー名 (%b)

%c

  メッセージの文字数(バイト数)

%C

  現在のメッセージ番号

%d

  メッセージの日付と時刻。Senderのタイムゾーンに変換され、date_formatで指定されるフォーマットで表示されます。

%D

  メッセージの日付と時刻。ローカル・タイムゾーンに変換され、date_formatで指定されるフォーマットで表示されます。

%f

  完全な From: 行 (アドレス + 名前)

%F

  送り手の名前。もしくは自分が出したメッセージであれば受信者の名前

%i

  現在のメッセージの Message-ID

%l

  メッセージの行数

%L

  list-from 機能

%m

  メールボックスにあるメッセージの合計数

%M

  スレッドが折り畳まれている場合、隠れているメッセージの数

%N

  メッセージのスコア

%n

  送り手の本当の名前(ない場合は、アドレス)

%O

  (オリジナルのセーブフォルダー) メッセージが以前にこっそりとおかれていた場所: リスト名、もしくは受信者の名前

%s

  メッセージの Subject

%S

  メッセージのステータス (N/D/d/!/*/r)

%t

  To: フィールド (受信者)

%T

  to_chars 文字列から得られる適切な文字

%u

  送り手のユーザー(ログイン)名

%v

  送り手のファーストネームか、もしくは自分が出したメッセージであれば受信者の名前

%Z

  メッセージの状態を示すフラグ

%{fmt}

  日付と時刻は Senderのタイムゾーンに変換されます。fmtは strftime システムコールによって展開されます。ビックリマーク(!)を前置することでロケールを無視させることができます。

%[fmt]

  日付と時刻はローカルのタイムゾーンに変換されます。fmtは strftime システムコールによって展開されます。ビックリマーク(!)を前置することでロケールを無視させることができます。

%(fmt)

  メッセージを受信したときのローカルの日付と時刻です。fmtは strftime システムコールによって展開されます。ビックリマーク(!)を前置することでロケールを無視させることができます。

%<fmt>

  ローカルの現在の時刻です。fmtは strftimeシステムコールによっ て展開されます。ビックリマーク(!)を前置することでロケールを無視させることができます。

%>X

  残りの文字列を右寄せにして間を "X" で埋める

%|X

  行末まで "X" で埋める

参照: $to_chars

### ispell

    Type: path
    Default: "/usr/bin/ispell"

ispell(GNU のスペルチェックソフトウェア)を起動する方法

### locale

    Type: string
    Default: "C"

日付の形式を整える strftime(3) でつかわれるロケールを指定します。有効な値は、システムが LC_TIME に受け付ける文字列です。

### mail_check

    Type: number
    Default: 5

この変数はどのくらいの頻度で Mutt が新着のメールをチェックするかを(秒単位で)指定します。

### mailcap_path

    Type: string
    Default: ""

この変数は、Mutt が直接サポートしていない MIME ボディを表示しようとする時に、どのファイルに問い合わせるのかを指定します。

### mailcap_sanitize

    Type: boolean
    Default: yes

セットされていると、mailcap での "%" の展開可能文字を、正しく定義されている安全な文字セットになるように制限します。これは安全性の高い設定ではありますが、もしかすると複雑な MIME 設定がうまく動作しなくなることもあるかもしれません。

注意!! 自分が何をやろうとしているのか、よく分からないままこの設定を変更しないでください!

### mark_old

    Type: boolean
    Default: yes

この変数は、新着のメッセージと古い未読のメッセージを区別するかどうかをコントロールします。デフォルトでは、新着のメッセージを読まずにメールボックスを出た場合、Mutt はそれらを古い未読のメッセージとマークします。次に Mutt を起動した時、それらのメッセージはインデックスメニューで後ろに "O" マーク付きで表示されます。これは、それらが古いメッセージであることを意味します。Muttが未読メッセージをすべて新着メッセージとして扱うようにするには、この変数をアンセット(unset)してください。

### markers

    Type: boolean
    Default: yes

内蔵のページャーで、折り返される行の表示をコントロールします。セットされていると、折り返される行の最初に "+" マーカーが表示されます。 $smart_wrap変数も参照してください。

### mask

    Type: regular expression
    Default: "!^\.[^.]"

ファイルブラウザーで使われる正規表現です。オプションとして、NOT 演算子 "!" が前置されています。このマスクにマッチするもののみが表示されます。また、マッチは常に大文字小文字を区別して行われます。

### mbox

    Type: path
    Default: "~/mbox"

この変数で、 spoolfileフォルダで読みこんだメールを格納するフォルダを指定します。

### mbox_type

    Type: folder magic
    Default: mbox

新しいフォルダを作成する際のデフォルトのメールボックスのタイプを指定します。mbox, MMDF, MH, Maildir のどれかです。

### metoo

    Type: boolean
    Default: no

アンセット(unset)になっていると、メッセージに返信する際に受信者のリストから自分のアドレスを削除します。

### menu_scroll

    Type: boolean
    Default: no

セットされているとスクリーンの境界を越えようとした時に、メニューは1行ずつ上下にスクロールされるようになります。アンセットになっていると、メニューのスクリーンはいったんクリアされ、次や前のページが表示されます(遅い接続を使っている場合に、なんども再描画されるのを避けることがで きます)。

### meta_key

    Type: boolean
    Default: no

セットしていると、Muttがハイビット(8ビット)セットのキーストロークを解釈するようになります。ユーザーがまず ESC キーを押し、それからその8ビット目を削除したときに残るなんらかのキーを押したように振る舞います。例えば、押されたキーが ASCII 表示で 0xf4 の値を持っているとすると、まず ESC キーを押しそれから "x" を押したように振る舞います。これは "0xf4" のハイビットを削除した残りは "0x74" になり、つまり "x" という ASCII 文字になるからです。

### mh_path

    Type:string
    Default: unset

(日本語版独自の拡張機能) mh_path option で `~/Mail`などと指定しておくと .mh_sequences がなくても `~/Mail`以下の subdirectory で他の folder 条件に引っ掛からず、 なおかつ、さらにその下に subdirectory を持たない directory は MH folder として解釈するようになります。 他の MH tool で生成した folder を mutt で扱う際の "xxx はメールボックスではありません" の誤判定を減らせます。

### mh_purge

    Type: boolean
    Default: no

アンセットされていると、Mutt は MH の振る舞いをまねるようになります。つまり MHフォルダで削除されたメッセージは、実際に削除されるかわりに ,<old file name> という名前にリネームされて残されます。セットされていると、メッセージはそのまま削除されます。

### mime_forward

    Type: quadoption
    Default: no

セットされていると、転送するメッセージは本文に含まれるのではなく、MIME パートとしてわけて添付されます。MIME メッセージを転送する際に、受信者がもともとの送信者からあなたに配送されたとおりのメッセージの形で適切に閲覧することができるという点で便利です。もしMIME メールであるかどうかによって振る舞いを変更したければ、 "ask-no" もしくは "ask-yes" をこの変数にセットしてください。

forward_decodeと mime_forward_decodeも参照してください。

### mime_forward_decode

    Type: boolean
    Default: no

mime_forwardがセットされている時に、複雑な MIME メッセージを text/plainにデコードするかどうかをコントロールします。それ以外はかわりに forward_decodeを使います。

### mime_forward_rest

    Type: quadoption
    Default: yes

いくつもの MIMEメッセージの添付ファイルがついたメールをフォワードする場合に、このオプションがセットされているとうまくデコードできない添付ファイルは新しく編集しているメッセージに添付されます。

### mix_entry_format

    Type: string
    Default: "%4n %c %-16s %a"

この変数は mixmastar用のチェーンを選ぶ画面のリメイラ行のフォーマットを指定します。次の printfに似た文字をサポートしています。

%n

  メニュー上での番号 (The running number on the menu)

%c

  リメイラの能力

%s

  リメイラの短い名前

%a

  リメイラのメイルアドレス

### mixmaster

    Type: path
    Default: "mixmaster"

この変数であなたのシステムの Mixmasterのバイナリへのパスを指定します。ここで指定されたバイナリが様々なパラメータを使って既存のリメイラのリストを得たり、最終的に mixmasterのチェーンを通してメッセージを送るのに使われます。

### move

    Type: quadoption
    Default: ask-no

既読のメッセージをスプールメールボックスから $mbox、もしくは、 mbox-hookコマンドによって指定されるメールボックスに移動するかという問い合わせを行うかどうかをコントロールします。

### message_format

    Type: string
    Default: "%s"

この文字列は attachmentメニューで message/rfc822 タイプの添付ファイルに対して用いられます。定義されているすべてのエスケープシーケンスのリストに関しては index_format をご覧下さい。

### msgid

    Type: boolean
    Default: set

(日本語版独自の拡張機能) この変数がセットされていると、メール送信時に Mutt自身が Message-Id: を生成します。MTAに Message-Id: を生成させたい場合はアンセットします。

### numbered_ml

    Type: boolean
    Default: unset

(日本語版独自の拡張機能) 日本のメーリングリストは リストサーバがサブジェクトに「メーリングリスト名+通し番号」を付加することが多いですね。「Subject: [mutt-j:00314] mutt-1.0pre1.jp0」のように。この変数を set するとサブジェクトでスレッドを認識するときは、この付加された部分を無視するようにしています。さらにインデックス画面でも、この付加部分を表示しないようにできるので、かなりすっきりした印象になります。この機能を有効にするには `set numbered_ml` としてください。

### pager

    Type: path
    Default: "builtin"

この変数はメッセージを閲覧するときにどのページャーを使うのかを指定します。 builtinは内蔵ページャーを使うことを意味します。それ以外は、この変数で使いたい外部ページャーのパスを指定します。

外部ページャーを使うとちょっと不便なところもあるかもしれません。Muttの機能を直接ページャーから呼び出すことができないため、余分なキーストロークが必要になります。また、スクリーンの幅を変更するとヘルプメニューのフォーマットがおかしくなります。

### pager_context

    Type: number
    Default: 0

この変数は、内蔵ページャーで次のページや前のページを表示するときに前後をどれだけの行見せてスクロールするかをコントロールします。デフォルトではスクリーンの最下行の1行下の行を最上行として表示します(つまり、値 は0です)。

### pager_format

    Type: string
    Default: "-%Z- %C/%m: %-20.20n   %s"

この変数は内蔵ページャーもしくは外部ページャーの中でそれぞれのメッセージを表示する前の1行メッセージ "status" の形式をコントロールします。有効なシーケンスは index_format の章にリストされています。

### pager_index_lines

    Type: number
    Default: 0

ページャーを表示しているときに表示される小インデックスの行数を指定します。現在のメッセージは、フォルダーの最上行もしくは最下行に近い位置以外の場所では、この小インデックスで約 1/3の位置に表示されます。これは現在のメッセージの前後のいくつかのメッセージを知ることができるようにするためです。これは、例えば現在のスレッドに未読のメッセージがいくつ残っているのかを知りたいときに便利です。指定する行数のうちの1行はインデックスのステータスバーに使われますので、"pager_index_lines"を 6に指定したとすると実際のインデックスは 5行表示されることになります。値を 0に設定すると小インデックスは表示されません。現在のフォルダーにあるメッセージ数が "pager_index_lines" の値より少ない場合は、全て表示します。

### pager_stop

    Type: boolean
    Default: no

セットされていると、内蔵ページャーを使っていてメッセージの終わりの位置を表示している場合 "next-page"機能を起動したときに、次のメッセージに移動しなくなります。

### pgp_autosign

    Type: boolean
    Default: no

この変数をセットしていると、出ていくメッセージに常に PGP/MIME署名しようとします。署名が要求されない場合や、暗号化が必要な場合に、"pgp-menu"を使って変更することができます。

### pgp_autoencrypt

    Type: boolean
    Default: no

この変数をセットしていると、出ていくメッセージを常に PGP/MIME暗号化しようとします。おそらく、"send-hook"コマンドと組み合わせて使うと便利でしょう。暗号化が要求されない場合や署名が必要な場合に、"pgp-menu"を使って変更することができます。

### pgp_entry_format

    Type: string
    Default: "%4n %t%f %4l/0x%k %-4a %2c %u"

この変数で PGP鍵の選択メニューを自分用に設定できます。使うことのできる文字列は index_formatと似てますが、それ以外にも printfに似た命令を使えます。

%n

  番号

%k

  鍵のID

%u

  ユーザID

%a

  アルゴリズム

%l

  鍵の長さ

%f

  フラグ

%c

  能力(capabilities)

%t

  鍵の信用度

%[<s>]

  鍵の日付、<s>は strftime(3)で使われる表現

### pgp_long_ids

    Type: boolean
    Default: no

セットされていると64ビット PGP キー ID を使います。アンセットだと普通の32ビットキー ID を使います。

### pgp_replyencrypt

    Type: boolean
    Default: no

セットされていると、暗号化されているメッセージに返信すると自動的に PGP暗号化するようになります。

### pgp_replysign

    Type: boolean
    Default: no

セットされていると、PGP 署名されているメッセージに返信すると自動的に PGP 署名するようになります。

注意: 暗号化されていて、かつ署名されているメッセージに対しては動作しません。

### pgp_replysignencrypted

    Type: boolean
    Default: no

この変数がセットされていると暗号化されたメッセージに返信する場合に自動的に PGP署名します。これは pgp_replyencryptといっしょに使うといいでしょう。これを使うことで自動的に暗号化されたメッセージのすべてに署名をできるからです。これは pgp_replysignの持つ問題、つまりmuttが暗号化されたメッセージが署名されているかどうかを判別できないという問題に対する一つの解決法です。

### pgp_retainable_sigs

    Type: boolean
    Default: no

これをセットすると署名され、暗号化されたメッセージは入れ子になったマルチパートメッセージとして multipart/signed と multipart/encryptedになります。

この設定は暗号化され署名されたメーリングリストなどのアプリケーションは便利でしょう。外側の (multipart/encrypted)レイヤーは内側の multipart/signedのパートを残して簡単に取り去れます。

### pgp_show_unusable

    Type: boolean
    Default: yes

これがセットされていると PGP鍵の選択メニューに使うことのできない鍵も表示します。この使うことのできない鍵には取り消された鍵、有効期限がすぎた鍵、使用不可とマークされた鍵が含まれます。

### pgp_sign_as

    Type: string
    Default: ""

1つ以上のキーペアを持っている場合に、どのプライベートキーを用いるかをこのオプションで指定します。キーを指定する際はキーIDの形式で指定することが推奨されています(例: "0xABCDEFGH")。

### pgp_sign_micalg

    Type: string
    Default: "pgp-md5"

この変数でメッセージの完全性のチェックアルゴリズムのデフォルトを指定します。有効な値は、"pgp-md5", "pgp-sha1", "pgp-rmd160"です。メール作成メニュー(compose menu)でオプションとして署名を使う際に、署名するキーを選択した場合、どの値をここに挿入すればよいかは自動的に判断されます。しかし、それでもユーザーのデフォルトのキーについて知っているわけではあり ません。

ですから、署名に RSA キーを使う場合は、この値を "pgp-md5" にセットしてください。また PGP 5 DSS キーを署名に使う場合は、例えば "pgp-sha1" にセットしてください。この変数の値は、RFC 2015 署名を生成する際に、MIME ヘッダーの micalg 変数に表示されます。

### pgp_strict_enc

    Type: boolean
    Default: yes

セットされていると、PGP/MIME署名されたメッセージは自動的に quoted-printableでエンコードされます。この変数をアンセットにすると、その署名が正しいものかどうかを確認できないような PGP 署名を生成するという問題を引き起こすかもしれないということに注意してください。ですから、自分が何をやっているかを正確にわかっている場合にのみ、変更を行ってください。

### pgp_timeout

    Type: number
    Default: 300

指定された秒数の後、使われていないキャッシュされているパスフレーズを消します。

### pgp_verify_sig

    Type: quadoption
    Default: yes

この変数が yesになっていると、つねに PGP/MIME署名が正しいかどうかを確かめます。この変数が askになっていた場合は確かめるかどうかをたずねます。noになっていた場合は PGP/MIME署名を確かめません。

### pgp_sort_keys

    Type: sort oder
    Default: address

どのように PGP鍵メニューで項目を並べるかを指定します。使うことのできるのは、

address

  ユーザーIDによってアルファベット順に並べます

keyid

  キーIDによってアルファベット順に並べます

date

  鍵の製作日時の順に並べます

trust

  鍵の信用度に応じてならべます

並べ方を逆順にしたい場合には、'reverse-'を前につけてください。

### pgp_create_traditional

    Type: quadoption
    Default: no

このオプションはある特定の状況で古いスタイルの PGP暗号化や PGP証明をするかどうかをコントロールします。Muttは us-ascii以外の文字セットが使われた場合と１つ以上の MIMEパートを含んでいる場合には自動的に PGP/MIMEを使うことに注意してください。それともう一つ、古いスタイルの PGPメッセージフォーマットを使うことはできる限りやめてください。

### pgp_decode_command

    Type: string
    Default: ""

このフォーマット用の文字列は application/pgpアタッチメントをデコードするコマンドを指定します。

この PGPコマンド用のフォーマットは printfに似た形をしています。

%p

  パスフレーズが必要な場合は PGPPASSFD=0に展開され、それ以外の場合は空の文字列に展開されます。注意: これは %?といっしょに使うのがいいでしょう。

%f

  メッセージを含んだファイルのファイル名に展開されます。

%s

  証明を確認する場合に multipart/signedアタッチメントの署名のパートを含むファイル名に展開されます。

%a

  pgp_sign_asの値

%r

  一つまたはそれ以上のキーID

あなたが使っている PGPのバージョンに合わせて、どのようにこれらの文字列を設定するかについては samples/サブディレクトリに入っている pgp*.rcや gpg.rcファイルを見てください。

### pgp_getkeys_command

    Type: string
    Default: ""

muttが公開鍵の情報が必要なときに呼び出されるコマンドを指定します。%rがこのフォーマットで使われるただひとつの printfのような文字列です。

### pgp_verify_command

    Type: string
    Default: ""

PGP/MIME署名が正しいかどうかを確認するためのコマンドです。

### pgp_decrypt_command

    Type: string
    Default: ""

これは PGP/MIME暗号化されたメッセージを復号するコマンドです。

### pgp_clearsign_command

    Type: string
    Default: ""

このフォーマットは古いスタイルの"clearsigned"PGPアタッチメントをつくるのに使われます。注意: このフォーマットはできるだけ使わないでください。

### pgp_sign_command

    Type: string
    Default: ""

このコマンドは multipart/signed PGP/MIMEの本文パートのための切り離された(detached)PGP署名をつくるのに使います。

### pgp_encrypt_sign_command

    Type: string
    Default: ""

これは結合したまま本文パートを署名、暗号化するコマンドを指定します。

### pgp_encrypt_only_command

    Type: string
    Default: ""

これは署名なしで本文パートを暗号化するのに使うコマンドを指定します。

### pgp_import_command

    Type: string
    Default: ""

ここで指定したコマンドで鍵をメッセージからユーザの公開鍵リングに入れます。

### pgp_export_command

    Type: string
    Default: ""

ユーザのキーリングから公開鍵をエクスポートするコマンドを指定します。

### pgp_verify_key_command

    Type: string
    Default: ""

これは鍵選択メニューから鍵の情報を確認するのに使うコマンドを指定します。

### pgp_list_secring_command

    Type: string
    Default: ""

これは秘密鍵リングの内容をリストするコマンドです。出力のフォーマットは gpg --list-keys --with-colons で使われているのと同じようでなければなりません。

このフォーマットは muttについてくるユーティリティ pgpringも使っています。

### pgp_list_pubring_command

    Type: string
    Default: ""

これは公開鍵リングの内容をリストするコマンドです。出力のフォーマットは gpg --list-keys --with-colons で使われているのと同じようでなければなりません。

このフォーマットは muttについてくるユーティリティ pgpringも使っています。

### forward_decrypt

    Type: boolean
    Default: yes

メッセージを転送する際に暗号化されたメッセージをどう扱うかをコントロールします。この変数がセットされていると、暗号化の外側のレイヤーが取り除かれます。この変数は mime_forwardがセットされ、そして mime_forward_decodeがアンセットされている場合のみ使われます。

### certificate_file

    Type: path
    Default: ""

この変数はあなたが信用する証明書(certificates)を保存するファイルを指定します。もし未知の証明書と出会った場合は、その証明書を受け入れるかどうかを聞いてきます。それを受け入れる場合にはこのファイルに保存され、それ以降は自動的に受け入れられます。

### entropy_file

    Type: path
    Default: ""

SSLを初期化するために使われるランダムデータを含むファイル。

### ssl_use_sslv2

    Type: boolean
    Default: yes

この変数で SSL認証プロセスで SSLv2を使うかどうかを指定する。

### ssl_use_sslv3

    Type: boolean
    Default: yes

この変数で SSL認証プロセスで SSLv3を使うかどうかを指定する。

### ssl_use_tlsv1

    Type: boolean
    Default: yes

この変数で SSL認証プロセスで TLS v1を使うかどうかを指定する。

### pipe_split

    Type: boolean
    Default: no

pipe-messageコマンド、tag- prefixオペレータといっしょに使います。この変数がセットされていない場合は、タグ付されたメッセージをパイプで送るときにメッセージを連結して一つのフォルダとして送ります。この変数がセットされていると、Muttはメッセージを一つずつ送ります。どちらの場合でもメッセージはいま並んでいる順番でパイプに送られ、各々のメッセージの後ろには pipe_sepセパレータが付け加えられます。

### pipe_decode

    Type : boolean
    Default: no

pipe-messageコマンドとともに使います。もしセットされていないと Muttは前処理をしません。セットされている場合はへッダを取り除き、メッセージの PGP/MIMEデコードを前処理として行ないます。

### pipe_sep

    Type: string
    Default: "/n"

タグ付けされた一連のメッセージを外部の Unixコマンドにパイプするときのセパレータを指定します。

### pop_apop

    Type: boolean
    Default: unset

(日本語版独自の拡張機能) set pop_apop 時には APOP 認証になります(その際、non APOP 認証は 失敗しても試しません)。 ただし、mutt では APOP 利用には fetchmail を使うことが推奨されています。

### pop_delete

    Type: boolean
    Default: no

もしセットされていれば fetch-mail機能を使った場合ダウンロードに成功したメッセージはPOPサーバから消します。もしセットされていない場合は POPサーバにメッセージを残しておきます。

### pop_host

    Type: string
    Default: ""

POP3サーバの名前かアドレス

### pop_port

    Type: number
    Default: 110

POPサーバが使っているポートを指定します。

### pop_last

    Type: boolean
    Default: no

この変数がセットされている場合は POPサーバから未読のメッセージを取り寄せるのに "LAST" POPコマンドを使おうとします。

### pop_user

    Type: string
    Default: ""

POP3サーバへのログイン名を指定します。デフォルトはローカルシステムでのログイン名です。

### pop_pass

    Type: string
    Default: ""

POPアカウントのパスワードを指定します。

### post_indent_string

    Type: string
    Default: ""

$attribution変数と同じように、返信の際に引用したメッセージの後ろにこの文を入れます。

### postpone

    Type: quadoption
    Default: ask-yes

すぐにメッセージを送信しない場合にメッセージを $postponedメイルボックスに保存するかどうかをコントロールする変数です。

### postponed

    Type: string
    Default: "~/postponed"

Muttは編集したメッセージの送信を延期することができます[ postpone sending a message]。この変数は送信を延期したメールを保存するフォルダを指定します。 $postpone変数も参照してください。

### print

    Type: quadoption
    Default: ask-no

印刷の前に確認のメッセージを出すかどうかをコントロールする変数です。間違ってよくp を押してしまう人に役立つでしょう。

### print_command

    Type: path
    Default: "lpr"

メッセージを印刷するために使うコマンドパイプを設定します。

### print_decode

    Type: boolean
    Default: yes

print-messageコマンドといっしょに使います。このオプションがセットされている場合には print_commandで指定した外部コマンドに渡す前にメッセージをデコードします。このオプションがセットされていない場合には、印刷のときに前処理はされません。後者の設定はあなたが正しく e-mailをファーマットすることができる優秀なプリンタフィルタを使っている場合には役に立つかも知れません。

### prompt_after

    Type: boolean
    Default: yes

この変数をセットすると、外部のページャ( pager)を使っている場合、ページャを終了するときにすぐにインデックスメニューに戻るのではなく、実行するコマンドを聞いてくるようになります。セットしないと外部ページャを終了するとすぐにインデックスメニューに戻ります。

### query_command

    Type: string
    Default: ""

外部にアドレスを問い合わせるコマンドを指定します。その中には %sという文字列が含まれている必要があり、これにユーザーが入力した問い合わせの文字列が代入されます。詳しくは queryを見てください。

### quit

    Type: quadoption
    Default: yes

この変数は quitと exitが実際に muttを終了するかどうかをコントロールします。もし yesに設定してあるとすぐに終了し、noに設定してあると終了しません。そして ask-yesまたは ask-noに設定してある場合は終了する前に確認します。

### quote_regexp

    Type: regular expression
    Default: "^([\t]*[|>:}#])+"

内蔵ページャがメッセージの本文の中のどこが引用部分かを決めるための正規表現です。

注意: 内蔵ページャが quoted xパターンを使うためには、引用部分の行頭の文字に正確に一致するように正規表現を設定する必要があります。

### read_inc

    Type: number
    Default: 10

この変数が 0より大きい値をとっていた場合、メールボックスの今読み込んでいるメッセージの番号を表示します。この変数で設定した数ごとにどこまで読み込んだかを表示します (つまり25に設定されていれば、始めの25のメッセージを読み込んだときに25と表示され、次の25メッセージを読み込むと50と表示されます)。この変数は大きなメールボックスを読み込むのに時間がかかる場合にその進展状況を示すためのものです。

0に設定されている場合はメールボックスを読む前にメッセージがでるだけです。

$write_inc変数も参照してください。

### read_only

    Type: boolean
    Default: no

もしセットしてあると、すべてのフォルダーは read-onlyモードで開きます。

### realname

    Type: string
    Default: ""

メッセージを送るときにつける名前を設定します。デフォルトではこれは /etc/passwdのGCOS フィールドです。この変数はユーザが from変数で名前を設定した場合には使われません。注意してください。

### recall

    Type: quadoption
    Default: ask-yes

新しいメッセージを編集するときに、送るのを延期したメッセージを読み込むかどうかの確認をコントロールします。 postponedも参照してください。

この変数を yesにすることは一般的には立たず、お薦めできません。

### record

    Type: path
    Default: ""

送信したメッセージをどのファイルに追加するかを指定します。(これは送信したメッセージを保存するための方法の1つです。他の方法は my_hdrコマンドを使って自分のメールアドレスの入った Bcc: フィールドをつくることです。)

$recordの値は $force_name、 $save_name変数、 fcc-hookコマンドで上書きされます。

### reply_regexp

    Type: regular expression
    Default: "^(re([\[0-9\]+])*|aw):[ \t]*"

返信されてきたメッセージを認識するための正規表現です。デフォルトでは英語の Re: とドイツ語の Aw: が使われます。

### reply_self

    Type: boolean
    Default: no

もしセットされていなくて自分からのメッセージに返信する場合、Muttはあなた以外にそのメッセージの受取人にメッセージを送りたいのだと仮定します。

### reply_to

    Type: quadoption
    Default: ask-yes

もし設定されていれば、Muttはメッセージを返信する際に Reply-To: に書かれたアドレスのリストにメッセージを送りたいのかどうかを尋ねます。このオプションは Reply-To:がメーリングリストの宛先になっているなっているメーリングリストを読んでいて個人的なメッセージを送りたいような場合に便利です。

### resolve

    Type: boolean
    Default: yes

これが設定されていると今カーソルのあるメッセージを変更するコマンドを実行した場合、自動的に(削除されてない)次のメッセージにカーソルを移動します。

### reverse_alias

    Type: boolean
    Default: no

この変数はエイリアスにメッセージの送り主があった場合、インデックスメニューにエイリアスの個人名を表示するかどうかをコントロールします。例えば、もし次のようなエイリアスがあり

    alias juser abd30425@somewhere.net (Joe User)

次のようなへッダーを持つメッセージを受け取ると、

    From: abd30425@somewhere.net

インデックスメニューに abd30425@somewhere.netのかわりに Joe Userが表示されます。これはある人のメールアドレスが(Compu$erveのアドレスのように)人間にわかりにくい場合に便利です。

### reverse_name

    Type: boolean
    Default: no

あるコンピュータでメールを受け取り、それを別のコンピュータに移動し、別のコンピュータで返信するを場合があります。この変数をセットしておくとデフォルトの From: フィールドがメッセージを受け取ったコンピュータのものになります。セットしなければ From: は今いるコンピュータのものになります。

### reverse_realname

    Type: boolean
    Default: yes

この変数は reverse_name機能の振る舞いを調整します。この変数がセットされている場合は来たメールが本当の名前を含んでいるとして、そのアドレスをそのまま使います。これがセットされていない場合は、realname変数の設定を使いそのような名前を上書きします。

### rfc2047_parameters

    Type: boolean
    Default: no

この変数がセットされていると、muttは RFC-2047-encoded MIMEパラメータをデコードします。muttが添付ファイルを =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=のようなファイル名で保存しますかときいてくるような場合は、この変数をセットしたくなるでしょう。

この変数を（muttの中で）対話的に設定した場合には、フォルダを変わるまで効果がでてきません。

RFC 2047のこの使用法は明示的に規格では禁止されているにも関わらず、使われているということに注意してください。。またこの変数をセットしても muttがそのような種類のエンコードを生成するようなことはありません。muttは無条件で RFC 2231において指定されるエンコーディングを使います。

### save_address

    Type: boolean
    Default: no

この変数がセットされているとメールを保存するフォルダを選ぶときに muttは送り手のフルアドレスを使います。もし save_nameや force_nameがセットされていると fccフォルダの選択も同じように変更されます。

### save_empty

    Type: boolean
    Default: yes

もしセットされない場合には保存されたメッセージの無いメールボックスはそのメールボックスを閉じるときに削除されます。(例外は spoolfileでこれは決して削除されません)。もしセットされていれば、メールボックスは削除されません。

注意: これは mboxと MMDFフォルダのみに適応されます。MHと Maildirディレクトリは削除されません。

### save_name

    Type: boolean
    Default: no

この変数は送信したメッセージのコピーをどのように保存するかをコントロールします。もしセットされていればメッセージの受取人のアドレスの名前のついたメールボックスがあるかどうかを確かめます (これは folderディレクトリ内に受取人のアドレスのユーザネームと同じ名前のついたメールボックスがあるかどうかを確かめます)。もしあれば送信したメッセージのコピーがそのメールボックスに保存されます。そうでない場合には recordメールボックスに保存されます。

Also see the $force_name variable.

$force_nameも参照してください。

### score

    Type: boolean
    Default: yes

この変数をアンセットするとスコアが使えなくなります。score_threshold_delete変数などを使っている場合には、特定のフォルダでスコアを使えないようにするのがいい場合があるでしょう。

### score_threshold_delete

    Type: number
    Default: -1

この変数と等しいかより低いスコアを持つメッセージは自動的に削除の対象に選ばれます。muttはつねにゼロ以上のスコアをつけるので、デフォルトの設定ではどのメッセージも削除の対象になりません。

### score_threshold_flag

    Type: number
    Default: 9999

この変数の値よりも大きいスコアを持つメッセージは自動的にフラグが立てられます。

### score_threshold_read

    Type: number
    Default: -1

この変数の値と等しい、またはより低いスコアを持つメッセージは自動的に既読のマークがつきます。muttはつねにゼロ以上のスコアをつけるので、デフォルトの設定ではどのメッセージも既読のマークはつきません。

### send_charset

    Type: string
    Default: ""

メッセージを送信するときに使う文字セットを設定します。この変数が設定されていない場合は charset変数を使います。

### sendmail

    Type: string
    Default: "/usr/sbin/sendmail -oem -oi"

Muttから送信したメッセージを配送するプログラムと引数を指定します。Muttはその指定したプログラムが追加的なオプションを受取人のアドレスと解釈すると仮定しています。

### sendmail_wait

    Type: number
    Default: 0

sendmailプロセスがすぐに送るのをあきらめて配送をバックグランドにまわすまでの秒数を指定します。

Muttはこの変数を次のように解釈します。

    >0      sendmailの終了まで待つ時間
    0       sendmailの終了まで永遠に待つ
    <0      常に待つこと無くバックグランドで sendmailを動かす

もし 0以外の値を選んだ場合には、子プロセスからのアウトプットは一時ファイルに保存されます。何かエラーがあった場合にはどのファイルに子プロセスからの出力が入っているかを知らせます。

### shell

    Type: path
    Default: ""

サブシェルをつくるときのコマンドを指定します。デフォルトでは /etc/passwdのログインシェルが使われます。

### sig_dashes

    Type: boolean
    Default: yes

これがセットされていると signatureの前に「`--`」を含んだ行が挿入されます。できるだけこの変数をアンセットしないでください。多くのプログラムが「`-- \n`」をシグニチャを探すために使っているからです。Muttもこの行を使って内蔵ページャでシグニチャに別の色を付けています。

### signature

    Type: path
    Default: "~/.signature"

送信するメッセージの最後につけるシグニチャ用のファイル名を指定します。もしファイル名がパイプ(|)で終わっている場合にはファイル名はシェルコマンドだと解釈され、その標準出力からインプットが読み込まれます。

### simple_search

    Type: string
    Default: "~f %s | ~s %s"

どのようにシンプルサーチを本当のサーチパターンに展開するかを指定します。シンプルサーチは ~オペレータを含まないものです。サーチパターンについて詳しくは patternsを参照してください。

例えば単に `joe`を検索した場合、それを自動的にどのように展開するかをこの変数で指定します。デフォルトでは次のように展開されます。

`~f joe | ~s joe`

### smart_wrap

    Type: boolean
    Default: yes

一行が内蔵ページャの横幅より長い場合にどのように表示するかをコントロールする変数です。もしセットすると、長い行は単語の区切りで折り返され、セットされてない場合にはスクリーンの端で折り返されます。

$markers変数も参照してください。

### smileys

    Type: regular expression
    Default: "(>From )|(:[-^]?[][)(><}{|/DP])"

この変数はページャが quote_regexpの失敗をなくすために使います。一番多い原因は行頭のスマイリです。

### sort

    Type: sort order
    Default: date

インデックスメニューの中でどのようにメッセージを並べ替えるかを設定します。使うことのできる値は次のものです。

- dateまたは date-sent
- date-received
- from
- mailbox-order (ソートしない)
- score
- size
- subject
- threads
- to

また `reverse-`という接頭辞をつけて順序を逆にすることができます(例: `set sort=reverse-date-sent`)

### sort_alias

    Type: sort order
    Default: alias

エイリアスメニューの項目をどのように並べ替えるかを設定します。使うことのできる値は次のものです。

- address (メールアドレスのアルファベット順)
- alias (別名のアルファベット順)
- unsorted (.muttrcの中の順)

### sort_aux

    Type: sort order
    Default: date

スレッドをソートするときに、この変数はスレッド間の順序やスレッドツリー内のサブスレッドをどのように並べ替えるかをコントロールします。この変数は sortがとることのできる値をすべて使うことができますが、 `threads`だけは使うことができません(`threads`が設定された場合は `date-sent`が使われます)。また `reverse-`接頭辞以外に `last-`という接頭辞を使うことができますが、これを `reverse-`といっしょに使う場合は`reverse-`の後ろにつける必要があります。これは最新の孫スレッドの sort_auxの順で子スレッドを並べ替えます。例えば、`set sort_aux=last-date-receivedは新しいメッセージがスレッド内に受け取られるとそのスレッドが一番最後に表示されることを意味します (もし set sort=reverse-threadsが設定されている場合には、一番初めです)。注意: 並べるのを逆順にしている場合は sort_auxも逆順になります（これはおかしな設定なのですが、既存の設定をこわさないようにこのようにしています）。`

### sort_browser

    Type: sort oder
    Default: subject

ファイルブラウザで項目をどうやって並べ替えるかを設定します。デフォルトではアルファベット順で並べられます。使うことのできる値は次のものです。

- alpha (アルファベット順)
- date
- size
- unsorted

また `reverse-`接頭辞をつけて順序を逆にすることができます (例: `set sort_browser=reverse-date`)

### sort_re

    Type: boolean
    Default: yes

この変数は strict_threadsがアンセットされた状態でスレッドをソートする場合にのみ効果があります。その場合、この変数はサブジェクトを使ってメッセージをスレッドに分類する方法を変えます。もし sort_reがセットされている場合はサブジェクトの先頭が reply_regexpで設定される文字列の一部と一致しなければそのメッセージのスレッドには分類されません。sort_reがアンセットされている場合はサブジェクトの reply_regexpに含まれない部分が一致しているとそのメッセージのスレッドに入ります。

### spoolfile

    Type: path
    Default: ""

もしスプールメールボックスが標準の場所になく、Muttが探し出せないときにこの変数で場所を指定します。この変数が設定されていない場合には自動的に環境変数 `$MAIL`の値がこの変数に設定されます。

### status_chars

    Type: string
    Default: "-*%A"

status_formatの %rの表示に使う文字を設定します。一番初めの文字はメールボックスに変化が無い場合に使われ、2番目の文字はメールボックスに変化があり同期する必要がある場合に使います。3番目の文字はメールボックスがリードオンリまたはそのメールボックスを閉じるときに書き込みができない場合に使われます (書き込みの禁止のオン、オフは toggle-writeオペレータで行なえます。これは %キーに割り当てられています)。4番目の文字は今いるフォルダが添付メッセージモードで開かれている場合に使われます (このモードではある種の操作、例えば新しいメールの編集、返信、転送等ができません)。

### status_format

    Type: string
    Default: "-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F?
    Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---"

この変数はインデックスメニューに表示されるステータス行のフォーマットを設定します。ここで使う文字列は $index_formatのものと似ていますが、printf()のような文字列を使えます。

    %b      新着メールの入ったメールボックスの数 *
    %d      削除されたメッセージの数 *
    %h      ローカルホスト名
    %f      今いるメールボックスのフルパス名
    %F      フラッグのついたメールの数 *
    %l      (bytesで表した)今のメールボックスのサイズ *
    %L      (bytesで表した)表示されているメッセージのサイズ (つまり今の制限を満たしているもの) *
    %m      メールボックス内のメッセージの数 *
    %M      表示されているメッセージの数 (つまり今の制限を満たしているもの) *
    %n      メールボックス内の新しいメッセージの数 *
    %o      古い未読メッセージの数
    %p      送信を延期しているメッセージの数 *
    %P      インデックス内で何パーセントの位置にいるか
    %r      $status_charsによるmodified/read-only/won't-write/attach-message インディケータ
    %s      今の並べ替えのモード ($sort)
    %S      今の aux並べ替えのモード ($sort_aux)
    %t      タグ付けされたメッセージの数 *
    %u      未読メッセージの数
    %v      Muttのバージョン
    %V      もし設定されていれば今有効になっている制限(limit)のパターン *

    %>X     残りの文字列を右揃し、Xで埋める
    %|X     行末まで Xで埋める

    * = ゼロで無い場合だけ表示するようにすることができる

上のいくつかのものは値がゼロ以外の場合のみ表示するようにすることができます。例えば、フラッグのつけられたメッセージの数が 0以外の場合のみ表示させたいということがあるでしょう。そういう場合は次のような構文を使います。

            %?<sequence_char>?<optional_string>?

ここで sequence_charは前の表の文字で、optional_stringは status_charが0以外の場合に表示させたい文字列です。optional_stringは普通のテキスト以外に前の表の文字列を使うことができますが、別の optional_stringをネストすることはできません。

次の例はメールボックス内の新着メッセージがゼロでない場合だけ表示されます。

            %?n?%n new messages.?

また2つの文字列を状態に応じて使い分けることもできます。もし値がゼロの場合は始めの文字列が表示され、ゼロ以外の場合は2番目の文字列が表示されます。次のような構文を使います。

            %?<sequence_char>?<if_string>&<else_string>?

またこの文字列の前にアンダースコア(_)を接頭辞としてつけることによって、強制的に小文字で出力できるようになります。例えばローカルホスト名を小文字で表示したい場合は %_hを使ってください。

### status_on_top

    Type: boolean
    Default: no

ステータス行 status barを画面の下にではなく一行目に表示します。

### strict_threads

    Type: boolean
    Default: no

この変数をセットするとメッセージをスレッドで sortingする場合に In-Reply-Toと Referencesフィールドだけが使われます。デフォルトではこの変数はセットされていなくて、その場合は同じサブジェクトを持つメッセージも同じスレッドに集められます。ただしこの設定がいつも望ましいわけではなく、例えば個人的なメールボックスでは多くの「hi」というサブジェクトを持った関係のないメッセージが集められることになります。

### suspend

    Type: boolean
    Default: yes

この変数をアンセットすると、ユーザが通常 control-Zに割り当てられている suspキーを押してもmuttはサスペンドしません。これは `xterm -e mutt`のようなコマンドで muttを xtermの中で動かしているような場合に便利でしょう。

### thorough_search

    Type: boolean
    Default: no

セクション patternsで説明した `~b`と `~h`サーチオペレータに影響を与えます。もしセットされるとサーチされるメッセージのへッダと添付ファイルがサーチの前にデコードされます。セットされていない場合はメッセージはフォルダの中に現れたときにサーチされます。

### tilde

    Type: boolean
    Default: no

この変数がセットされると、内蔵ページャは画面の空白行を画面の下まで(~)で表します。

### timeout

    Type: number
    Default: 600

この変数はタイムアウトして新しいメールをチェックする前にメインメニューでキー入力を待つ時間を秒数でコントロールします。この値が 0以下の場合は永遠にタイムアウトしません。

### tmpdir

    Type: path
    Default: ""

メッセージの表示や編集のためにつくる一時ファイルを置くディレクトリを設定します。

### to_chars

    Type: string
    Default: " +TCF"

メッセージの宛先の状態を表示する文字を設定します。1番始めの文字はあなた宛ではないメールの場合に使われます (デフォルトはスペースです)。2番目の文字はあなただけがそのメッセージの受取人である場合に使われます。3番目の文字はあなたのアドレスが TO へッダフィールドにあるがあなた以外にも受取人がいる場合に使われます (デフォルトは T)。4番目の文字はあなたのアドレスが CC へッダフィールドにあるがあなた以外にも受取人がいる場合に使われます (デフォルトは C)。5番目の文字はそのメッセージはあなたが送信したことを表します。

### use_8bitmime

    Type: boolean
    Default: no

警告: `-B8BITMIME`フラッグをサポートする sendmail (つまりsendmail 8.8.x)を使っているか、メールを送信できない場合にのみこの変数をセットしてください。

これをセットすると 8-bitメッセージを送る場合、 $sendmailに `-B8BITMIME`フラッグをつけて起動し ESMTPネゴシエーションができるようにします。

### use_domain

    Type: boolean
    Default: yes

この変数がセットされていると muttはすべてのローカルアドレス(@hostパートがつかないもの)に $hostname変数を修飾します。unsetされた場合には修飾しません。

### use_from

    Type: boolean
    Default: yes

この変数がセットされるとメッセージを送信するときに From: へッダフィールドがつくられます。unsetされている場合には my_hdrコマンドで明示的に設定しない限り From: へッダフィールドがつくられません。

### user_agent

    Type: boolean
    Default: yes

この変数がセットされていると送信するメッセージに User-Agentへッダがつき、どのバージョンの muttがそのメッセージを書くのに使われたかを知らせます。

### visual

    Type: path
    Default: ""

内蔵エディタで `~v`コマンドが与えられたときに実行するビジュアルエディタを指定します。

### wait_key

    Type: boolean
    Default: yes

shell-escape、 pipe-message、 pipe-entry、print-message、 print-entryコマンドの後で Muttがキーを入力するようにたずねるかどうかをコントロールします。

また autoviewで添付ファイルを見る場合、対応する mailcapの項目に needsterminalフラッグがついていて外部プログラムを対話的に使う場合にも使われます。

この変数がセットされていると Muttは常にキー入力を求めます。unsetされている場合には外部コマンドがゼロ以外の値を返した場合のみキー入力を待ちます。

### weed

    Type: boolean
    Default: yes

セットされているとメッセージを表示、転送、印刷、返信するときにへッダを取り除きます。

### wrap_search

    Type: boolean
    Default: yes

メールボックスの最後で検索を終えるかどうかをコントロールします。

この変数がセットされている場合には、検索は最初の(または最後の)メッセージで終わりますが、unsetされた場合には終わりません。

### write_inc

    Type: number
    Default: 10

メールボックスに書き込む際に進行の状況を知らせるために終わったメッセージの数をいくつごとに表示するかを設定します。0の場合にはメールボックスに書き込む前にメッセージがでるだけです。

$read_inc変数も参照してください。

### write_bcc

    Type: boolean
    Default: yes

送信用のメッセージを書いているときに Bccへッダを muttが書くかどうかをコントロールします。Eximユーザに便利な機能です。

## 6.4 Functions

この章ではメニューごとに使うことのできる関数を一覧表にしています。デフォルトでのキーへの割り当てとその関数の説明が関数名の後に書いてあります。これらの関数のキーの割り当ては bindコマンドを使って変えることができます。

### generic

genericは本当のメニューではなく、ここではページャとエディタ以外のすべてのメニューで共通に使える関数(移動等)をまとめてあります。このセクションの関数のキーの割り当てを変えるとすべてのメニューに影響します。

    bottom-page               L   最後のページに行く
    current-bottom    not bound   スクリーンの最下位置エントリに移動
    current-middle    not bound   スクリーンの中央位置エントリに移動
    current-top       not bound   スクリーンの最上位置エントリに移動
    enter-command             :   muttrcの命令を入力
    exit                      q   このメニューから抜ける
    first-entry               =   最初のエントリに移動
    half-down                  ]  ページを半分下にスクロール
    half-up                   [   ページを半分上にスクロール
    help                       ?  このスクリーン
    jump                  number   インデックス番号に飛ぶ
    last-entry                 *   最後のエントリに行く
    middle-page                M   ページのまん中に行く
    next-entry                 j   次のエントリに行く
    next-line                  >   一行スクロール・ダウン
    next-page                  z   次ページへ行く
    previous-entry             k  前のエントリに行く
    previous-line              <  一行スクロール・アップ
    previous-page              Z  前のページに行く
    refresh                   ^L  画面をクリアして描き直す
    search                     /  正規表現検索
    search-next                n  次のマッチを検索
    search-opposite    not bound  逆順にパターンを検索
    search-reverse         Esc /  逆順の正規表現検索
    select-entry             RET  このエントリを選ぶ
    shell-escape               !  サブシェルでコマンドを起動
    tag-entry                  t  メッセージにタグを付ける
    tag-prefix                 ;  タグ付メッセージに次の関数を適用
    top-page                   H  ページの最初に行く

### index

    bounce-message            b   メッセージを他のユーザに再送する
    change-folder             c   別のフォルダをオープン
    change-folder-readonly <Esc>c リード・オンリーモードで別のフォルダを開く
    clear-flag                W   メッセージのステータス・フラグをクリア
    collapse-all           <Esc>V   すべてのスレッドを collapse/uncollapse
    collapse-thread      <Esc>v   このスレッドを collapse/uncollapse
    copy-message              C   メッセージをファイルやメールボックスにコピー
    create-alias              a   メッセージの送信者をエイリアスに
    decode-copy          <Esc>C   text/plainにデコードしてコピー
    decode-save          <Esc>s   text/plainにデコードしてコピー、かつ削除
    delete-message            d   このエントリを削除
    delete-pattern            D   パターンにマッチしたメッセージを削除
    delete-subthread     <Esc>d   サブスレッドのメッセージをすべて削除
    delete-thread            ^D   スレッドのメッセージをすべて削除
    display-address           @   送信者のフル・アドレスを表示する
    display-toggle-weed       h   へッダを取り除いてメッセージを表示するかどうかのトグル
    display-message    <Return>   メッセージを表示する
    edit                      e   このメッセージを再送信のため編集
    exit                      x   このメニューから抜ける
    extract-keys             ^K   PGP公開鍵を取り出す
    fetch-mail                G   POPサーバからメールを取ってくる
    flag-message              F  「重要な」フラグのトグル
    forget-passphrase        ^F   メモリーから PGPパスフレーズを消去
    forward-message           f   コメント付でメッセージをフォワード
    group-reply               g   すべての受信者にリプライ
    limit                     l   パターンにマッチしたメッセージだけ表示
    list-reply                L   メーリング・リスト宛てにリプライ
    mail                      m   新たなメッセージ作成
    mail-key              ESC k   PGP公開鍵をメールする
    next-new              <Tab>   次の新着メッセージへ飛ぶ
    next-subthread       <Esc>n   次のサブスレッドへ飛ぶ
    next-thread              ^N   次のスレッドへ飛ぶ
    next-undeleted            j   削除マークのない次のメッセージ行く
    next-unread       not bound   次の未読メッセージに移動
    parent-message           P   スレッド内で親メッセージにジャンプする
    pipe-message             |   メッセージ/添付文書を shellコマンドにパイプする
    previous-new     <Esc><Tab>   前の新着メッセージへ飛ぶ
    previous-page             Z   move to the previous page
    previous-subthread   <Esc>p   前のサブスレッドへ飛ぶ
    previous-thread          ^P   前のスレッドへ飛ぶ
    previous-undeleted        k   削除マークのない最後のメッセージ行く
    previous-unread    not bound   前の未読のメッセージに移動
    print-message             p   このエントリを印刷
    query                     Q   外部プログラムにアドレスを問い合わせる
    quit                      q   変更をメールボックスにセーブ後終了
    read-subthread       <Esc>r   このサブスレッドを読んだことにする
    read-thread              ^R   このスレッドを読んだことにする
    recall-message            R   書きかけのメッセージを使う
    reply                     r   メッセージにリプライする
    save-message              s   メッセージや添付文書をファイルにセーブ
    set-flag                  w   メッセージのステータス・フラグをセット
    show-limit           <Esc>l   active limit pattern の現在の値を表示
    show-version              V   Muttのバージョンと日付を表示
    sort-mailbox              o   メッセージをソートする
    sort-reverse              O   メッセージを逆順にソートする
    sync-mailbox              $   変更をメールボックスにセーブ
    tag-pattern               T   パターンにマッチしたメッセージにタグを付ける
    tag-thread            <Esc>t   このスレッドにタグを付ける
    toggle-new                  N   メッセージの「新着」フラグをトグル
    toggle-write               %   メールボックスを書き戻すかどうかトグル
    undelete-message           u   エントリの削除マークを取る
    undelete-pattern           U   patternにマッチしたmessageの削除マークを取る
    undelete-subthread    <Esc>u   サブスレッドの削除マークをすべて取る
    undelete-thread           ^U   スレッドの削除マークをすべて取る
    untag-pattern             ^T   パターンにマッチしたメッセージのタグを取る
    view-attachments           v   MIMEの添付文書を表示

### pager

    bottom                    $   メッセージの最後に飛ぶ
    bounce-message            b   メッセージを他のユーザに再送する
    change-folder             c   別のフォルダをオープン
    change-folder-readonly <Esc>c リード・オンリーモードで別のフォルダを開く
    copy-message              C   メッセージをファイルやメールボックスにコピ ー
    create-alias              a   メッセージの送信者をエイリアスに加える
    decode-copy          <Esc>C   text/plainにデコードしてコピー
    decode-save         <Esc>s   text/plainにデコードしてコピー、かつ削除
    delete-message            d   このエントリを削除
    delete-subthread     <Esc>d   サブスレッドのメッセージをすべて削除
    delete-thread            ^D   スレッドのメッセージをすべて削除
    display-address           @   送信者のフル・アドレスを表示する
    display-toggle-weed       h   へッダを取り除いてメッセージを表示するかどうかのトグル
    edit                      e   このメッセージを再送信のため編集
    enter-command             :   muttrcの命令を入力
    exit                      i   メインメニューに戻る
    extract-keys             ^K   PGP公開鍵を取り出す
    flag-message              F   「重要な」フラグのトグル
    forget-passphrase        ^F   メモリーから PGPパスフレーズを消去する
    forward-message           f   コメント付でメッセージをフォワード
    group-reply               g   すべての受信者にリプライ
    half-down         not bound   ページを半分下にスクロール
    half-up           not bound   ページを半分上にスクロール
    help                      ?   このスクリーン
    list-reply                L   メーリング・リスト宛てにリプライ
    mail                      m   新たなメッセージ作成
    mail-key              ESC k   PGP公開鍵をメールする
    mark-as-new               N   メッセージの「新着」フラグをトグル
    next-entry                J   次のエントリに行く
    next-line          <Return>   一行スクロール・ダウン
    next-new              <Tab>   次の新着メッセージへ飛ぶ
    next-page           <Space>   次ページへ行く
    next-subthread       <Esc>n   次のサブスレッドへ飛ぶ
    next-thread              ^N   次のスレッドへ飛ぶ
    next-undeleted            j   削除マークのない次のメッセージ行く
    next-unread       not bound   次の未読メッセージへ飛ぶ
    parent-message           P   スレッド内で親メッセージにジャンプする
    pipe-message              |   メッセージ/添付文書をpipeでshellコマンドに
    previous-entry            K   前のエントリに行く
    previous-line   <BackSpace>   一行スクロール・アップ
    previous-new      not bound   前の新着メッセージへ飛ぶ
    previous-page             -   前のページに行く
    previous-subthread   <Esc>p   前のサブスレッドへ飛ぶ
    previous-thread          ^P   前のスレッドへ飛ぶ
    previous-undeleted        k   削除マークのない最後のメッセージ行く
    previous-unread   not bound   前の未読メッセージへ飛ぶ
    print-message             p   このエントリを印刷
    quit                      Q   変更をメールボックスにセーブ後終了
    read-subthread       <Esc>r   このサブスレッドを読んだことにする
    read-thread              ^R   このスレッドを読んだことにする
    recall-message            R   書きかけのメッセージを使う
    redraw-screen            ^L   画面をクリアして描き直す
    reply                     r   メッセージにリプライする
    save-message              s   メッセージや添付文書をファイルにセーブ
    search                    /   正規表現検索
    search-next               n   次のマッチを検索
    search-opposite   not bound   逆順にパターンを検索
    search-reverse       <Esc>/   逆順の正規表現検索
    search-toggle             \   検索パターンの色をトグル
    shell-escape              !   サブシェルでコマンドを起動
    show-version              V   Muttのバージョンと日付を表示
    skip-quoted               S   引用部テキストをスキップ
    tag-message               t   メッセージにタグを付ける
    toggle-quoted             T   引用部を表示する/しないのトグル
    top                       ^   メッセージの最初に飛ぶ
    undelete-message          u   エントリの削除マークを取る
    undelete-subthread   <Esc>u   サブスレッドの削除マークをすべて取る
    undelete-thread          ^U   スレッドの削除マークをすべて取る
    view-attachments          v   MIMEの添付文書を表示

### alias

    search                     /   正規表現による検索
    search-next                n   次を検索
    search-reverse         ESC /   逆方向に正規表現で検索

### query

    create-alias               a   メッセージの送り主からエイリアスを作成
    mail                       m   新しいメッセージを作成
    query                      Q   外部プログラムを使ってのアドレスの問い合わせ
    query-append               A   今の結果に新しい問い合わせの結果を付け加える
    search                     /   正規表現による検索
    search-next                n   次を検索
    search-opposite    not bound   逆方向に次の検索
    search-reverse         ESC /   逆方向に正規表現で検索

### attach

    bounce-message             b   他のユーザーにメッセージを再送する
    decode-copy            ESC C   メッセージをデコードして、それを file/mailboxにコピーする
    decode-save            ESC s   メッセージをデコードして、それを file/mailboxへ保存する
    delete-entry               d    今いる項目を削除する
    display-toggle-weed       h   へッダを取り除いてメッセージを表示するかどうかのトグル
    extract-keys              ^K    PGP公開鍵を取り出す
    forward-message            f   コメントをつけてメッセージをフォワード
    group-reply                g   すべての受信者にリプライ
    list-reply                 L   メーリング・リスト宛てにリプライ
    pipe-entry                 |   メッセージ/添付文書をpipeでshellコマンドにわたす
    print-entry                p   この項目を印刷
    reply                      r   メッセージにリプライする
    save-entry                 s   メッセージ/添付文章をファイルに保存
    undelete-entry             u   項目の削除マークをとる
    view-attach              RET   必要なら mailcapエントリを使って添付ファイルを表示
    view-mailcap               m   強制的にmailcapを使って添付文書を読む
    view-text                  T    添付文書をテキストとして読む

### compose

    attach-file                a   このメッセージにファイルを添付する
    attach-message             A   このメッセージにメッセージを添付する
    attach-key             ESC k   PGP公開鍵を添付
    copy-file                  C   メッセージや添付文書をファイルにセーブ
    detach-file                D   このエントリを削除
    display-toggle-weed       h   へッダを取り除いてメッセージを表示するかどうかのトグル
    edit-bcc                   b   BCCリストを編集する
    edit-cc                    c   CCリストを編集する
    edit-description           d   この添付文書の内容説明文を編集
    edit-encoding            ^E   添付文書のcontent-trasfer-encodingを編集
    edit-fcc                  f   メッセージをセーブするファイル名を入力
    edit-file               ^Xe   添付するファイルを編集する
    edit-from            <Esc>f   fromフィールドを編集する
    edit-headers              E   メッセージをヘッダとともに編集する
    edit-message              e   メッセージを編集する
    edit-mime                 m  添付文書をmailcapエントリを使って編集する
    edit-reply-to             r   Reply-Toフィールドを編集する
    edit-subject              s   メッセージのサブジェクトを編集
    edit-to                   t   TOリストを編集する
    edit-type                ^T  添付文書の attachment type を編集
    filter-entry             F   shell のコマンドを使って添付文書を filterに
    forget-passphrase         ^F   メモリから PGPパスフレーズを消去
    ispell                     i   メッセージに ispellを実行する
    new-mime                   n   mailcapエントリを使って添付文書を作成する
    pgp-menu                   p   PGPのオプションを表示
    pipe-entry                 |   メッセージ/添付文書をpipeでshellコマンドに
    postpone-message           P   このメッセージ「書きかけ」にする
    print-entry                l   このエントリを印刷
    rename-file                R   添付文書をリネーム(移動)する
    send-message               y   メッセージ送信
    tag-entry                  T   メッセージにタグを付ける
    toggle-unlink              u   送信した後ファイルを消すかどうかのトグル
    view-attach         <Return>   必要ならmailcapエントリを使って添付を表示
    write-fcc                  w   フォルダにメッセージを書く

### postpone

    delete-entry               d   この項目を削除
    undelete-entry             u   この項目の削除マークを消す

### browser

    change-dir                 c   ディレクトリを変更する
    check-new                TAB  新着メールのあるメールボックスをチェックする
    enter-mask                 m   ファイル・マスクを入力
    search                     /   正規表現による検索
    search-next                n   次を検索
    search-reverse         ESC /   正規表現による反対方向の検索
    select-new                N   このディレクトリ中の新しいファイルを選択する
    sort                       o   メッセージをソートする
    sort-reverse               O   メッセージを逆順にソートする
    toggle-mailboxes         TAB   メールボックスを見るか、すべてのファイルを見るかのトグルスイッチ
    view-file              SPACE   ファイルを見る
    subscribe               s いまいる メールボックスを購読(subscribe)する(IMAPのみ)
    unsubscribe                u   いまいるメールボックスを購読からはずす。(unsubscribe)(IMAPのみ)
    toggle-subscribed          T   toggle view all/subscribed mailboxes (IMAP Only)
    toggle-subscribed          T   すべてのメールボックスを見るか購読しているもののみ見るかのトグルスイッチ (IMAPのみ)

### pgp

    view-name                  %   鍵のユーザ IDを見る
    verify-key                 c   PGP公開鍵の確認

### editor

    backspace          BackSpace   カーソルの前の文字を消去
    backward-char             ^B   カーソルを一文字左に移動
    bol                       ^A   行頭へジャンプ
    buffy-cycle            Space   cycle among incoming mailboxes
    complete                 TAB   ファイル名またはエイリアスを補完
    complete-query            ^T   問い合わせを使ってアドレスを補完
    delete-char               ^D   カーソルの下の文字を消去
    eol                       ^E   行末にジャンプ
    forward-char              ^F   カーソルを一文字右の移動
    history-down       not bound   ヒストリリストをスクロールダウン
    history-up         not bound   ヒストリリストをスクロールアップ
    kill-eol                  ^K   カーソルから行末までの文字を消去
    kill-line                 ^U   一行すべての文字を消去
    kill-word                 ^W   カーソルの前の単語を消去
    quote-char                ^V   次にタイプするキーを引用

## 7. Miscellany

## 7.1 Acknowledgements

Kari Hurtta <kari.hurtta@fmi.fi>co-developed the original MIME parsing code back in the ELM-ME days.

The following people have been very helpful to the development of Mutt:

Vikas Agnihotri <vikasa@writeme.com>, Francois Berjon <Francois.Berjon@aar.alcatel-alsthom.fr>, Aric Blumer <aric@fore.com>, John Capo <jc@irbs.com>, Liviu Daia <daia@stoilow.imar.ro>, David DeSimone <fox@convex.hp.com>, Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>, Michael Finken <finken@conware.de>, Sven Guckes <guckes@math.fu-berlin.de>, Mark Holloman <holloman@nando.net>, Andreas Holzmann <holzmann@fmi.uni-passau.de>, Byrial Jensen <byrial@image.dk>, David Jeske <jeske@igcom.net>, Christophe Kalt <kalt@hugo.int-evry.fr>, Felix von Leitner (a.k.a ``Fefe'') <leitner@math.fu-berlin.de>, Brandon Long <blong@fiction.net>, <jmy@flashback.net>, Lars Marowsky-Bree <lmb@pointer.in-minden.de>, Thomas ``Mike'' Michlmayr <mike@cosy.sbg.ac.at>, David O'Brien <obrien@Nuxi.cs.ucdavis.edu>, Clint Olsen <olsenc@ichips.intel.com>, Park Myeong Seok <pms@romance.kaist.ac.kr>, Thomas Parmelan <tom@ankh.fr.eu.org>, Ollivier Robert <roberto@keltia.freenix.fr>, Thomas Roessler <roessler@guug.de>, Roland Rosenfeld <roland@spinnaker.rhein.de>, Allain Thivillon <Allain.Thivillon@alma.fr>, Gero Treuner <gero@faveve.uni-stuttgart.de>, Ken Weinert <kenw@ihs.com>

## 7.2 この文章について

この文章は SGMLで書かれ、それを sgml-toolsパッケージを使って翻訳しています。