# The Mutt E-Mail Client

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

version 1.4

``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

OpenProjects.Net (www.openprojects.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文字戻る
    Esc B           backward-word   1語戻る
    ^D or <Delete>  delete-char     カーソルの下の文字を消す
    ^E or <End>     eol             行末に移動する
    ^F or <Right>   forward-char    1文字前に進む
    Esc F           forward-word    1語前に進む
    <Tab>           complete        ファイル名やエイリアスを補完
    ^T              complete-query  クエリーによるアドレスの補完
    ^K              kill-eol        行末まで削除
    ESC d           kill-eow        カーソルから単語の最後までを削除
    ^W              kill-word       カーソルの前の１語を消す
    ^U              kill-line       一行全部を削除
    ^V              quote-char      次に入力するキーに引用符をつける
    <Up>            history-up      ヒストリーから直前の文字列を取り出す
    <Down>          history-down    ヒストリーから次の文字列を取り出す
    <BackSpace>     backspace       カーソルの前の文字を消す
    Esc u           upcase-word     単語を大文字に変換
    Esc l           downcase-word   単語を小文字に変換
    Esc c           capitalize-word 単語を大文字ではじめる
    ^G              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               マッチするパターンのメッセージにタグをつける
    t               メッセージのタグのオン、オフのトグル
    ESC t           メッセージスレッド全体へのタグのオン、オフ
    U               パターンにマッチするメッセージの削除マークを消す
    u               メッセージの削除マークを消す
    v               添付ファイルを見る
    x               セーブせずに終了
    <Return>        メッセージを表示
    <Tab>           次の新しいメッセージに移動
    @               完全な e-mailアドレスの表示
    $               変更をメールボックスへ保存
    /               検索
    ESC /           逆方向へ検索
    ^L              画面を消して描き直す
    ^T               パターンにマッチするメッセージのタグを消す

### 状態を表すフラグ

メッセージの送り主とサブジェクトだけでなく、簡単なメッセージの状態を表すために次のような「フラグ」がメッセージ番号の横に表示されます。

    D       削除された（削除マークのついた）メッセージ
    d       削除マークのついた添付ファイルがあるメッセージ
    K       PGP公開キーを含むメッセージ
    N       新しいメッセージメッセージ
    O       古いメッセージ
    P       PGPで暗号化されたメッセージ
    r       返信済みのメッセージ
    S       PGPサインが入り、その署名が確かめられたメッセージ
    s       PGPのサインが入ったメッセージ
    !       重要であるというフラグがつけられたメッセージ
    *       タグがつけられたメッセージ

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

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

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

    +       メッセージはあなた宛で、他の人には送られていない
    T       メッセージはあなた宛だが to または cc で他の人にも送られている
    C       メッセージは cc であなたに送られてきた
    F       あなたが送ったメッセージ
    L       購読しているメーリングリストに送られたメッセージ

### ぺージャー

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

    <Return>        1行下に移動
    <Space>         次のページを表示 (すでにメッセージの終りまで表示している場合は、次のメッセージを表示)
    -               前のページに戻る
    n               次のマッチするパターンを探す
    S               引用文を飛ばす
    T               引用文の表示のオン、オフのトグル
    ?               キーバインドを表示
    /               正規表現での検索
    ESC /           正規表現で後ろ向けに検索
    \               検索パターンの色付けのトグル
    ^               メッセージの先頭にジャンプ
    $               メッセージの最後にジャンプ

さらに、ページャーはインデックスから多くの機能を引き継いでいます。例えばメールを削除(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 コマンドを実行してそのファイルを読み込む必要があります。

古い方法の pgpのチェック/check-traditional-pgp (default: ESC P)

これは読んでいるメッセージの中に正しく MIMEタグを使っていない古い方法で PGPを使って署名または暗号化された内容がないかどうかを調べます。技術的には PGPデータを含んだボディーパートの MIME content typeを一時的に変えます。 edit-type機能の効果と似ています。

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

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

メッセージの編集 / edit (default: e)

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

添付ファイルの typeの編集/edit-type (default: 添付メニュー、ぺージャー、インデックスメニューでは^E、 メール作成(compose)メニューでは ^T)

このコマンドは添付する物の content type を一時的に編集するのに使います。インデックスかぺージャーからこのコマンドを使うとトップレベルの content typeを変えることができます。また attachment menuからこのコマンドを使うとすべての添付物の content typeを編集できます。ただし、これらの編集の効果は永続的ではなくフォルダーを変えると失われます。

このコマンドは compose menuでも使うことができます。メッセージを送信するときに添付ファイルの性質を調整するのに使ってください。

コマンドの入力 / 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変数がこの機能の動作をコントロールします。

メッセージの再送 / resend-message (default: ESC e)

これを使うと mutt は現在のメッセージを新しいメッセージのテンプレートにします。つまりこれは任意のディレクトリからの転送を可能にします。この機能はもとのメールの構造を壊すことなく、MIMEメッセージを転送するのに便利です。これに含まれるへッダーの量は $weed変数に依存します。

この機能は添付メニューからも使えます。これを使えば簡単に message/rfc822 body part として来たメッセージを再送できます。

シェルコマンドの実行 / 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           公開鍵を添付する。
    d      edit-description     添付ファイルの descriptionを記述します。
    D      detach-file          添付ファイルを削除します。
    t      edit-to              To フィールドを編集し直します。
    ESC f   edit-from           From フィールドを編集し直します。
    r       edit-reply-to       Reply-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も参照してください）。ここでは flags、capabilities、validityのフィールドを説明しておきましょう。

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

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

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

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

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

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

muttを Mixmasterといっしょに使うように設定することもできます。Mixmasterは匿名リメイラ(remailer)です。Mixmasterはいくつかのリメイラを通して使うことでメッセージの発信元を隠してメッセージを送ることができます。muttでサポートしているのは mixmaster version 2.04 （beta 45 が最新のようです）と 2.03です。これ以前のバージョンと version 3 beta と呼ばれるもの（最新のものは 2.9b23）はサポートしていません。

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のようなシェルと似た方法でアクセスすることができます。環境変数名の前に "$"を前置するのです。例えば、次のように使ってください、

    set record=+sent_on_$HOSTNAME

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

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

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

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

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

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

`unalias` [ * | key ... ] を使ってください (*はすべてのエイリアスという意味です)。

    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
    <return>        Return
    <home>          Home
    <end>           End
    <space>         Space bar
    <f1>            function key 1
    <f10>           function key 10

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

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

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

使い方: `charset-hook` alias charset

使い方: `iconv-hook` charset local-charset

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

`iconv-hook`コマンドは文字セットにシステム特有の名前を定義します。この機能はあなたのシステムの文字変換ライブラリが文字セットに変わったシステム特有の名前を使っている場合に便利です。

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

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

メールボックスによって設定を変更したい場合が多くあります。folder-hookコマンドを使うことで特定のメールボックスに対して設定コマンドを実行できます。regexpは 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 ]

使い方: `mono` index attribute pattern

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

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

- none
- bold
- underline
- reverse
- standout

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

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

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

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

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

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や $spoolfileのような)を含んでいれば mailboxes コマンドが実行される前に展開されます。

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

