[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. 命令


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 バッファーに入る

何か他のメッセージに応答するときは、たいていメッセージバッファーで書き上 げますよね。Message は多くの引用文を扱ったり、署名を削除したり、文章の整 形をしたり、あるいはあなたが使っている設定に依存するいろんなことをします。 Message は普通はうまく動作しますが、ときどき間違えもします。それらの間違 いを利用者が正すことができるように、Message はあるまとまった動作を自動的 に行なう前にアンドゥ (やり直し) の境界を設定します。それによって、ほんの 何回かアンドゥ・キー (通常 C-_) を押せば、未編集のメッセージに戻す ことができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 ヘッダー命令


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.1 ヘッダーに移動するための命令

以下の命令は対象になっているヘッダーに移動します。存在しなければ挿入され ます。

C-c ?

メッセージモードの説明を表示します。

C-c C-r C-t

To ヘッダーに行きます (message-goto-to)。

C-c C-f C-o

From ヘッダーに行きます (message-goto-from)。(キーバインド 中の“o”は創作者 (Originator) に由来しています。)

C-c C-f C-b

Bcc ヘッダーに行きます (message-goto-bcc)。

C-c C-f C-w

Fcc ヘッダーに行きます (message-goto-fcc)。

C-c C-f C-c

Cc ヘッダーに行きます (message-goto-cc)。

C-c C-f C-s

Subject ヘッダーに行きます (message-goto-subject)。

C-c C-f C-r

Reply-To ヘッダーに行きます (message-goto-reply-to)。

C-c C-f C-n

Neswsgroups ヘッダーに行きます (message-goto-newsgroups)。

C-c C-f C-d

Distribution ヘッダーに行きま す (message-goto-distribution)。

C-c C-f C-f

Followup-To ヘッダーに行きます (message-goto-followup-to)。

C-c C-f C-k

Keywords ヘッダーに行きます (message-goto-keywords)。

C-c C-f C-u

Summary ヘッダーに行きます (message-goto-summary)。

C-c C-f C-i

high’ という値を持つ ‘Importance:’ ヘッダーを挿入します。この ヘッダーは受信者にそのメッセージの重要性を知らせるために使われるものです。 もしバッファーにすでにこのヘッダーがある場合は、RFC 1376 に準じた三つの 値 ‘low’、‘normal’ および ‘high’ を循環させます。

C-c C-f C-a

講読していないメーリングリストに投稿する場合に見合っ た ‘Mail-Followup-To:’ ヘッダーを挿入します。講読していないメーリン グリストに元記事を投稿するときは、‘Mail-Followup-To:’ ヘッダーに手 で記入しなければなりません。内容は、普通はメーリングリストのアドレスとあ なた自身のアドレスです。この関数はそのようなヘッダーを自動的に挿入します。 これは現在のメールのバッファーから ‘To:’ ヘッダーの内容を抜き出し、 それに現在の user-mail-address を追加します。

省略可能な引数 include-ccnil ではない場合は、 ‘Cc:’ ヘッダーにあるアドレスも ‘Mail-Followup-To:’ ヘッダーに 置かれます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.2 ヘッダーを変更するための命令

C-c C-o

message-header-format-alist に従ってヘッダーを並べ替えま す (message-sort-headers)。

C-c C-t

フォローアップしようとするメッセージの Reply-To もしく は From ヘッダーを含む To ヘッダーを挿入しま す (message-insert-to)。

C-c C-n

返答しようとする記事の Followup-To もしくは、Nesgroups ヘッ ダーを反映した Newsgroups ヘッダーを挿入しま す (message-insert-newsgroups)。

C-c C-l

メーリングリスト宛てだけにメッセージを送ります。 To:Cc: ヘッダーから、そのメーリングリスト以外のアドレ スを削除します。

C-c M-n

開封確認要求を挿入します。 (message-insert-disposition-notification-to)。もし受信者が RFC 2298 をサポートしていれば、彼女はそのメッセージを受け取ったことを知らせ てくれるでしょう。

M-x message-insert-importance-high

high’ という値を持つ ‘Importance’ ヘッダーを (必要ならすでに 存在するものを消去してから) 挿入します。

M-x message-insert-importance-low

low’ という値を持つ ‘Importance’ ヘッダーを (必要ならすでに存 在するものを消去してから) 挿入します。

C-c C-f s

現在の ‘Subject’ ヘッダーを変更します。新しい ‘Subject’ を尋ね て ‘(was: <古い表題>)’ を追加します。そういう記事を受け取った人がさ らに返信するときに、古い表題は削除することができます。 message-subject-trailing-was-query (メッセージヘッダー) を見て ください。

C-c C-f x

クロスポストのために、対象グループとともに ‘FollowUp-To’ ヘッダーを 設定し、その対象グループが ‘Newsgroups’ ヘッダーに存在しなかったら そこに追加し、かつ本文に注意書きを入れます。 message-cross-post-defaultnil になっているか、またはこ の命令が接頭引付きで呼ばれると、‘Follow-Up’ ヘッダーが設定されるだ けで、‘Newsgroups’ ヘッダーへの追加は行なわれません。注意書きを入れ る関数は message-cross-post-note-function 変数で制御されます。

C-c C-f t

To’ ヘッダーの内容を ‘Cc’ か ‘Bcc’ ヘッダーの内容で置き 換えます。(‘Cc’ ヘッダーが無い場合に限って、代わりに ‘Bcc’ ヘッ ダーが使われます。)

C-c C-f w

初めはそのメッセージが広い返答のために作られたものでなかった場合でも、広 い返答をしているように ‘To’ と ‘Cc’ ヘッダーを挿入します。

C-c C-f a

X-No-Archive: Yes’ をヘッダーに挿入して、本文に注意書きを入れます。 ヘッダーと注意書き は message-archive-headermessage-archive-note を使って カスタマイズすることができます。接頭引数付きで呼ばれると、挿入するテキス トを要求します。本文に注意書きを入れたくない場合は、 message-archive-notenil にしてください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 移動

C-c C-b

メッセージの本文の先頭に移動します (message-goto-body)。

C-c C-i

メッセージの署名に移動します (message-goto-signature)。

C-a

ヘッダーの値の先頭にいるときは行の先頭に移動し、そうでないときはヘッダー の値の先頭に移動します。(ヘッダーの値というのは、ヘッダー名およびコロン の後にあるものです。) この動作は変数 message-beginning-of-line を トグル切り替えすることによって無効にすることができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 挿入

C-c C-y

返答しようとしているメッセージをメッセージバッファーに yank しま す (messsage-yank-original)。

C-c C-M-y

バッファー名を尋ねて、そのバッファーの内容をメッセージバッファー に yank します (message-yank-buffer)。

C-c C-q

Yank されたメッセージを折り返して耳を揃えま す (message-fill-yanked-message)。警告: もし変なやり方で引用され ていると、yank された文章をひどくぐちゃぐちゃにしてしまうかもしれません。 もっとも、どんなものが安全かは、すぐにわかるでしょうけれど。とにかく、何 が起きても C-x u (undo) が使えるのだから問題無いことだけは、 覚えておいてください。

C-c C-w

バッファーの最後に署名を挿入します (message-insert-signature)。

C-c M-h

メッセージのヘッダーを挿入します (message-insert-headers)。

C-c M-m

現在の記事のある領域を、それらを囲むためのタグで印を付けます。 message-mark-insert-beginmessage-mark-insert-end を見 てください。接頭引数を付けて使うと、slrn ふうの verbatim (文章を一言一句 そのまま表す) 記号の対 (‘#v+’ と ‘#v-’) を使います。(訳注: そ ういうメッセージを Gnus で表示すると、ディフォルトではその領域が一つのパー トとして扱われ、また強調表示されます。)

C-c M-f

現在の記事にファイルを挿入して、その領域を囲むためのタグで印を付けます。 message-mark-insert-beginmessage-mark-insert-end を見 てください。接頭引数を付けて使うと、slrn ふうの verbatim (文章を一言一句 そのまま表す) 記号の対 (‘#v+’ と ‘#v-’) を使います。(訳注: そ ういうメッセージを Gnus で表示すると、ディフォルトではその領域が一つのパー トとして扱われ、また強調表示されます。)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 MIME

Message は MIME に対応した送信用のエージェントです。ふつう利用 者は、MIME にするために何かする必要はありません。Message は自 動的に Content-Type および Content-Transfer-Encoding ヘッ ダーを付加します。

利用者が MIME でマルチパートを使いたい最も一般的なものは、送出 するメールに「添付」を付け加えることでしょう。これは C-c C-a 命 令 (M-x mml-attach-file) で行なうことができ、その際ファイル名 と MIME タイプが尋ねられます。

あなたの Emacs がドラッグ&ドロップをサポートしていれば、Message バッファ ーにファイルをドロップすることもできます。変 数 mml-dnd-protocol-alist で、Message バッファーにファイルをドロッ プするときにどんなことを行なうかを指定します。変 数 mml-dnd-attach-options は、ファイルをドロップするときにど の MIME オプションを指定したいかを制御します。それをリストにす る場合、有効なオプションは type, description およ び disposition です。disposition は暗に type を含み ます。nil だったらオプションを尋ねません。t にすると、オプ ションを指定するかどうかを尋ねます。

さらに MML 言語 (see (emacs-mime-ja)Composing section ‘MIME メッセージの作成’ in The Emacs MIME Manual) を使えば、どんな複雑なマルチパー トでも自由に作ることができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.6 国際化ドメイン名

IDNA は非-ASCII ドメイン名を可読 な ASCII 文字列にエンコードするための標準の手段です。詳細 は RFC 3490 で見つかります。

Message は IDNA に準拠した送信エージェントです。利用者 は IDNA のために一般には何もする必要がありません。 Message は FromTo および Cc ヘッダーにある 非-ASCII ドメイン名を自動的にエンコードします。

もっと IDNA が有名になるまでは、Message は実際にドメイン名 を IDNA エンコードすべきかどうかの確認を求めることになっていま す。今のところは、利用者の幾人かはドメイン名に非-ASCII 文字を 含むことができることに気づいていないかもしれないので、彼らが偶然に 非-ASCII ドメイン名をタイプしてしまったときのために安全ネット を張っているわけです。

変数 message-use-idnaIDNA を使うかどうかを制御しま す。この変数が nil だったら IDNA エンコードは行なわれま せん。シンボル ask に設定されていると利用者は確認を求められます。 また、t に設定されていると (IDNA が完全に利用可能ならば、 それがディフォルトです)、自動的に IDNA エンコードが行なわれま す。

実験的に IDNA エンコードを行ないたいならば、(エンコードされた 非-ASCII ドメイン名を得るために) メッセージの編集中 に M-x message-idna-to-ascii-rhs RET をタイプしてください。

この機能を使うには GNU Libidn をインストールしておかなければなりません。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7 セキュリティー

MML 言語を使うことによって、Message は電子署名された、または電 子暗号化されたメッセージを作ることができます。Message (と言う か MML) は、現在 PGP (RFC 1991), PGP/MIME (RFC 2015/3156) および S/MIME をサポートしています。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.1 署名と暗号化のコマンド

MIME パートに対してセキュリティーの操作を行なうため の MML への指示は、以下のように署名の場合は C-c C-m s キー マップを使って、暗号化の場合は C-c C-m c キーマップを使って行ない ます。

C-c C-m s s

S/MIME を使って現在のメッセージに電子署名します。

C-c C-m s o

PGP を使って現在のメッセージに電子署名します。

C-c C-m s p

PGP/MIME を使って現在のメッセージに電子署名します。

C-c C-m c s

S/MIME を使って現在のメッセージを電子暗号化します。

C-c C-m c o

PGP を使って現在のメッセージを電子暗号化します。

C-c C-m c p

PGP/MIME を使って現在のメッセージを電子暗号化します。

C-c C-m C-n

メッセージからセキュリティー関連の MML タグを削除します。

これらの命令は、その場でメッセージに署名したり暗号化するわけではなく、単 にセキュリティーのための適切な MML タグを挿入して、メッセージ が実際に送信されるときにその動作を実行するように、MML エンジン に指示を与えるだけです。それらは他の仕事、例えば暗号化されたメールを送り たい相手の人の S/MIME の証明書を探して、取り寄せるようなことも 行なうかもしれません。mml 解析エンジンが MML で書かれたメッセー ジを適切に MIME メッセージに変換するとき、セキュリティーのため のタグは、パートまたはマルチパートのどちらかのタグで置き換えられます。メッ セージが他の mml パートも含んでいる場合にはマルチパートのタグが使われ、 他のパートが無い場合は単一のパートのタグが使われるでしょう。このようにし て、署名される/暗号化されるマルチパートのメッセージに対し、メッセージ・ モードは「正しいこと (登録商標)」(原文: the Right Thing (TM)) を行ないま す。

署名そして特に暗号化はしばしば機密情報を送信するときに使われるので、メー ルが本当に署名または暗号化されることを確かめるための何らかの手段を必要と するでしょう。上記の署名/暗号化のための命令を実行した後でなら、 C-u C-c RET P (mml-preview) を使うことによって生の記事を下 見することが可能です。そうして、あなたの以前に大切だった人に関する、ある いは、この前の夜の変なパーティーで、あのおかしな身なりの人が実際にやった ことに関するあなたの長い罵倒が、本当に暗号化されて送信されるであろうこと を確認することができます。

注意! PGP/MIMES/MIME のどちら も RFC822 ヘッダーを署名/暗号化しません。それらは MIME パート にのみ作用します。機密の表題とともにメールを送ってしまう前に、このことを 肝に命じておいてください。

メッセージを暗号化するとき、Gnus はディフォルトで「署名+暗号化」(メッセー ジに対して署名と暗号化の両方が行なわれる) モードを使います。特定のメッセー ジに対してこれを行なわせたくないならば、 mml-secure-message-encrypt-* 命令に接頭引数を与えて (例え ば C-u C-c C-m c p を使って) ください。

上記のセキュリティー命令を実際に使うのはさほど難しくありません。少なくと も、すべての関係するプログラムが適切に通信し合うことを確かめることと比較 して。そこで、外部のどんなライブラリーまたはプログラムが必要かについて、 およびいくつかの些細で一般的なヒントを述べることにします。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.2 S/MIME を使う

注意! この章は近代的な暗号法、S/MIME、さまざま な PKCS の標準、OpenSSL などの基礎に、あなたが精通していることを想定して います。

Message (それに MML) が S/MIME をサポートするに は OpenSSL が必要です。OpenSSL は実際の S/MIME による署名/暗号 化の処理を実行します。OpenSSL は http://www.openssl.org/ で見つか るでしょう。OpenSSL 0.9.6 以降のものが動作するはずです。バージョ ン 0.9.5a は証明書からメールアドレスを抽出することができません。またそれ は MIME のセパレータに余計な CR 文字を挿入するので、変なメール を送る人だと思われたくなければ、それを使うことを避けたいでしょう。(もっ ともあなたは S/MIME のメッセージを送った時点で、おそらくその変 人コンテストでの勝利を逃してしまいましたが。)

暗号化されたメールを送るために個人の証明書は要りません。もっとも Message (MML) は、通信したい相手の人の証明書を必要としますけれど。これ は C-c C-m c s をタイプしたときに尋ねられます。今のところ、証明書 をローカルファイルから取り出すか DNS から取り寄せるかの、二つの方法があ ります。ローカルファイルを選択した場合、それは PEM 形式によ る X.509 証明書を含んでいる必要があります。DNS を選んだ場合には、その証 明書が格納されているドメイン名を尋ねられます (ディフォルトは上手に推測し たものです)。私が信じる限 り Message (MML) は S/MIME の証明書を DNS から取り寄 せる世界初のメール・エージェントなので、あまりたくさんの証明書がそこで見 つかることは無いでしょう。少なくとも一つだけ は simon.josefsson.org ドメイン (訳注: 原著者のサイト) に格納され たものがあるはずですが。LDAP は証明書を配給するためのもっと普及している 手法で、それをサポートすることが計画されています。(話は変わりますが、 ldapsearch をコマンドラインから実行して証明書をファイルに取り込み、 それを使うことができますよ。)

メッセージの署名については、ある種の設定無しでは OpenSSL は署名の処理を 実行することができません。とりわけ、あなたの秘密鍵 (private key) と証明 書がどこに格納されているかを教えてあげる必要があります。MML は その名にふさわしい smime.el という OpenSSL への Emacs インターフェー スを使いますが、それはこの設定に使うためのための custom グループ を持っています。ですから M-x customize-group RET smime RET を試し て、眺めてみてください。

現在は、CA (または RA) と通信してあなた自身の証明書を生成することはサポー トされていません。それに計画もありません。私は Netscape を使って、ネット 上にある大きな CA の一つから無料の S/MIME の証明書をもらいまし た。Netscape は秘密鍵と証明書を PKCS #12 形式で輸出 (export) することが できます。OpenSSL を使って、これを以下のように PEM 形式による 素 (plain) の X.509 証明書に変換してください。

 
$ openssl pkcs12 -in ns.p12 -clcerts -nodes > key+cert.pem

smime-keys 変数が ‘key+cert.pem’ ファイルを指し示すようにし なければなりません。今や、あなたは署名されたメッセージを送信できるはずで す。

注意! あなたの鍵は今、暗号化されずにファイルに格納されたので、そ れの扱いには気を付けてください。暗号化された鍵をファイルに格納する機能は サポートされています。その場合は OpenSSL を呼び出す前に Gnus がパスフレー ズを尋ねるでしょう。どうやってそれを成し遂げるかについては OpenSSL のド キュメントを読んでください。暗号化されていない鍵を使う (例えばそれらが安全 なストレージにある、またはあなたが安全なシングル・利用者のマシンにい る) のであれば、パスフレーズの入力を要求されたとき、単に RET を押 してください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.3 PGP/MIME を使う

PGP/MIMEGNU Privacy Guard の ような、外部の OpenPGP の実装を必要とします。OpenPGP より以前の実装であ る PGP 2.x と PGP 5.x もサポートします。PGP の実装への一つの Emacs イン ターフェースである (see (pgg-ja)Top section ‘PGG’ in PGG Manual) が含まれてい ますが、Mailcrypt もサポートします。See section 古い実装との互換性.

Message はデータを暗号化するために内部的に GnuPG (gpg コマン ド) を呼びます。また、ある場合 (例えば暗号の解読や署名を行なう場合) には、 gpg はユーザーのパスフレーズを要求します。現 在 gpg にパスフレーズを渡す方法として推奨されているのは、 gpg-agent プログラムを使うことです。

Emacs で gpg-agent を使うには、Emacs を起動する前にシェルで 以下のコマンドを走らせる必要があります。

 
eval `gpg-agent --daemon`

これは gpg-agent を実行するととも に gpggpg-agent と通信できるように、環境変 数 GPG_AGENT_INFO を設定します。これを ‘.xsession’ また は ‘.bash_profile’ に書き込むのは良い考えでしょう。See (gnupg)Invoking GPG-AGENT section ‘Invoking GPG-AGENT’ in Using the GNU Privacy Guard.

いったん gpg-agent が立ち上がると、それは gpg のため に必要に応じてパスフレーズを尋ねます。X ウィンドウ・システムでは、パスフ レーズを入力するための対話手段が新たに出現します。その対話手段は PIN Entry (pinentry コマンド) によって提供されますが、バージョ ン 0.7.2 のものは単一の tty 上の Emacs とは協調して動作することができま せん。したがって、もし文字コンソールを使っているのであれば、パスフレーズ を gpg-agent のキャッシュに前もって入れておかなければならないでしょう。 以下のコマンドを、そのために使うことができます。

 
gpg --use-agent --sign < /dev/null > /dev/null

Lisp 変数 pgg-gpg-use-agentgpg-agent を使うかどうか を制御します。See (pgg-ja)Caching passphrase section ‘パスフレーズをキャッシュする’ in The PGG Manual, も参照してください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.4 古い実装との互換性

注: もし gpg.el を使うのであれば、gpg-temp-directory で指 定されるディレクトリーのパーミッションが必ず 0700 になっているようにして ください。

あなたの PGP の実装のドキュメントで詳しく述べられているので、あなた自身 のための鍵の生成のしかたは、それに譲ります。

もしあなたが古い PGP 2.x の鍵を GnuPG に輸入してあって、PGP 2.x を使って いる仲間に署名されかつ暗号化されたメッセージを送りたいとすると、受信者は あなたが送信したものを理解できないことを発見することになるでしょう。一つ の解は、代わりに PGP 2.x を使うこと (すなわち、もし pgg を使って いるのであれば、pgg-default-schemepgp に設定するこ と) です。さらに PGP 2.x を使っている仲間に、GnuPG に乗り換えることを説 得しても良いでしょう。 最後の代替手段として、署名と暗号化の動作を二段階 (分離署名してからメッセー ジを暗号化する) にすることができます。この振る舞いを変更したいのであれば、 mml-signencrypt-style-alist 変数をカスタマイズすることができます。 例えば:

 
(setq mml-signencrypt-style-alist '(("smime" separate)
                                    ("pgp" separate)
                                    ("pgpauto" separate)
                                    ("pgpmime" separate)))

これは署名と暗号化を二段階で行なわせることによって、PGP version 2 が理解 できるメッセージを生成します。

(その問題に関するさらなる情報については、 http://www.gnupg.org/gph/en/pgp2x.html を参照してください。)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.8 いろいろな命令

C-c C-r

現在のメッセージをカエサル変換 (別名 rot13) しま す (message-caesar-buffer-body)。ある範囲にバッファーが狭められて いた場合は、バッファーの見える部分だけを変換します。数値接頭引数は文中の アルファベットを何文字分回転させるかを指定します。ディフォルトは 13 です。

C-c C-e

ポイントとマークの間の文を省略します (message-elide-region)。文章 は kill されて、変数 message-elide-ellipsis の値で置き換えられま す。ディフォルトの省略符号として使われる値は (‘[...]’) です。

これは書法仕様変数なので、削除された行数を、または削除された文字数を表示 させるために、それぞれ ‘%l’ と ‘%c’ を使うことができます。

C-c M-k

現在位置のアドレスを削除します (訳注: この命令は作者や出どころが不明で、 さらに悪いことに不完全な命令に見えます。必ず消したいアドレスの先頭にポイ ントを置いて使ってください。)

C-c C-z

現在位置から署名まで、またはそれが無ければ記事の最後までの文を kill しま す (message-kill-to-signature)。

C-c C-v

メッセージの本文において、領域が設定された場所以外のすべての文を消去しま す (message-delete-not-region)。

M-RET

四本の空行を挿入します。そして、もしポイントが引用文の中間にあったのなら ば、引用文を整形し直します。

例です:

 
> これは何かの引用文です。 そして、ここにはもっと引用文があります。

ポイントが「そして」の前にあるときに M-RET を押すと、以下のように なります:

 
> これは何かの引用文です。

*

> そして、ここにはもっと引用文があります。

*’ はポイントが置かれる場所です。

C-c M-r

バッファーの名前を変更します (message-rename-buffer)。接頭引数が 与えられると、新しいバッファー名の入力を要求します。

TAB

message-tab-body-functionnil でなかったら、それが指定 する関数を実行します。さもなければ、 text-mode-mapglobal-mapTAB キーに割り当てら れている命令を使います。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.9 送信

C-c C-c

メッセージを送信し、現在のバッファーを bury-buffer しま す (message-send-and-exit)。

訳注: bury-buffer は指定したバッファーを現在の Emacs 上に存在する バッファーのリストの最後の要素にする関数で、一般に重要度が低くなったバッ ファーに対して実行されます。それを見たい場合は C-x C-b を使ってく ださい。ただしバッファーの名前が ‘*sent ... *’ に変わっているはずで す。

C-c C-s

メッセージを送信します (message-send)。

C-c C-d

メッセージバッファーを bury-buffer して (送信せずに) 終了しま す (message-dont-send)。

C-c C-k

メッセージバッファーを kill して (送信せずに) 終了しま す (message-kill-buffer)。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.10 メールの別名

message-mail-alias-type という変数で、どのような型のメールの別 名 (mail alias) の伸張を使うかを制御します。今のところ二つの様式、 mailabbrevecomplete を使うことができます。もしこの変数 が nil になっていると、メールの別名の伸張は行なわれません。

Mailabbrev は ‘/etc/mailrc’ と ‘~/.mailrc’ ファイルを解 析することによって動作します。それらのファイルは次のようになっています:

 
alias lmi "Lars Magne Ingebrigtsen <larsi@ifi.uio.no>"
alias ding "ding@ifi.uio.no (ding mailing list)"

このような行を ‘~/.mailrc’ ファイルに追加しておけば、 ToCc (など) のヘッダーで ‘lmi’ と書い て SPC を押すだけで、その別名を伸張してくれるはずです。

メッセージを送るときには伸張は行なわれません—すべての伸張は明示的 に (訳注: 実際に自分でメールを書いているときに) 行なわれなくてはなりませ ん。

ecomplete を使っていると、ToCc ヘッダーにあるす べてのアドレスが、自動的に ‘~/.ecompleterc’ ファイルに格納されます。 ToCc ヘッダーにテキストを書き込んだときに、 ecomplete はそこに格納されている値を調べて、どんな補完候補がある かを「エレクトリック」に (訳注: 巧妙なやり方で) 教えてくれるでしょう。そ れらの補完候補の一つを探すには、M-n コマンドでリストを下に読み進ん でください。リストを昇るのは M-p、そして選択するのは RET で す。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.11 Emacs にスペルチェックさせる

メッセージを Emacs でスペルチェックするために普及している二つの方法とし て ispellflyspell があります。ispell の方は昔か らあって、たぶんより一般的なパッケージです。あなたは最初にメッセージを書 いてから、例によって全体を ispell に通し、すべての書き損じを修正 するでしょう。メッセージを送信するときにそれを自動的に行なうためには、 ‘.emacs’ ファイルに以下のようなものを入れてください。

 
(add-hook 'message-send-hook 'ispell-message)

あなたが別の言語で書く習慣を持っているのならば、変 数 ispell-message-dictionary-alist で切り替えることができます。 (訳注: 以下の連想リストの各要素で、ヘッダーのどれかに合致する正規表現と 辞書を指定します。ただし ‘japanese’ という辞書はありません (たぶん)。)

 
(setq ispell-message-dictionary-alist
      '(("^Newsgroups:.*\\bde\\." . "deutsch8")
        (".*" . "default")))

ispell はインストールされている ‘ispell’ プログラムに依存し ます。

人気があるもう一つの方法は flyspell を使うことです。このパッケー ジはあなたが書いている最中にスペルチェックを行ない、いろんな方法で間違っ たスペルの語を指摘してくれます。

flyspell を使うには、以下のようなものを ‘.emacs’ ファイルに 入れてください。

 
(defun my-message-setup-routine ()
  (flyspell-mode 1))
(add-hook 'message-setup-hook 'my-message-setup-routine)

flyspell はインストールされている ‘ispell’ プログラムに依存 します。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.