Rmailには、送信メールを送信するためのコマンドがいくつか用意されています。Rmailで動作するように設計された特定の機能を含む、メッセージモードの使用方法については、メールの送信を参照してください。本セクションで解説するのは、送信メッセージの作成に使用するメールバッファに入るためのRmail専用コマンドです。なお、メール送信に通常使用されるキー—C-x m、C-x 4 m、C-x 5 m—も、Rmailモードでは通常通り動作します。
メッセージを送信する (rmail-mail)。
作成済みの送信メッセージ (rmail-continue) の編集を続ける。
現在のRmailメッセージ (rmail-reply) に返信を送信します。
現在のメッセージを他のユーザーに転送します (rmail-forward)。
現在のメッセージを他のユーザーに再送信する (rmail-resend)。
バウンスしたメッセージを2回目に送信してみてください (rmail-retry-failure)。
Rmailでメッセージを送信する最も一般的な理由は、現在読んでいるメッセージに返信することです。これを行うには、r (rmail-reply)
と入力します。これにより、C-x 4 m
と同様に別のウィンドウにメール作成バッファが表示されますが、返信先のメッセージに基づいて ‘Subject’、‘To’、‘CC’、‘In-Reply-To’ および ‘References’ のヘッダーフィールドがあらかじめ初期化されます。‘To’ フィールドには受信したメッセージの送信者のアドレスが、‘CC’
フィールドにはそのメッセージの他のすべての受信者のアドレスが、それぞれ初期値として設定されます。
‘Subject’ ヘッダーフィールドには、‘Re:’ またはそのローカライズ版が1つ以上含まれる場合があります。これらが rmail-re-abbrevs(mail-re-regexps から初期化される)に一致する場合、それらは削除され、rmail-reply-prefix が先頭に付加されます。
変数 mail-dont-reply-to-names
を使用すると、特定の受信者を返信への自動追加対象から除外できます。この変数には正規表現を指定する必要があり、それに一致する受信者は
‘CC’ フィールドから除外されます。また、‘To’
フィールドからも除外されますが、これによりフィールドが空になる場合は除外されません。この変数が nil の場合、初めて返信を作成する際に、自身のアドレスに一致するデフォルト値で初期化されます。
元のメッセージの送信者にのみ返信するには、数値引数 C-u r または 1 r を指定して返信コマンドを入力してください。これにより、特定の返信において ‘CC’ フィールドが完全に省略されます。
メール作成バッファが初期化されると、メールの編集や送信は通常通り行えます(メールの送信を参照)。あらかじめ用意されているヘッダーフィールドが希望通りでない場合は、それらを編集できます。また、C-c C-y などのコマンドを使用して、返信先のメッセージをヤンクすることも可能です(メールコマンドを参照)。さらに、Rmailバッファに切り替えて別のメッセージを選択し、再び戻って新しい現在のメッセージをヤンクすることもできます。
メッセージが宛先に届かないことがあります。通常、送信者は届かなかったメッセージを失敗メッセージに添えて返送します。Rmailコマンド M-m
(rmail-retry-failure)
は、同じメッセージを再度送信するための準備を行います。具体的には、前回と同じ本文とヘッダーフィールドを持つメール作成バッファを設定します。すぐに
C-c C-c
と入力すれば、初回とまったく同じ内容でメッセージを再送信できます。あるいは、本文やヘッダーを編集してから送信することも可能です。rmail-ignored-headers(メッセージの表示を参照)と同じ形式の変数 rmail-retry-ignored-headers
は、再送信時に失敗メッセージからどのヘッダーを削除するかを制御します。
Rmailでメールを送信するもう一つのよくある理由は、現在のメッセージを他のユーザーに転送することです。f (rmail-forward) は、メール作成バッファを、現在のメッセージを本文とし、件名を [from: subject] の形式(ここで from と subject
は元のメッセージの送信者と件名)であらかじめ初期化することで、これを容易にします。あとは、宛先を入力して送信するだけです。メッセージを転送すると、受信者にはあなたからのメッセージが届き、その本文には元のメッセージが含まれています。
Rmailでは、転送メッセージに2つの形式を用意しています。デフォルトではMIME形式が使用されます(メッセージの表示を参照)。これには、元のメッセージが個別のパートとして含まれます。よりシンプルな形式をご希望の場合は、変数
rmail-enable-mime-composing を nil
に設定することで利用できます。この場合、Rmailは元のメッセージを2つの区切り行で囲んで含めるだけです。また、ハイフンで始まるすべての行の先頭に
‘- ’
を挿入して変更します。このような形式で転送メッセージを受信した際、通常のテキスト以外の内容(例えばプログラムのソースコードなど)が含まれている場合は、その変換を解除すると便利かもしれません。転送メッセージを選択して
M-x unforward-rmail-message
と入力することで、この操作が可能です。このコマンドは、挿入された ‘- ’
文字列を削除して元の転送メッセージを抽出し、現在のメッセージの直後に個別のメッセージとしてRmailファイルに挿入します。
再送信は、転送に似た代替手段です。違いは、再送信ではメッセージが元の送信者から送られ、あなたに届いたときと同様に届く点にあります。ただし、あなた経由で届いたことを示すために、いくつかのヘッダーフィールド(‘Resent-From’および‘Resent-To’)が付加されます。Rmailでメッセージを再送信するには、C-u fを使用します。(fはrmail-forwardを実行し、数値引数を指定するとrmail-resendが呼び出されます。)
返信ではない送信メッセージの編集を開始するには、m (rmail-mail) コマンドを使用します。これにより、ヘッダーフィールドは空のままになります。C-x 4 m との唯一の違いは、r と同様に、C-c C-y で Rmail バッファが利用可能になる点です。
c (rmail-continue)
コマンドを実行すると、メール作成バッファの編集が再開され、作成中だった送信メッセージの編集を完了したり、送信済みのメッセージを変更したりできます。
変数 rmail-mail-new-frame に nil 以外の値を設定すると、メッセージ送信を開始するすべての Rmail
コマンドが、編集用の新しいフレームを作成します。このフレームはメッセージを送信する際に削除されます(ただし、現在のディスプレイ上で唯一表示されているフレームである場合や、テキストモードのフレームである場合は除きます)。メッセージを送信する際にこのフレームを削除できない場合、Emacs
は後続のメッセージ作成にこのフレームを再利用しようとします。
メッセージを送信するためのすべてのRmailコマンドは、選択したメール作成方式(メール作成方式を参照)を使用します。