使い方: `my_hdr` `string`

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

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

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

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

注意: キーワードとコロン(:)の間にスペースを入れることは許されません。電子メールの標準を定める 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 メッセージを整形する前に設定を変える

使い方： `message-hook` `[!]``pattern` `command`

このコマンドはメッセージを見たり、整形する前にメッセージの内容によって任意の設定コマンドを実行するのに使います。表示されるメッセージに patternがマッチすれば commandが実行されます。同じメッセージがいくつものパターンにマッチする場合には、muttrcに書いてある順でコマンドが実行されます。

パターンのフォーマットについての情報は Message Matching in Hooksを参照して下さい。

例：

    message-hook ~A 'set pager=builtin'
    message-hook '~f freshmeat-news' 'set pager="less  \  "+/^  subject: .*\ ""'

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

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

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

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

使い方: `push` `string`

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

## 3.21 関数の実行

使い方: `exec` function [ function ... ]

このコマンドは任意の関数を実行するのに使います。使うことのできる関数は Functionsに一覧にしてあります。``exec function''は ``push <function>''と同じです。

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

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

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

scoreコマンドは patternにマッチするメールのスコアに `value`の値を加えます。pattern は patternsセクションに書かれている形式の文字列です（注意: 効率が悪くなるので、インデックスで使うことのできない情報を走査するパターン、例えば`~b`、`~B、~h`等は使わない方がいいでしょう）。valueは正か負の整数です。メールの最終的なスコアは scoreコマンドのすべての合計です。とはいえ、value に等号記号(=)を前置して pattern にマッチする特定の エントリーに対するスコアの計算を止めさせることで上限を設定することもできます。スコアの下限は 0 です。

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

## 3.23 変数を設定する

使い方: `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.24 他のファイルから初期化コマンドを読み込む

使い方: `source` `filename`

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

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

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

## 3.25 フックを取り除く

使い方: `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のどれかにマッチする正規表現です。

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

?

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

*

  直前の正規表現の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 を含むメール
    ~y EXPR         X-Labelフィールドに EXPRを持つメッセージ
    ~z [MIN]-[MAX]  サイズが MIN から MAX の間のメール *)
    ~=             重複したメッセージ ($duplicate_threads を見てください)

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

次の例は空白を正規表現に含める例です（'か "をつかいます）。これはメールのサブジェクトに ``Junk +From +Me$''が含まれ、``Jim +Somebody''または ``Ed +SomeoneElse''から来たメッセージにマッチします。

    '~s "^Junk +From +Me$" ~f ("Jim +Somebody"|"Ed +SomeoneElse")'

### 日付で検索する

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

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

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

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

エラーマージン エラーマージンを絶対的な日付に加えることができます。エラーマージンは（+または-の）符号、数字、単位からなっています。使える単位は次の通りです。

    y       年
    m       月
    w       週
    d      日。この場合は特別に符号に「*」を使うことができます。これは正と負に同じだけのエラーマージンを与えます。

例: 2001年1月15日前後二週間ずつのメッセージを選択するためには、次のようなパターンを使います。

    Limit to messages matching: ~d 15/1/2001*2w

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

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

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

    y      年
    m      月
    w      週
    d      日

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

    Limit to messages matching: ~d <1m

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

## 4.3 タグを使う

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

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

## 4.4 フックを使う

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

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

Note: もしフックが設定に変更を加えた場合には、その変更は今動かしている muttセッションの終りまで有効になります。これを避けて、設定をデフォルトに戻すためにはすべてフックの前にデフォルトフックを置く必要があります。次の例は send-hookと my_hdrを使った例です。

    send-hook . 'unmy_hdr From:'
    send-hook ~Cb@b.b my_hdr from: c@c.c

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

メールに応じて実行するフックコマンド(send-hook、save-hook、fcc-hook、message-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 といった外部のディレクトリーデータベースへ、単純なインターフェイスを使ったラッパースクリプトを通して接続できます。 $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は mbox、MMDF、MH、Maildirの4つの異なるメールボックスの形式をサポートし、読み書きできます。メールボックスのタイプは自動的に判定されるので異なるメールボックスのタイプを指定するフラグを使う必要はありません。新しいメールボックスを作成するときは $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メールボックスであると判断します(これらのファイルは普通のディレクトリと MHメールボックスを区別するのに必要です)。これらのファイルは muttによってアップデートはされません。

Maildir

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

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

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

- ! -- $spoolfileメールボックスを参照します
- > -- $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フィールドがあればそれが使われます。

X-Labelフィールドを使ってさらにメーリングリストや話題を特定することができます。 $index_format変数の %yと %Yは X-Label:フィールドをインデックスに展開するのに使えます。また Muttの正規表現を使ったパターンマッチは標準的なへッダフィールドにしか使えませんが、procmailなどのメールフィルタを使えば簡単に標準的なフィールドに挿入できます。

最後に、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 フラグをつけて走らせていた場合)、リモート POP3サーバーにあるメールボックスを操作し、またローカルで閲覧するためにこちらにメッセージを取得することができるようになります。

フォルダ `pop://popserver/`を選択するとリモート POP3メールボックスにアクセスできます。

通常とちがうポートを使っている場合にはサーバとともにポートも指定します。つまり `pop://popserver:port/`という形です。

各々のフォルダにちがうユーザ名でアクセスすることもできます。`pop://username@popserver[:port]/`としてください。

新しいメールが届いているかどうかを確かめるのは POP3経由ではローカルの場合よりも資源を使います。このため Muttはリモートでメールチェックする間隔を $pop_checkinterval変数でコントロールします。デフォルトは60秒です。

