Next: , Previous: Mail Headers, Up: Sending Mail


24.3 メイルの別名

~/.mailrcという名前のファイルでメイルの別名 (mail alias)を定義できます。 メイルの別名とは、複数のメイルアドレスやそれらのグループに付けた 覚えやすい短い名前のことです。 他の多くのメイルプログラムと同様に、 ‘To’、‘From’、‘CC’、‘BCC’、‘Reply-to’のフィールドに 別名が現れるとEmacsは別名を展開し、 当該フィールドの先頭に‘Resent-’を付加します。

~/.mailrcファイルで別名を定義するには、 以下のような形式の行を書きます。

     alias shortaddress fulladdresses

fulladdressesは1つ以上のメイルアドレスであり、 shortaddressをそれらのアドレスに展開します。 複数のアドレスを書く場合は、空白で区切ります。 アドレスに空白が含まれる場合は、 アドレス全体をダブルクォート‘"’で括ります。

たとえば、gnu@gnu.orgとあなたのローカルアドレスに対する別名を maingnuとするには、 つぎのように書きます。

     alias maingnu gnu@gnu.org local-gnu

また、Emacsは‘.mailrc’ファイル内の「取り込み」コマンドも認識します。 つぎのように書きます。

     source filename

ファイル~/.mailrcは主に他のメイル閲覧プログラムが使用するものです。 このファイルには、他にもさまざまなコマンドを指定できます。 Emacsは、このファイル内の別名定義(‘alias’)と 取り込みコマンド(‘source’)以外はすべて無視します。

Emacsの中だけでメイルの別名を定義する別の方法は、 define-mail-aliasコマンドを使うことです。 このコマンドは、別名と完全なアドレスを順次尋ねてきます。 これを使えば、つぎのようにして 個人の.emacsファイルで別名を定義できます。

     (define-mail-alias "maingnu" "gnu@gnu.org")

define-mail-aliasは、 mail-aliasesという変数に別名を追加記録します。 Lispのリスト操作に慣れているなら、 mail-aliasesに直接設定してもかまいません。 変数mail-aliasの初期値はtとなっていて、 Emacsは.mailrcから別名定義を読み込むという指定です。

~/.mailrcのかわりに使う別のファイルの名前は、 変数mail-personal-alias-fileに設定します。

通常、Emacsはメッセージ送信時に別名を展開します。 送信に先だってみずからメイルアドレスを展開する必要はありませんが、 メイルが実際にどこへ送信されるか確認したければ別名を展開することもできます。 そうするには、コマンドM-x expand-mail-aliasesを使います。 アドレスを保持するメイルヘッダに書かれている すべてのメイルの別名を展開します。

もし好みに合うなら、メイルの別名を打ち込んだらただちに 略語展開することもできます(see Abbrevs)。 この機能を使うにはつぎのようにします。

     (add-hook 'mail-setup-hook 'mail-abbrevs-setup)

これを個人の.emacsファイルに入れてもかまいません。 See Hooks。 この機能を使う場合には、define-mail-aliasのかわりに define-mail-abbrevを使う必要があります。 前者は、このパッケージでは動作しません。 メイル用略語パッケージでは、mail-aliasesのかわりに 変数mail-abbrevsを使い、さらに、 すべての別名は小文字に変換されます。

メイル用略語パッケージには、C-c C-amail-interactive-insert-alias)コマンドもあって、 別名を(補完を使って)読み取り、その定義をポイント位置に挿入します。 この機能は、Emacsが別名を通常展開しない本文や‘Subject’フィールドなど を編集しているときに便利です。

単語の区切り文字を挿入したあとで略語が展開されることに注意してください。 しかし、C-nM->を再定義して 展開が行われるように設定することもできます。 つぎのようにします。

     (add-hook 'mail-setup-hook
               '(lambda ()
                  (substitute-key-definition
                    'next-line 'mail-abbrev-next-line
                    mail-mode-map global-map)
                  (substitute-key-definition
                    'end-of-buffer 'mail-abbrev-end-of-buffer
                    mail-mode-map global-map)))