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

1. インターフェース

プログラム (または人) がメッセージに反応したいとき—返答、フォローアッ プ、転送、取り消しをしたいとき—そのプログラム (または人) はちょうどそ のメッセージがあるバッファーにポイントを置いて、必要な命令を呼び出すはず です。すると Message は、適切なヘッダーで満たした新し い message モードのバッファーを出現させてくれるので、利用者はメッ セージを送る前にそれを編集することができます。

Message モードのツールバーをカスタマイズすることができます。M-x customize-apropos RET message-tool-bar を試してみてください。この機能を 利用できるのは Emacs だけですが。


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

1.1 新しいメールメッセージ

message-mail 命令は、新しいメッセージバッファーを出現させます。

二つの省略可能な引数が受け付けられます: 最初のものは To ヘッダー として、二番目は Subject ヘッダーとして使われます。もしこれら が nil だったら、それらの二つのヘッダーは空になります。


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

1.2 新しいニュースメッセージ

message-news 命令は、新しいメッセージバッファーを出現させます。

この関数は二つの省略可能な引数を受け付けます。最初のもの は Newsgroups ヘッダーとして、二つ目のものは Subject ヘッ ダーとして使われます。もしこれらが nil だったら、それらの二つのヘッ ダーは空になります。


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

1.3 返答

message-reply 関数は、現在のバッファーにあるメッセージへの返答の メッセージバッファーを出現させます。

Message は返答がどこに行くか (see section 応答) を標準の方法で決定しま すが、message-reply-to-function 変数をいじくることによって、あな たの必要に応じてその振る舞いを変えることができます。