もし Muttが SSLサポートつきでコンパイルされていた場合（--with-sslフラグをつけて configureスクリプトを走らせます）、POP3サーバへの接続を暗号化できます。フォルダに POP3/SSLでアクセスするには popsという接頭辞をつけます。`pops://[username@]popserver[:port]/ としてください。`

これ以外の POP3メールにアクセスする方法は fetch-mail機能（デフォルトでは Gに割り当てられています）です。これは pop_hostで指定されているホストに接続して、すべての新着メールを取ってきてそれをローカルの spoolfileに格納します。この後 Mutt はメールがずっとローカルにあったかのように正確に振る舞うことができるようになります。

注意: もしすべてのメッセージをローカルメールボックスに持ってきたいだけなら、 fetchmailなどのそれに特化したプログラムを使うことを考えた方がいいでしょう。

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

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

`imap://imapserver/INBOX` フォルダーを選択することでリモートのインボックスにアクセスすることができます。ここで `imapserver` は IMAP サーバーの名前で `INBOX` は IMAP サーバーのスプールメールボックスの特別な名前です。もし IMAP サーバー上の他のメールフォルダーにアクセスしたい場合は、 `imap://imapserver/path/to/folder` と指定しなければなりません。ここで path/to/folder はアクセスしたいフォルダのバスです。

デフォルトではないポートを選ぶこともできます。`imap://imapserver:port/INBOX`のように指定してください。

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

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

Pineの場合と同じ書き方も使うことができます。`{[username@]imapserver[:port][/ssl]}path/to/folder というような書き方です。`

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

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

新しいメールが来たかどうかを IMAPを通して確かめるのはかなりの遅れが生じます。そのために $mail_check変数と $timeout変数を注意深く設定する必要があるかもしれません。私は個人的には

    set mail_check=90
    set timeout=15

という設定を遅い電話線経由で使ってますが、まあまあよい結果を得ています。

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

### フォルダブラウザ

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

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

### 認証

Muttは IMAPサーバの認証形式として SASL、GSSAPI、CRAM-MD5、 LOGINをサポートしています（Grant Edwardsがかわいそうな exchange ユーザのために NTLM認証を加えるパッチを書いてくれましたが、まだメインツリーには統合されていません ）。また疑似プロトコル ANONYMOUSもサポートしています。これは自分のアカウントがない公開 IMAPサーバにログインするためのもので、ANONYMOUSを使うにはユーザ名を空白、または anonymousにしてください。

SASLは特別な認証形式で、これはあなたのホストとサーバで利用可能ないくつかのプロトコル（GSSAPI、CRAM-MD5、ANONYMOUS、 DIGEST-MD5を含みます）の中から一番安全な方法を選びます。これらのうちのいくつかの方法（DIGEST-MD5と多分 GSSAPI）では、セッション全体が暗号化され通信を覗かれても大丈夫になります。SASLが使えるならできるだけこれを使いましょう。これを使うには Cyrus SASLライブラリが必要で、muttをコンパイルするときに --with-saslフラグをつけてください。

Muttは SASL、 ANONYMOUS、 GSSAPI、 CRAM-MD5、 LOGINの順番でどの方法が利用可能なのかを調べます。

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

- $imap_user - すべての認証形式で認証に使うユーザ名です。この設定よりもメールボックスのパスに明示的に含まれるユーザ名（`つまり {user@host}`の形のメールボックスの指定です）の方が優先します。
- $imap_pass - パスワードを必要とするすべての認証形式で認証に使うパスワードを設定します。
- $imap_authenticators - コロンで区切られた IMAPサーバへの認証方法のリストです。この順に認証方法を試していきます。この変数が設定されている場合は muttのデフォルト（上で書いた順序ですべての方法で試す）を上書きします。

## 4.12 複数の IMAP/POP アカウントを使う (OPTIONAL)

いくつもの IMAPや POPサーバにアカウントを持っていると、認証のための設定が面倒で間違いを起こしやすくなります。そんなときは、account-hookを使えばいいでしょう。account-hookコマンドは folder-hookコマンドと同じように働きますが、メールボックスを開くときだけでなく、リモートのメールボックスにアクセスするときはいつも呼び出されます（フォルダブラウザ内も含みます）。

いくつかの例を見てください。

    account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
    account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
    account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'

## 4.13 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 演算子を用いて複数の添付ファイルに対してタグつけを行い、これらの操作を複数の添付ファイルにたいして一度にまとめて行うこともできます。また、このメニューで読んでいるメールに対して返事を書くこともでき、その場合はカーソルのある(もしくはタグ付けされている)添付ファイルのみが返事の中で引用されます。添付ファイルをテキストとして閲覧でき、メイルキャップを使ってビューワーを定義して閲覧することもできます。

また、添付ファイルのタイプが `message/rfc822`なら（ resend-message、リプライ、転送機能のような）普通のメッセージに関連する機能が使えます

詳しい情報に関しては添付ファイルメニューでのヘルプをご覧下さい。

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

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

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

    -   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タイプはメジャー MIMEタイプとサブタイプが /で区切られてできています。application、 text、 image、 video、 audio、それにインターネットでの議論の末あとから加えられた modelが6つのメジャータイプです。Muttはこれらすべてを mine.typesファイルに適当な項目があるかぎり認識します。またこれ以外のメジャータイプも認識します。例えば chemicalタイプは様々なフォーマットの分子データを色々な分子ビューアに渡すために分子モデルを作る集団ではよく使われています。ただし非標準的な MIMEタイプを使うのはメッセージの受取り手がそのような添付ファイルがくるとわかっている場合だけにしてください。

## 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を使うことでこの動作を変更することができます。%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      メールにファイルを添付する
    -b      BCCのアドレスを指定
    -c      カーボンコピー (Cc) の宛先を指定する
    -e      初期化ファイルが読まれた後に実行する設定コマンドを指定
    -f      読み込むメールボックスを指定
    -F      指定したファイルから初期化コマンドを読み込む
    -h      コマンドラインオプションについてのヘルプを表示
    -H      ドラフトとしてヘッダと本文を読み出すファイルを指定
    -i      メッセージ作成時に取り込むファイルを指定
    -m      デフォルトのメールボックスの種類を指定
    -n      システムの Muttrc を読まない
    -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 は以下のようなコマンドを理解します。

- `account-hook` pattern command
- `alias` key address [ , address, ... ]
- `unalias` [ * | key ... ]
- `alternative_order` mimetype [ mimetype ... ]
- `auto_view` mimetype [ mimetype ... ]
- `bind` map key function
- `charset-hook` alias charset
- `color` object foreground background [ regexp ]
- `uncolor` index pattern [ pattern ... ]
- `exec` function [ function ... ]
- `fcc-hook` pattern mailbox
- `fcc-save-hook` pattern mailbox
- `folder-hook` pattern command
- `hdr_order` header [ header ... ]
- `unhdr_order` header [ header ... ]
- `iconv-hook` charset local-charset
- `ignore` pattern [ pattern ... ]
- `unignore` pattern [ pattern ... ]
- `lists` address [ address ... ]
- `unlists` address [ address ... ]
- `macro` menu key sequence [ description ]
- `mailboxes` filename [ filename ... ]
- `mbox-hook` pattern mailbox
- `message-hook` pattern command
- `mono` object attribute [ regexp ]
- `unmono` index pattern [ pattern ... ]
- `my_hdr` string
- `unmy_hdr` field [ field ... ]
- `pgp-hook` pattern key-id
- `push` string
- `reset` variable [variable ... ]
- `save-hook` regexp filename
- `score` pattern value
- `unscore` pattern [ pattern ... ]
- `send-hook` regexp command
- `set` [no|inv]variable[=value] [ variable ... ]
- `source` filename
- `subscribe` address [ address ... ]
- `unsubscribe` address [ address ... ]
- `toggle` variable [variable ... ]
- `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 %2f %t %-10a   %r"

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

    %a      エイリアス名
    %f      フラグ - 今のところ d は削除マークをつけられたエイリアス
    %n      インデックス番号
    %r      展開されるアドレス
    %t      選択されたエイリアスを示す記号

### allow_8bit

    Type: boolean
    Default: yes

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

### allow_ansi

    Type: boolean
    Default: no

メッセージの中の ANSIカラーコード(とリッチテキストメッセージのカラータグ)を解釈するかどうかをコントロールします。これらのコードを含むメッセージを受け取ることははほとんどないでしょうが、受け取った場合はこのオプションがセットされているとそれに応じて色がつきます。ただし、あなたの色の設定を上書きしてしまう可能性がありますし、また安全性の問題もあります。例えば、メッセージ中に [-- PGP output follows ... というような文があって、それにあなたの添付ファイル用の色と同じ色が使われているような場合には、区別できなくなります。

### 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)の送信先を聞いてきます。

### assumed_charset

    Type: string
    Default: "us-ascii"

（jaパッチの拡張機能）文字符号化方式の指定が行われていないへッダフィールドやボディはデフォルトでは us-ascii とみなされます。 このオプションを設定すると、設定した文字符号化方式であると推定します。推定に使う文字符号化方式はコロンで区切られた複数のものを設定できます。例えば、日本語の場合では次のように設定するとよいでしょう。

    set assume_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"

ただし、メッセージボディの場合は最初のものしか有効ではありません。なお、このオプションは strict_mime=no を設定しないと有効になりません。

### 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:"

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

### autoedit

    Type: boolean
    Default: no

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

fast_replyも見てください。

### auto_tag

    Type: boolean
    Default: no

セットしてある場合は、インデックスメニューにある一つのメッセージに働くコマンドが、タグの付いた全てのメッセージに適用されます。セットされていない場合は、すべてのタグづけされたメッセージにコマンドを適用するには、 tag-prefix コマンド（デフォルトは ;）を適用するコマンドの前につけなければなりません。

### beep

    Type: boolean
    Default: yes

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

### beep_new

    Type boolean
    Default: no

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

### bounce_delivered

    Type boolean
    Default: yes

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

### charset

    Type: string
    Default: ""

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

### check_new

    Type: boolean
    Default: yes

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

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

### collapse_unread

    Type: boolean
    Default: yes

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

### create_rfc2047_parameters

    Type: boolean
    Default: no

（jaパッチの拡張機能）この変数を設定すると、Muttは添付ファイルのファイル名として次のようなRFC2047形式で符号化されたパラメータを Content-Typeフィールドに追加します。

    name="試験.txt"

注記: このようなRFC2047形式の符号化の使用は規格により明示的に禁止されています。受信者のメイラーがRFC2231形式のパラメータを解析できない場合のみ、この変数を設定してください。なお、このオプションは strict_mime=no を設定しないと有効になりません。

### uncollapse_jump

    Type: boolean
    Default: no

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

### compose_format

    Type: string
    Default: "-- Mutt: Compose  [Approx. msg size: %l   Atts: %a]%>-"

メール作成（Compose）メニューのステータスラインのフォーマットを設定します。これらの文字列は atatus_formatと似たものですが、次の独自の printf()に似た文字列も使えます。

    %a     添付ファイルの総数
    %h     ローカルホスト名
    %l     メッセージのバイト数で表したおおよそのサイズ
    %v     Muttのバージョン

compose_formatをどのように設定するかについてのより詳しい説明は status_formatを見てください。

### confirmappend

    Type: boolean
    Default: yes

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

### confirmcreate

    Type: boolean
    Default: yes

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

### connect_timeout

    Type: number
    Default: 30

IMAPや POPを使う場合に、この変数で設定した秒数が過ぎても接続が確立されない場合はネットワークコネクションをタイムアウトします。負の値が与えられた場合は、Muttは接続が確立するまでいつまでも待ちます。

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

### delete

    Type: quadoption
    Default: ask-yes

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

### delete_prefix

    Type: boolean
    Default: unset

（jaパッチの拡張機能）設定するとメーリングリストにおける Subjectフィールドのプレフィックス（[prefix:0123]のようなもの）をインデックス画面および返信時のメッセージで削除します。削除するプレフィックスのパターンは $delete_regexpで記述できます。

### delete_regexp

    Type: regular expression
    Default: "^(\[[A-Za-z0-9_.: \-]*\][ ]*)"

（jaパッチの拡張機能） $delete_prefix で用いられる正規表現です.

### delete_untag

    Type: boolean
    Default: yes

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

### digest_collapse

    Type: boolean
    Default: yes

このオプションを設定すると、revattachメニューでダイジェストの各々のメッセージのサブパートが表示されません。サブパートを見る場合は、vを押してください。

### display_filter

    Type: path
    Default: ""

この変数はメッセージ用のフィルタに使うコマンドを設定します。メッセージが読まれる場合は、メッセージが標準入力として $display_filterに渡されフィルタ後のメッセージを標準出力から読み取ります。

### 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`

### duplicate_threads

    Type: boolean
    Default: yes