From の代わりに Sender に返答を送りたいのであれば、このよ うなことができます:

 
(setq message-reply-to-function
      (lambda ()
       (cond ((equal (mail-fetch-field "from") "somebody")
               (list (cons 'To (mail-fetch-field "sender"))))
             (t
              nil))))

この関数は、返答しようとする記事がヘッダー部分に狭められたバッファーで呼 ばれます。

ご覧のように、この関数はリストを返さなければなりません。この場合、To ヘッ ダーがそうなるべきだと判断すれば ((To . "Whom")) を返します。そう でなければ単に nil を返すだけで、To ヘッダーを決定する標準の方法 が使われるでしょう。

リストのそれぞれの要素は cons セルです。CAR はヘッダーの名前 (例え ば Cc) で、CDR はヘッダーの値 (例え ば ‘larsi@ifi.uio.no’) です。これらすべてのヘッダーは、送出される メールのヘッダーに挿入されます。


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

1.4 広い返答

message-wide-reply は、現在のバッファーにあるメッセージへの広い返 答のメッセージバッファーを出現させます。「広い返答」とは ToFrom (または Reply-to) および Cc ヘッダーに挙げられ ているすべての人たちに届く返答です。

Message は返答がどこに行くかを決定するために標準の方法を使いますが、 message-wide-reply-to-function をいじくることによって、振る舞いを あなたの必要に合うように変更することができます。それ は message-reply-to-function と同じやり方で使われま す (see section 返答)。

正規表現 (または正規表現のリスト) message-dont-reply-to-names に 合致するアドレスは Cc ヘッダーから取り除かれます。nil にす ると、あなたの名前だけが取り除かれます。

message-prune-recipient-rules は、広い返答をするときに特定のアド レスを取り除くために使います。重複したアドレスのようなものを削除するため に使うという意味です。これはリストのリストです。最初の要素は、ある規則を 適用するための、特定のアドレスに合致する正規表現です。そして 2つ目は、取 り除くべきアドレスに合致するための、最初の正規表現に基づいて拡張される正 規表現です。

と、説明はややこしいのですが、使うのは簡単です。

例えば ‘foo@example.org’ からメールを受け取ったのだけれど、 Cc のリストに実は同じ人の ‘foo@zot.example.org’ が含まれていると、 広い返答はそれら両方のアドレス宛てに出て行ってしまうでしょう。

これを避けるには、以下のようなことをすれば良いのです:

 
(setq message-prune-recipient-rules
      '(("^\\([^@]+\\)@\\(.*\\)" "\\1@.*[.]\\2")))

例えばもし、‘cvs@example.org’ からのメッセージに対するすべての広い 返答がそのアドレスだけに行き、他には行かないようにしたい (つまり受取人の リストに ‘cvs@example.org’ があったら、他のすべての受取人を宛先か ら除外したい) のであれば:

 
(setq message-prune-recipient-rules
      '(("cvs@example.org" ".")))

message-wide-reply-confirm-recipients が非-nil だったら、 複数の受取人に返答したいかどうかの確認を求められます。ディフォルト は nil です。


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

1.5 フォローアップ

message-followup 命令は、現在のバッファーにあるメッセージにフォロー アップするためのメッセージバッファーを出現させます。

Message はフォローアップがどこに行くかを標準の方法を使って決定しますが、 message-followup-to-function をいじくることによって、あなたの必要 に合うように振る舞いを変更することができます。それ は message-reply-to-function と同じやり方で使われま す (see section 返答)。

message-use-followup-to 変数は Followup-To ヘッダーに関し て何をするか (訳注: To ヘッダーをどうやって決定するか) を指定します。そ れが use だったら、いつもその値を使います。もし ask だった ら (これがディフォルトです)、その値を使うかどうかを尋ねます。も し t だったら、その値が (文字通り) ‘poster’ でない限り、その 値を使います (訳注: message-use-followup-to の値が t で、 Followup-To ヘッダーの値が ‘poster’ だったら、それを使うかど うかを尋ねます。なお、実際に To ヘッダーに使われるのは、 Mail-Reply-ToReply-To および From ヘッダーの中で、 最初に見つかったメールアドレスです)。nil であれば、値を使いません。


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

1.6 ニュースを取り消す

message-cancel-news 命令は、現在のバッファーにある記事を取り消し ます。

message-cancel-message の値が取り消し記事の本文に挿入されます。ディ フォルトは ‘I am canceling my own article.’ です。

Message がニュース記事をポストするとき、ディフォルト で Cancel-Lock ヘッダーを挿入します。これはあなた自身が書いたメーッ セージをあなただけが取り消すことができることを保証する暗号化されたヘッダー で、すぐれものです。欠点は、‘.emacs’ ファイル (Gnus が秘密の cancel lock パスワード (最初にこの機能を使うときに自動的に生成されます) を格納 する場所) をなくしてしまうと、メッセージの取り消しができなくなってしまう ことです。自分でパスワードを管理したいならば、以下のようなもの を ‘~/.gnus.el’ ファイルに入れてください:

 
(setq canlock-password "geheimnis"
      canlock-password-for-verify canlock-password)

そのヘッダーを挿入するかどうかは、message-insert-canlock 変数によっ て制御されます。

まだ多くのニュースサーバーが Cancel-Lock ヘッダーを重要視していま せんが、将来は変わることが期待されます。


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

1.7 ニュース記事の置き換え

message-supersede 命令は、現在のバッファーにあるメッセージを置き 換えるためのメッセージバッファーを出現させます。

message-ignored-supersedes-headers に合致するヘッダーは新しいメッ セージバッファーを出現させる前に取り除かれます。ディフォルトは
^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|
^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-Complaints-To:\\|
Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|
^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|
^X-Payment:\\|^Approved:
’ です。


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

1.8 転送

message-forward 命令は、現在のバッファーにあるメッセージを転送す るためのメッセージバッファーを出現させます。接頭引数が与えられると、ニュー スを使って転送します。

message-forward-ignored-headers

この正規表現に合致するすべてのヘッダーが、転送されるメッセージから削除さ れます。

message-make-forward-subject-function

転送されるメッセージの、表題ヘッダーを作るために呼ばれる関数のリストです。 前の関数で作られた表題は、続くそれぞれの関数に渡されます。

提供されている関数は次の通りです:

message-forward-subject-author-subject

記事の出どころ (著者かニュースグループ) を、括弧 ([...]) で囲んで表題の 前に付けます。

message-forward-subject-fwd

記事の表題の前に ‘Fwd:’ を置きます。

message-wash-forwarded-subjects

この変数が t だったら、以前に転送されたことを示す痕 跡 (‘Fwd:’, ‘Re:’, ‘(fwd)’ のようなもの) を、新しい表題を 組み立てる前にはぎ取ります。ディフォルト値は nil です。

message-forward-as-mime

この変数が t (ディフォルト) だったら、転送されるメッセージ は MIME RFC822 パートとして埋め込まれます。nil だった場 合は、以前に MIME に対応していなかった Gnus がしたように、転送 されるメッセージのコピーが、ただ単に新しいメッセージに埋め込まれます。

message-forward-before-signature

非-nil だったら署名の前に、それ以外だったら後に、転送するメッセー ジを置きます。


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

1.9 再送

message-resend 命令は、利用者にアドレスを入力することを要求して、 現在のバッファーにあるメッセージをそのアドレスに再送します。

正規表現 message-ignored-resent-headers に合致するヘッダーは、メッ セージを送る前に取り除かれます。


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

1.10 弾かれたメールメッセージ

message-bounce 命令は、もし現在のバッファーに弾かれたメールメッセー ジがあったら、弾かれたことの情報を取り除いたメッセージバッファーを出現さ せます。「弾かれたメッセージ」とは、一般には mailer-daemon から配 送不可として突き返されたメールです。

正規表現 message-ignored-bounced-headers に合致するヘッダーは、バッ ファーを出現させる前に取り除かれます。ディフォルト は ‘^\\(Received\\|Return-Path\\|Delivered-To\\):’ です。


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

1.11 メーリングリスト

メーリングリストに投稿する際に、その投稿に対するフォローアップ記事を指定 した場所に直接送ってもらいたいことがあります。Mail-Followup-To (MFT) は まさにこれを可能にするために作られました。これが役に立つ場合の例を三つ:

Gnus は他の人のメッセージにある MFT ヘッダーを尊重します (すなわち、だれ か別の人の投稿にフォローアップするとき)。また、外に出て行くメッセージの ための、道理にかなった MFT ヘッダーを作成することのサポートも提供します。


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

1.11.1 正しい MFT ヘッダーを自動的に作る

投稿する記事の MFT ヘッダーを Gnus が自動的に作ってくれるようにするため の第一歩は、購読しているメーリングリストのアドレスのリストを Gnus に与え ることです。一つ以上の方法でこれを行なうことができます。以下の変数が手ご ろでしょう。

message-subscribed-addresses

これは購読しているメーリングリストのアドレスのリストでなければなりません。 ディフォルト値は nil です。例:

 
(setq message-subscribed-addresses
      '("ding@gnus.org" "bing@noose.org"))
message-subscribed-regexps

これは購読しているメーリングリストのアドレスを示す正規表現のリストでなけ ればなりません。ディフォルト値は nil です。上記と同じ結果を成し遂 げたい場合の例:

 
(setq message-subscribed-regexps
      '("\\(ding@gnus\\)\\|\\(bing@noose\\)\\.org")
message-subscribed-address-functions

これは MFT ヘッダーの値を決めるために (一度に一回!!) 呼ばれる関数のリス トです。それらの関数には引数が無いことを忠告しておきましょう。ディフォル ト値は nil です。

Gnus ではこの変数のために定義された、良い関数の候補があります。関 数 gnus-find-subscribed-addresses は、subscribed グループ パラメーター (see (gnus-ja)Group Parameters section ‘グループパラメーター’ in The Gnus Manual) が非-nil に設定されているグループに対応するアド レスのリストを返します。こんなふうに使ってください。

 
(setq message-subscribed-address-functions
      '(gnus-find-subscribed-addresses))
message-subscribed-address-file

あなたはもしかしたら酔狂な人 (原典: one organized human freak) で、購読 しているすべてのメーリングリストのアドレスのリストを別ファイルで持ってい るかもしれません! そうならば、単にこの変数をそのファイル名にすることによっ て、人生は善きものになるでしょう。

上記の複数の変数を使うことができます。それらの値はすべて「加えられ」ま す。何らかの使える方法で。:-)

さあ用意ができました。いつものようにメッセージの作成を始めましょう。そし ていつも通りに送信しましょう。メッセージが送出される直前 に Gnus の MFT を作る仕掛けが動作して、メッセージがすでに MFT フィールド を持っているかどうかを調べます。もしそれがあるなら、それは放っておかれま す (その場合にそれが空っぽだったら、そのフィールドが削除されて自動生成さ れたもので置き換えられることはありません。これは個々のメッセージについ て MFT の生成を禁止させる基本です)。無かった場合は受取人のアドレスのリス ト (To: と Cc: ヘッダーにある) を、それらの一つが購読しているメーリング リストのアドレスかどうかを調べます。それらのどれもがメーリングリストのア ドレスでなかったら、MFT は作られません。それ以外の場合には MFT がヘッダー に付け加えられ、その値は To: と Cc: にあるすべてのアドレスに設定されます。

うーむ。そうするとあなたは「購読していないメーリングリストにメールを送信 するときはどうなるの? 私は余分のコピーが欲しいことを MFT で言いたい」と 尋ねますね (これは MFT が無い場合と同様に処理されるでしょう。しかし、 to-address で設定された他の誰かより優先させるために、明示的な MFT を使う ことができます)。関 数 message-generate-unsubscribed-mail-followup-to が役に立つかも しれません。これはディフォルトで C-c C-f C-a に割り当てられていま す。どんな場合でも、あなたは自分が選んだ MFT を挿入することができま す; それを始めるのに C-c C-f C-m (message-goto-mail-followup-to) が助けてくれるでしょう。


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

1.11.2 MFT 投稿の尊重

メーリングリストに投稿された記事にフォローアップするとき、その記事 が MFT ヘッダーを持っていたら、Gnus の動作は変 数 message-use-mail-followup-to の値によって決まります。この値は 以下のどれかになります:

use

常に MFT を尊重します。フォローアップ記事の To: と Cc: ヘッダーは、元の 記事の MFT ヘッダーから引き出します。これがディフォルトです。

nil

常に MFT を尊重しません (完璧に無視)。

ask

どうするかを尋ねます。

MFT を尊重することは良いネチケット (netiquette) であると考えられています。 どこにフォローアップする必要があるかを、メッセージを投稿した人はあなたよ りよく知っているはずですから。


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

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