この変数はスレッド単位でソートしているときに同じメッセージ IDをもつメッセージをどのように扱うかを決めます。この変数が設定されている場合には、同じメッセージ IDをもったメッセージはお互い同一のものとして考えられ、スレッドダイアグラムの中で等号(=)をつけて表示されます。

### 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は暗号化も署名もされずに保存されます。

### file_charset

    Type: string
    Default: null

（jaパッチの拡張機能）テキストファイルを添付する場合の想定される文字符号化方式を設定します。コロンで区切られたリストとして記述できます。例えば、日本語を使う場合は次のように設定します。

    set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"

iso-2022-* を使う場合は必ずリストの先頭に持ってきてください。このオプションが設定されていない場合は、 $charset で指定したものが代わりに想定されます。

### 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で上書きできます。

デフォルトは EMAIL環境変数で設定されているものです。

### 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

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

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

### hidden_host

    Type: boolean
    Default: no

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

### hide_limited

    Type: boolean
    Default: no

この変数がセットされていると、スレッド内に抜けているメッセージがあることを表示しません。

### hide_missing

    Type: boolean
    Default: yes

この変数がセットされていると、スレッド内に limit を使って隠されているメッセージがあることを表示しません。

### hide_top_limited

    Type: boolean
    Default: no

この変数がセットされていると、スレッドの一番前のメッセージが抜けていることを表示しません。ただし、 $hide_limitedがセットされていると、この変数は効果を持ちません。

### hide_top_missing

    Type: boolean
    Default: yes

この変数がセットされていると、スレッドの一番前に limit を使って隠されているメッセージがあることを表示しません。ただし、 $hide_missing変数がセットされていると、この変数は効果を持ちません。

### 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_authenticators

    Type: string
    Default: ""

これは muttが IMAPサーバにログインする場合の認証方法を、使いたい順番にコロンで区切って指定します。認証方法は loginか IMAP 'AUTH=xxx'文字列の右側に来ることのできるもの、つまりdigest-md5、gssapi、cram-md5です。もしこの変数が設定されていない場合は（これがデフォルトです）一番安全な方法から順番に利用可能な方法を試していきます。

例: set imap_authenticators="gssapi:cram-md5:login"

注意： 前の認証方法が利用可能でない場合のみ、次の認証方法を試します。もしある認証方法が利用可能ではあるが認証に失敗した場合は、IMAPサーバに接続しようとはしません。

### imap_delim_chars

    Type: string
    Default: "/."

これは IMAPのパスを表示するときにフォルダの区切りに使う文字を設定します。folder変数にショートカット「=」を使っている場合に便利です。

### imap_force_ssl

    Type: boolean
    Default: no

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

### imap_home_namespace

    Type: string
    Default: ""

普通は IMAPブラウザの中で INBOXのそばに個人用のフォルダを並べて置きたいと思います。もしそれ以外のものを見たい場合には、この変数にあなたのフォルダの IMAPパスを設定してください。

### imap_keepalive

    Type: number
    Default: 900

この変数は、開いているIMAP接続をサーバー側から切断されないように確かめに行くまでの最大の時間を秒数で設定します。デフォルトは RFC で決められたサーバーがクライアントからの要請なしで接続を閉じることのできる最小の時間(30分)になっています。しかし、実際は RFC を守っていないサーバーが多数あるので、IMAPサーバーから短い時間で、通信していないとして接続を切られる場合にはこの変数の値を減らしてください。

### imap_list_subscribed

    Type: boolean
    Default: no

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

### imap_pass

    Type: string
    Default: ""

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

### imap_passive

    Type: boolean
    Default: yes

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

### imap_peek

    Type: boolean
    Default: yes

この変数が設定してあると、サーバからメッセージを取ってくるたびに Muttがメッセージに勝手に既読のマークをつけるのを避けることができます。通常はこの変数を設定しておくといいのですが、これは IMAPフォルダを閉じるのがすこし遅くなるという副作用を持ちます。このオプションはこれを避けてすこしでも早くしたいスピードマニアのためのものです。

### imap_servernoise

    Type: boolean
    Default: yes

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

### imap_user

    Type: string
    Default: ""

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

### implicit_autoview

    Type: boolean
    Default: no

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

### include

    Type: quadoption
    Default: ask-yes

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

### indent_string

    Type: string
    Default: "> "

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

### 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で指定されるフォーマットで表示されます。

%e

  スレッドの中での現在のメッセージ番号

%E

  スレッドの中のメッセージ数

%f

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

%F

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

%i

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

%l

  メッセージの行数

%L

  もし To または CCへッダフィールドのアドレスがユーザーの lists コマンドで設定されている場合には To <list-name>と表示される。それ以外の場合は %Fと同じ。

%m

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

%M

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

%N

  メッセージのスコア

%n

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

%O

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

%s

  メッセージの Subject

%S

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

%t

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

%T

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

%u

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

%v

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

%y

  (もしあれば) x-labelフィールド

%Y

  x-labelフィールドがある場合、次の条件を満たせば x-labelを表示。(1)スレッドツリーの一部でない、(2)スレッドツリーの一番上にある、または (3)前のメッセージの x-labelと異なる x-labelを持つ。

%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 のスペルチェックソフトウェア)を起動する方法

### keep_flagged

    Type: boolean
    Default: no

この変数がセットされていると、フラグがついた既読のメッセージまたは mbox-hookコマンドの結果としてマークされた既読のメールはスプールメールボックスから $mboxに移動されません。

### 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 設定がうまく動作しなくなることもあるかもしれません。

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

### maildir_trash

    Type: boolean
    Default: no

この変数が設定されていると、削除マークのついたメッセージを消すかわりに maildirの (T)rashedフラグをつけて保存します。注意：このオプションは maildirスタイルのメールボックスでのみ有効です。それ以外のメールボックスでは何の効果も持ちません。

### 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

(jaパッチの拡張機能) mh_path で `~/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> という名前にリネームされて残されます。セットされていると、メッセージはそのまま削除されます。

### mh_seq_flagged

    Type: string
    Default: "flagged"

フラグがつけられたメッセージに使う MHシークエンスの名前

### 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

  メニュー上での番号

%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

(jaパッチの拡張機能) この変数がセットされていると、メール送信時に Mutt自身が Message-Id: を生成します。MTAに Message-Id: を生成させたい場合は設定を解除します。

### msgid_use_from

    Type: boolean
    Default: set

（jaパッチの拡張機能）このオプションが設定されていると, Message-ID フィールドに使う文字列を $hostname の代わりに $fromで設定した文字列（メールアドレス）を使います。そのため, Message-ID のユニーク性が高まります。例えば、次のように設定してある場合,

    set msgid_use_from=yes
    set realname="D Vader"
    set from="vader@deathstar.empire"

次のような From と Message-ID を生成します。

    Message-ID: <20000907080905.A5250%vader@deathstar.empire>
    From: D Vader <vader@deathstar.empire>

### 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_hdrs_only

    Type: boolean
    Default: unset

（jaパッチの拡張機能）インデックスからメッセージを選択したときに、すぐに本文を表示するかを決めます。セットされていると最初はヘッダ部しか表示せず、ページ送りや行送り動作を行なった時点で本文が表示されます。

### pager_index_lines

    Type: number
    Default: 0

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

### pager_spoil

    Type: boolean
    Default: unset

（jaパッチの拡張機能） $pager_hdrs_only がセットされているときの本文の表示の仕方を決めます。セットされていると、本文の文字を $pager_spoiler に指定されたキャラクタで置き換えます。セットされていなければ本文の行数だけ空行を出力します.

注意: セットされていないとき、本文の行数は実際のメールの行数をもとに計算します。ファイルが添付されている場合や本文が折り返されて表示される場合には、出力される空行数と本文を表示したときの行数とが合わなくなりま す。

### pager_spoiler

    Type: string
    Default: "*"

（jaパッチの拡張機能） $pager_hdrs_onlyと $pager_spoil がセットされているときに本文の文字を置 き換えるキャラクタを指定します。

### 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_ignore_subkeys

    Type: boolean
    Default: yes

この変数を設定すると Muttは OpenPGPのサブキーを無視します。そしてその代わりに第一キー(principal key)がサブキーに継承されます。キーセレクションで色々遊びたいならこの変数を設定しない方がいいでしょう。

### 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

  key-uidの伴う鍵の信用度

%[<s>]

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

### pgp_good_sign

    Type: regular
    expression Default: ""

この変数にテキストを設定すると、 $pgp_verify_commandがそのテキストを含んでいた場合には PGP署名は常に正しいと考えます。この変数は正しくない署名の場合でもコマンドの exit codeが 0の場合に使ってください。

### pgp_long_ids

    Type: boolean
    Default: no

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

### pgp_replyencrypt

    Type: boolean
    Default: yes

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

### pgp_replysign

    Type: boolean
    Default: no

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

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

### pgp_replysignencrypted

    Type: boolean
    Default: no

この変数がセットされていると暗号化されたメッセージに返信する場合に自動的に PGP署名します。これは $pgp_replyencryptといっしょに使うといいでしょう。これを使うことで自動的に暗号化されたメッセージのすべてに署名をできるからです。これは pgp_replysign $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の形式で指定することが推奨されています(例: "0x00112233")。

### 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-yesまたは ask-noになっていた場合は確かめるかどうかをたずねます。noになっていた場合は PGP/MIME署名を確かめません。

### pgp_sort_keys

    Type: sort order
    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がアンセットされている場合のみ使われます。

### ssl_starttls

    Type: quadoption
    Default: yes

この変数がセットされていると（これがデフォルトです）、サーバの能力を調べるのに STARTTLSを使います。設定されていないとサーバの能力に関わらず、STARTTLSを使いません。

### certificate_file

    Type: path
    Default: ""

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

また自分で手動で CA 証明書(certificate)をこのファイルに加えることができます。これらの CA証明書のひとつで署名されたサーバ証明書も自動的に受け入れられます。

例: set certificate_file=/.mutt/certificates

### ssl_usesystemcerts

    Type: boolean
    Default: yes

この変数が yesになっていると、muttはサーバ証明書が信用できる CAによって証明されてかどうかを確かめるのにシステム全体の証明書置き場の CA証明書を使います。

### 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_authenticators

    Type: string
    Default: ""

この変数には POPサーバにログインするための認証方法を試していく順序でコロンで区切って書いていきます。認証方法は user、apop、それに SASLの digest-md5、gssapi、cram-md5です。この変数は大文字、小文字を区別します。この変数が設定されていない場合は（これがデフォルトです）使える方法を一番安全なものから順に試していきます。

例: set pop_authenticators="digest-md5:apop:user"

### pop_auth_try_all

    Type: boolean
    Default: yes

この変数がセットされていると、Muttはすべての利用可能な方法を使います。セットされていないと前の方法が利用可能で無い場合のみ次の方法を使います。つまりある方法が利用可能だが認証が失敗する場合には、POPサーバに接続されません。

### pop_checkinterval

    Type: number
    Default: 60

この変数でどれくらいの間隔（秒数）で POPサーバに新着メールを見に行くかを設定します。

### pop_delete

    Type: quadoption
    Default: ask-no

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

### pop_host

    Type: string
    Default: ""

fetch-mail機能を使うために POPサーバの名前を設定します。また標準とは異なるポート、ユーザ名、パスワードも指定できます。例：

[pop[s]://][username[:password]@]popserver[:port]

### pop_last

    Type: boolean
    Default: no

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

### pop_reconnect

    Type: quadoption
    Default: ask-yes

POPサーバへの接続が切れた場合に再接続するかどうかを設定します。

### pop_user

    Type: string
    Default: ""

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

### pop_pass

    Type: string
    Default: ""

POPアカウントのパスワードを指定します。この変数が設定されていない場合は、POPメールボックスを開けるときにパスワードの入力が求められます。注意：このオプションは確実に安全なマシンでのみ使ってください。スーパーユーザはあなたの muttrcファイルをあなたの許可無しで読むことができます。

### 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変数も参照してください。

### preconnect

    Type: string
    Default: ""

この変数は muttがサーバへの接続に失敗した場合に実行するシェルコマンドを指定します。これは ssh(1)を使って安全な接続経路を得るのに有効です。もしこのコマンドがゼロ以外の状態を返した場合、muttはサーバへの接続をあきらめます。例：

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

この例では mailhost.net上の fooというメールボックスは {localhost:1234}fooで見えるようになります。

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

### 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をファーマットすることができる優秀なプリンタフィルタを使っている場合には役に立つかも知れません。

### print_split

    Type: boolean
    Default: no

これは print-messageコマンドの振る舞いを変えます。このオプションが設定されていると $print_commandで設定したコマンドが印刷するメッセージごとに実行されます。設定されてない場合は $print_commandで設定したコマンドは一度しか実行されず、それに form feedをメッセージセパレータとして結合したすべての印刷するメールが送り込まれます。

enscript(1)プログラムのメール印刷モードを使っている人はこのオプションを設定した方がいいでしょう。

### 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において指定されるエンコーディングを使います。

### sanitize_ja_chars

    Type: boolean
    Default: unset

（jaパッチの拡張機能）このオプションを設定すると、日本語の機種依存文字を〓に置き換え、また、JIS X 0201 kana ( "ESC ) I" の場合のみ) を ? に置き換えて表示が乱れるの を防ぎます。ただし、JIS X 0201 kana が 8bit のままでてきた場合は処理しません。また、 $charset が EUC-JP に設定している場合は、EUC-JP には JIS X 0201 roman が含まれないため、受け取ったメッセージの ISO-2022-JP の文字列にそのエスケープシーケンスが含まれている場合、EUC-JP には変換できません。逆に、Shift_JIS には ASCII が含まれないため、受け取ったメッセージの ISO-2022-JP の文字列にそのエスケープシーケンスが含まれている場合は Shift_JIS には変換できません。そのため、 このようなケースの場合には文字化けが生じます。このオプションを設定すると、JIS X 0201 roman と ASCII のエスケープシーケンスを互いに置き換え、文字化けを防ぐことができます。

### 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メールボックスに保存されます。

$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: "us-ascii:iso-8859-1:utf-8"

メッセージを送信するときに使う文字セットのリストです。Muttはテキストを正確に変換できる最初の文字セットを使います。もしあなたが使っている $charsetが iso-8859-1ではなく受取り手が UTF-8を使えるかどうかわからないような場合には、よく使われている標準的な文字セット（例えば iso-8859-2、koi8-r、 iso-2022-jp）を iso-8859-1のかわりに使うか、iso-8859-1の後ろに挿入した方がいいでしょう。

### 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もこの行を使って内蔵ぺ-ジャーでシグニチャに別の色を付けています。

### sig_on_top

    Type: boolean
    Default: no

この変数を設定すると $signatureが引用文や転送メッセージよりも前に挿入されます。この変数はできるだけ設定しないでください。ネチケット違反として多くの人に非難されます。

### 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の失敗をなくすために使います。一番多い原因は行頭のスマイリです。

### sleep_time

    Type: number
    Default: 1

フォルダからフォルダへ移動したり、メッセージを削除した場合に、画面に情報を表示するために一時停止する時間を秒数で指定します。デフォルトでは 1秒です。この値をゼロに設定すると一時停止しなくなります。

### 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 `を逆順にしている場合は $sort_auxも逆順になります（これはおかしな設定なのですが、既存の設定をこわさないようにこのようにしています）。`

### sort_browser

    Type: sort order
    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      <ref id="status_chars" name="$status_chars" >による modified/read-only/won't-write/attach-message インディケータ
    %s      今の並べ替えのモード （<ref id="sort" name="$sort" >）
    %S      今の aux並べ替えのモード （<ref id="sort_aux" name="$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

ステータス行を画面の下にではなく一行目に表示します。

### strict_mime

    Type: boolean
    Default: set

（jaパッチの拡張機能）このオプションを解除すると、MIME に従っていないメッセージなど表示できるようになります。具体的には, charset の指定がないメッセージを表示します。 $assumed_charsetも見てください。さらに、 encoded-word と *text の 間の linear-white-space を space に置き換えます。これにより、MIME符号化された Subjectフィールドの表示が複数行にわかれることを防ぐことがで きます。

### strict_threads

    Type: boolean
    Default: no

この変数をセットするとメッセージをスレッドで $sortする場合に In-Reply-Toと Referencesフィールドだけが使われます。デフォルトではこの変数はセットされていなくて、その場合は同じサブジェクトを持つメッセージも同じスレッドに集められます。ただしこの設定がいつも望ましいわけではなく、例えば個人的なメールボックスでは多くの「hi」というサブジェクトを持った関係のないメッセージが集められることになります。

### suspend

    Type: boolean
    Default: yes

この変数をアンセットすると、ユーザが通常 control-Zに割り当てられている suspキーを押してもmuttはサスペンドしません。これは `xterm -e mutt`のようなコマンドで muttを xtermの中で動かしているような場合に便利でしょう。

### text_flowed

    Type: boolean
    Default: no

この変数がセットされると、muttは text/plain; format=flowedである添付ファイルをつくります。このフォーマットはいくつかのメールソフトで扱いが簡単であり、通常は普通のテキストと同じように見えます。実際にこのフォーマットの機能を使う場合には、エディターでのサポートが必要になります。

このオプションがセットされると $indent_stringは無視されるので注意してください。

### thread_received

    Type: boolean
    Default: no

この変数がセットされていると、メッセージのスレッドをつくるのに使われる日付がメッセージを送った日付ではなく、メッセージを受け取った日付になる。

### 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: " +TCFL"

メッセージの宛先の状態を表示する文字を設定します。1番始めの文字はあなた宛ではないメールの場合に使われます (デフォルトはスペースです)。2番目の文字はあなただけがそのメッセージの受取人である場合に使われます。3番目の文字はあなたのアドレスが TO へッダフィールドにあるがあなた以外にも受取人がいる場合に使われます (デフォルトは T)。4番目の文字はあなたのアドレスが CC へッダフィールドにあるがあなた以外にも受取人がいる場合に使われます (デフォルトは C)。5番目の文字はそのメッセージはあなたが送信したことを表します。6番目の文字はあなたが購読しているメーリングリストにあてられたメールを表すものです（デフォルトは L）。

### tunnel

    Type: string
    Default: ""

この変数を設定すると socketを開くかわりにコマンドにパイプを開きます。これを使って IMAP/POP3サーバへの認証前の接続をどのようにするかを設定することができます。

例:

tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"

注意: この例がちゃんと作動するにはリモートマシンにパスワードなしで入れなければなりません。

### tree_chars

    Type: boolean
    Default: unset

（jaパッチの拡張機能）vt-100 非互換端末 では ACS 文字を表示できません。このオプションを設定すると、スレッドや添付ファイルのツリーを表示する際に任意の文字を設定することができます。例えば, 日本語であれば、JIS 0208の罫線を用いることもできます。文字の設定は $tree_llcorner、 $tree_ulcorner、 $tree_ltee、 $tree_hline、 $tree_vlineで行います。ただし、設定ファイルの記述で用いられる文字符号化方式と $charset に設定したものを同じにしてください。デフォルトでは $ascii_charsをセットしたときに使われる文字を使って表示します。設定例：JIS X 0208 の罫線を用いた例

    set tree_chars=yes
    set tree_llcorner="└"
    set tree_ulcorner="┌"
    set tree_ltee="│"
    set tree_hline="─"
    set tree_vline="│"

### tree_llcorner

    Type: string
    Default: "`"

（jaパッチの拡張機能） $tree_charsを参照。

### tree_ulcorner

    Type: string
    Default: ","

（jaパッチの拡張機能） $tree_charsを参照。

### tree_ltee

    Type: string
    Default: "|"

（jaパッチの拡張機能） $tree_charsを参照。

### tree_hline

    Type: string
    Default: "-"

（jaパッチの拡張機能） $tree_charsを参照。

### tree_vline

    Type: string
    Default: "|"

（jaパッチの拡張機能） $tree_charsを参照。

### 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がキーを入力するようにたずねるかどうかをコントロールします。

また auto_viewで添付ファイルを見る場合、対応する mailcapの項目に needsterminalフラグがついていて外部プログラムを対話的に使う場合にも使われます。

この変数がセットされていると Muttは常にキー入力を求めます。unsetされている場合には外部コマンドがゼロ以外の値を返した場合のみキー入力を待ちます。

### weed

    Type: boolean
    Default: yes

セットされているとメッセージを表示、転送、印刷、返信するときにへッダを取り除きます。

### wrap_search

    Type: boolean
    Default: yes

メールボックスの最後で検索を終えるかどうかをコントロールします。

この変数がセットされている場合には、検索は最初の(または最後の)メッセージで終わりますが、unsetされた場合には終わりません。

### wrapmargin

    Type: number
    Default: 0

muttのページャが文章の右揃えをするときにターミナルの右にどれだけのマージンを残しておくかをコントロールします。

### 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 リード・オンリーモードで別のフォルダを開く
    check-traditional-pgp  ESC P   古い pgp をチェックする
    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   現在のメッセージを編集
    edit-type                 ^E   現在のメッセージの Content-Typeを編集
    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   メッセージにリプライする
    resend-message         ESC e   MIME構造を保存したメッセージの再送
    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                 not bound   メッセージの最後に飛ぶ
    bounce-message            b   メッセージを他のユーザに再送する
    change-folder             c   別のフォルダをオープン
    change-folder-readonly <Esc>c リード・オンリーモードで別のフォルダを開く
    check-traditional-pgp  ESC P   古い pgp をチェックする
    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   このメッセージを再送信のため編集
    edit-type                ^E   現在のメッセージの Content-Typeを編集
    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   引用部テキストをスキップ
    sync-mailbox              $   メールボックスへの変更を保存
    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   他のユーザーにメッセージを再送する
    collapse-parts             v   サブパートの表示のトグル
    delete-entry               d    今いる項目を削除する
    display-toggle-weed       h   へッダを取り除いてメッセージを表示するかどうかのトグル
    edit-type                ^E   現在のメッセージの Content-Typeを編集
    extract-keys              ^K    PGP公開鍵を取り出す
    forward-message            f   コメントをつけてメッセージをフォワード
    group-reply                g   すべての受信者にリプライ
    list-reply                 L   メーリング・リスト宛てにリプライ
    pipe-entry                 |   メッセージ/添付文書をpipeでshellコマンドにわたす
    print-entry                p   この項目を印刷
    reply                      r   メッセージにリプライする
    resend-message         ESC e   MIME構造を保存したメッセージの再送
    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                      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   カーソルを一文字左に移動
    backward-word          ESC b   前の単語にカーソルを移動
    bol                       ^A   行頭へジャンプ
    buffy-cycle          Space    新着メールのメールボックスの間をまわる。
    capitalize-word        ESC c   単語の先頭の文字を大文字にする
    complete                 TAB   ファイル名またはエイリアスを補完
    complete-query            ^T   問い合わせを使ってアドレスを補完
    delete-char               ^D   カーソルの下の文字を消去
    downcase-word         ESC l   カーソルのある単語のすべての文字を小文字にする
    eol                       ^E   行末にジャンプ
    forward-char              ^F   カーソルを一文字右の移動
    forward-word           ESC F  カーソルを次の単語へ移動
    history-down       not bound   ヒストリリストをスクロールダウン
    history-up         not bound   ヒストリリストをスクロールアップ
    kill-eol                  ^K   カーソルから行末までの文字を消去
    kill-eow               ESC d   カーソルから単語の最後までの文字を削除
    kill-line                 ^U   一行すべての文字を消去
    kill-word                 ^W   カーソルの前の単語を消去
    quote-char                ^V   次にタイプするキーを引用
    transpose-chars    not bound   カーソルの下の文字を以前のものと置き換える
    upcase-word             ESC u  カーソルのある単語のすべての文字を大文字にする

## 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>, David Champion <dgc@uchicago.edu>, Brendan Cully <brendan@kublai.com>, Liviu Daia <daia@stoilow.imar.ro>, Thomas E. Dickey <dickey@herndon4.his.com>, David DeSimone <fox@convex.hp.com>, Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>, Ruslan Ermilov <ru@freebsd.org>, Edmund Grimley Evans <edmundo@rano.org>, Michael Finken <finken@conware.de>, Sven Guckes <guckes@math.fu-berlin.de>, Lars Hecking <lhecking@nmrc.ie>, Mark Holloman <holloman@nando.net>, Andreas Holzmann <holzmann@fmi.uni-passau.de>, Marco d'Itri <md@linux.it>, Byrial Jensen <byrial@image.dk>, Byrial Jensen <byrial@image.dk>, David Jeske <jeske@igcom.net>, Christophe Kalt <kalt@hugo.int-evry.fr>, Tommi Komulainen <Tommi.Komulainen@iki.fi>, 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>, Andrew W. Nosenko <awn@bcs.zp.ua>, 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@does-not-exist.org>, Roland Rosenfeld <roland@spinnaker.de>, TAKIZAWA Takashi <taki@luna.email.ne.jp>, Allain Thivillon <Allain.Thivillon@alma.fr>, Gero Treuner <gero@faveve.uni-stuttgart.de>, Vsevolod Volkov <vvv@lucky.net>, Ken Weinert <kenw@ihs.com>

## 7.2 この文章について

この文章は SGMLで書かれ、それを sgml-toolsパッケージを使って翻訳しています。