Go to the first, previous, next, last section, table of contents.


ドラフトバッファ

サマリモードで w を押す等することにより新規ドラフトバッファが用意 されます。このバッファでメール、ニュース記事の(新規)編集、送信を行います。

使い方(TIPS)

基本は Emacs 標準のメールモードです。

アドレスの補完

初期状態では `To:' にカーソルがあります。送信相手のアドレスを入力し てください。TAB で補完します。

ニュース記事として出したい場合は、`Newsgroups:' フィールドを自分で 書き加えてください。フィールド名は TAB で補完します。

編集中のドラフトをセーブすると、wl-draft-folder に設定されたドラ フトフォルダに追加されます。

`FCC:' フィールドで送信したメッセージのコピーを保存しておくフォルダ を指定することができます。

メッセージの編集

マルチパートの編集は SEMI の MIME 編集モードを利用しています。 編集の方法は各パッケージ付属のドキュメントを参照してください。 See section `MIME-Edit' in a MIME user interface for GNU Emacs. また、ドラフトバッファにおいて、C-c C-x ? でヘルプが参照できます。

メッセージの動的な変更

wl-draft-config-alist を設定することで、ヘッダやその他の情報によ り、自動的に他のヘッダや本文を変更することができます。

変数 wl-draft-config-alist について説明します。この変数の初期設定 は nil です。

例えば以下のように設定すると、wl-draft-send-and-exitwl-draft-send を実行した時にヘッダが変更されます。 wl-interactive-send を non-nil に設定しておくと、送信前に変更点が 確認できるので安心です。

(setq wl-draft-config-alist
      '(((string-match "aaa\\.example\\.com$" (system-name))
         ;; 式がnon-nilなら適用する
         (wl-smtp-posting-server . "mailserver-B")
         (wl-nntp-posting-server . "newsserver-B")
         ;; 一時的な変数の設定
         )
        ("^To: .*user@aaa\\.bbb\\.example\\.com"
         ;; ドラフトバッファのヘッダにマッチすれば適用する
         ("Organization" . (format "Go %s" my-webpage)))
                           ;; elisp 式が書ける (eval しているだけ)
         (top . "  ○○です。\n")    ;; 本文先頭へ文字列を挿入します
         (bottom . "\n以上です。\n") ;; 本文末尾へ文字列を挿入します
        ))

wl-draft-config-alist は次の形式になっています。

'((ヘッダの正規表現 または elisp式
   ("Field" . 値(elisp式))
   (variable . 値(elisp式))
   (サブ関数 . 値(elisp式))
   関数
   ...)
  (ヘッダの正規表現 または elisp式
   ("Field" . 値(elisp式))
   ...))

[サブ関数]には、デフォルトで以下の10個が用意されています。

'header:      ヘッダの末尾に指定した文字列を挿入します。
'header-top:  ヘッダの先頭に指定した文字列を挿入します。
'header-file: ヘッダの末尾に指定したファイルを挿入します。
'x-face:      指定したファイルの内容を持つ `X-Face:' フィールドを
              挿入します。
'top:         本文の先頭に指定した文字列を挿入します。
'top-file:    本文の先頭に指定したファイルを挿入します。
'body:        本文を指定した文字列に置き換えます。
              nil を指定すると本文の文字列を削除します。
'body-file:   本文を指定したファイルの内容で置き換えます。
'bottom:      本文の末尾に指定した文字列を挿入します。
'bottom-file: 本文の末尾に指定したファイルを挿入します。
'part-top:    現在のマルチパートの先頭に指定した文字列を挿入します。
'part-bottom: 現在のマルチパートの末尾に指定した文字列を挿入します。
'template:    指定したテンプレートを適用します。
              (次項 テンプレートの挿入参照)

また、これらは wl-draft-config-sub-func-alist に定義されており、 変更したり自分で作った関数を追加することができます。関数の書き方はここで 説明するより直接コードを見た方が分かりやすいでしょうから省略します。

各要素の1番目には ヘッダの正規表現 か elisp 式 を指定します。elisp 式の場合は評価した値が non-nil の場合に適用されます。

また、デフォルトでは複数の要素がマッチまたは non-nil になった場合に、その 全てが適用されますが、変数 wl-draft-config-matchonet に することで最初にマッチした1つだけを適用することもできます。

要素の2番目には cons か関数の list を指定します。cons にはヘッダの Field か変数、サブ関数を指定し、Field を指定した場合はその Field を変更、変数 を指定した場合は一時的にその変数値を変更します。

値には文字列や変数の他、elisp式がそのまま記述でき、もし、Field の値が nil ならばその Field を削除します。

親フォルダの名前を利用したい場合には、バッファローカル変数 wl-draft-parent-folder が利用できます。

つづいて、次の例を見て下さい。

(setq wl-draft-config-alist
      '((reply                         ;; (1)
         "X-ML-Name: \\(Wanderlust\\|emacs-mime-ja\\|apel-ja\\)"
         ;; 返信元バッファのヘッダにマッチすれば適用する
         (body . "  こんにちは\n")
         (template . "default")
         )))

この例 (1)のように、ヘッダの正規表現の前に reply をつけると wl-summary-reply などでドラフトを作成した場合、返信元のヘッダにマッ チすれば適用されるようになります。ただし、wl-draft を実行したとき など返信元のバッファがない場合は無視されます。

何も特別な設定をしなければ、wl-draft-config-alist は、 wl-draft-send-and-exitwl-draft-send が実行される直前に 一度だけ適用されます。送信を取りやめた後に再度 wl-draft-config-alist を適用したい場合は、C-c C-e (wl-draft-config-exec) を実行してください。

wl-draft-send-and-exitwl-draft-send の実行時に自動的に wl-draft-config-alist を適用したくない場合は、次のように設定して 下さい。

(remove-hook 'wl-draft-send-hook 'wl-draft-config-exec)

ドラフトバッファの作成時に自動的に wl-draft-config-alist を適用したい場合は、次のように設定します。

(add-hook 'wl-mail-setup-hook 'wl-draft-config-exec)

サマリモードから 'E'(wl-summary-reedit)を押してメールを 編集する時にも自動的に wl-draft-config-alist を適用したい場合は、 次のように設定します。

(add-hook 'wl-draft-reedit-hook 'wl-draft-config-exec)

テンプレートの挿入

変数 wl-template-alist を設定し、ドラフトバッファでC-c C-j もしくは M-x wl-template-selectと入力することで適用します。 wl-template-alist の書式は wl-draft-config-alist とほぼ同 じです。

(setq wl-template-alist
      '(("default"
         ("From" . wl-from)
         ("Organization" . "~/.wl sample")
         (body . "  ○○です。\n"))
        ("report"
         (template . "default")                 ;; (a)
         ("To" . "jousi@example.com")
         ("Subject" . "報告")
         (body-file . "~/work/report.txt")
         )
        ))

このようにヘッダの正規表現の代わりに `default'`report' の ように各要素の名前(テンプレート名)をつけるだけです。各要素の定義は wl-draft-config-alist と同じであるので、(a)のように別のテンプレー トを呼ぶことも可能です。

コマンド wl-template-select を実行すると、テンプレートの選択を行 いますが、変数wl-template-visible-selectにより動作が異なります。

wl-template-visible-selectt (デフォルト)の場合、ドラフ トバッファの下に適用後のバッファウィンドウが表示されるので、それを見なが ら np で選択します。そしてリターンキーで決定すると実際に ドラフトバッファに適用されます。q を押した場合なにも適用されません。 なお、wl-template-buffer-lines でウィンドウの大きさが変更できます。

wl-template-visible-selectnil の場合、ミニバッファでテ ンプレート名を入力することで選択します。

また、wl-draft-config-alist の例のように例えば

(template . "default")

と書くことで `default' のテンプレートを適用することができます。

POP-before-SMTP によるメールの送信

POP-before-SMTP によるメールの送信ができます。 設定は、

(setq wl-draft-send-mail-function 'wl-draft-send-mail-with-pop-before-smtp)

の1行のみですが、必要に応じて以下の変数を設定してください。

wl-pop-before-smtp-user
POP-before-SMTP で認証を行なうときの POP ユーザ名です。 設定されていない場合は elmo-pop3-default-user が使われます。
wl-pop-before-smtp-server
POP-before-SMTP で認証を行なうときの POP サーバ名です。 設定されていない場合は elmo-pop3-default-server が使われます。
wl-pop-before-smtp-authenticate-type
POP-before-SMTP で認証を行なうときの POP 認証方式です。 設定されていない場合は elmo-pop3-default-authenticate-type が使われます。
wl-pop-before-smtp-port
POP-before-SMTP で認証を行なうときの POP ポート番号です。 設定されていない場合は elmo-pop3-default-port が使われます。
wl-pop-before-smtp-stream-type
Non-nil なら SSL を利用して POP コネクションを張ります。starttls なら STARTTLS (RFC2595)を利用してコネクションが張られます。設定されていな い場合は elmo-pop3-default-stream-type が使われます。

POP-before-SMTP 用の変数 (wl-pop-before-smtp-*)が設定されていない 場合は、POP フォルダの設定 (elmo-pop3-default-*) が用いられます。 そのため、SMTP サーバと POP サーバの実体が同じで、デフォルト設定の POP フォル ダ(`&' など)が利用可能なら、設定は不要です。

なお、POP-before-SMTP については以下を参照してください。

http://spam.ayamura.org/tools/smPbS.html
http://www.iecc.com/pop-before-smtp.html

キーバインド

C-c C-y
現在表示中のメッセージバッファの内容を引用します。 (wl-draft-yank-original)
C-c C-p
現在のドラフトの内容をプレビューします。 MIME のマルチパートメッセージの確認に使うと便利です。 (wl-draft-preview-message)
C-c C-s
現在のドラフトの内容を送信します。ドラフトバッファは消去しません。 複数の人に少しずつ内容を変えてメッセージを送りたい場合に便利です。 (wl-draft-send)
C-c C-c
現在のドラフトの内容を送信し、ドラフトバッファを消去します。 (wl-draft-send-and-exit)
C-x C-s
現在のドラフトをセーブします。 (wl-draft-save)
C-c C-k
現在のドラフトを破棄します。 セーブしていた場合、`+draft' フォルダからも削除されます。 (wl-draft-kill)
C-x k
現在のドラフトを破棄します。 (wl-draft-mimic-kill-buffer)
C-c C-z
現在のドラフトをセーブし、ドラフトバッファを消去します。 ドラフトの編集を中断したいときに便利です。 `+draft' フォルダに入って E (wl-summary-reedit を押せば、 編集を再開できます。 (wl-draft-save-and-exit)
C-c C-r
指定されたリージョンをシーザ暗号でエンコード/デコードします。 (wl-caesar-region)
C-l
現在のドラフトをハイライトしなおします。 (wl-draft-highlight-and-recenter)
M-t
Wanderlust のオフラインモード/オンラインモードをトグルします。 (wl-toggle-plugged)
C-c C-o
他のドラフトバッファがあれば移動します。 また、prefix argument をつけることにより、バッファが存在していない場合は、 ドラフトフォルダからファイルを(存在すれば)読み込みます。 (wl-jump-to-draft-buffer)
C-c C-e
wl-draft-config-alistを適用します。 (wl-draft-config-exec)
C-c C-j
テンプレートを選択します。 (wl-template-select)
C-c C-a
アドレスマネージャを起動します。 See section アドレスマネージャ. (wl-addrmgr)
C-c C-d
ポイントとマークの間の文を省きます (wl-draft-elide-region)。文章 は切られて (killed) 変数 wl-draft-elide-ellipsis の値で置き換えら れます。デフォルトの省略符号として使われる値は (`[...]') です。

カスタマイズ変数

wl-subscribed-mailing-list
初期設定は nil。参加しているメーリングリストのリスト。返事のドラ フトを用意するときに `Mail-Followup-To:'`Cc:' にこれらが含 まれるときは自分のアドレスを除きます。また、リファイル先を覚えるときにこ れらが `To:'`Cc:' に含まれるときには、そのアドレスでリファ イル先を覚えます。 設定例:
(setq wl-subscribed-mailing-list
      '("wl@lists.airs.net"
        "apel-ja@m17n.org"
        "emacs-mime-ja@m17n.org"))
wl-insert-mail-followup-to
初期設定は nil。Non-nil なら、`Mail-Followup-To:' フィールド をドラフトバッファに自動的に挿入します。
wl-insert-mail-reply-to
初期設定は nil。Non-nil なら、`Mail-Reply-To:' フィールドを ドラフトバッファに自動的に挿入します。
wl-auto-insert-x-face
初期設定は t。Non-nil でかつ、エンコードされた X-Face 文字列を `~/.xface' (変数 wl-x-face-file の値)の内容に用意しておくと、 ドラフトが準備されるときに自動的に `X-Face:' フィールドとして挿入さ れます。nil の場合は自動的には挿入されません。
wl-insert-message-id
初期設定は t。 Non-nil なら、送信時に `Message-ID:' フィールドを自動的に挿入します。
wl-local-domain
初期設定は nilnil ならば `Message-ID:' のドメインパー トは関数 system-name の返値が設定されます。 system-name が FQDN (`smtp.gohome.org' のようなホストのフル ネーム) を返さない場合は、この変数に 必ず ホスト名を除いたドメ イン名 (`gohome.org'など) を設定してください。 もし、グローバルな IP アドレスを持たない場合は、wl-message-id-domainを設定してください。 (`Message-ID:' のドメインがおかしいと、ネットニュースでふくろ叩きに あってしまう可能性があります。) また、この値が設定されている場合、system-name にこの値を付加した ホスト名が SMTP の HELO の引数として利用されます。
wl-message-id-domain
初期設定は nil。Non-nil なら、`Message-ID:' のドメインパート に使用されます。グローバルな IP アドレスを持たない場合など、ドメインパー トを決められない場合は、wl-message-id-domain に一意な文字列(例え ば、メールアドレスなど)を設定してください。
wl-draft-config-alist
初期設定は nil。 送信直前にドラフトメッセージを変更します。自動的に wl-draft-config-alist の内容が適用されるのは送信時に一度だけです。 もし,手動で適用する場合は,C-c C-e (wl-draft-config-exec) を使用してください。このコマンドは何度でも適用できます。
wl-template-alist
初期設定は nil。 ドラフトバッファで適用するテンプレートを設定します。
wl-draft-config-matchone
初期設定は nil。Non-nil なら wl-draft-config-alist の適用 時に最初にマッチした要素のみを適用します。nil ならマッチしたもの すべてを適用します。
wl-template-visible-select
初期設定は t。 Non-nil なら別ウィンドウに適用後の状態を表示しながらテンプレートを選択します。
wl-template-confirm
初期設定は nil。 Non-nil ならウィンドウを表示しながらテンプレートを選択する場合、リターン キーで選択する時に確認を行います。
wl-template-buffer-lines
初期設定は 7。 wl-template-visible-selectが non-nil の場合、 適用後の状態を表示するウィンドウの大きさを指定します。
wl-draft-reply-buffer-style
初期設定は splitsplitfull が指定できます。 full なら返事を書くときにフレーム全体を使ったドラフトバッファが 用意されます。
wl-draft-use-frame
初期設定は nil。 Non-nil ならドラフト用に新しいフレームを開きます。
wl-draft-truncate-lines
初期設定は default-truncate-lines の値が使われます。 Non-nil ならドラフトバッファで長い行の折り返しをしません。
wl-from
初期設定は変数 user-mail-address の値。 設定された値をドラフトの `From:' フィールドとして最初から挿入します。
wl-envelope-from
初期設定は nil。 設定された値を envelope from (MAIL FROM) に使用します。 nil なら wl-from のアドレス部分を使用します。
wl-user-mail-address-list
初期設定は nil。 ユーザのアドレスリストです。 アドレスを複数持っている場合は設定してください。
wl-fcc
初期設定は nil。 Non-nil なら、設定された値をドラフトの `Fcc:' として最初から挿入します。 関数が指定されている場合、関数の返り値(string) が挿入されます。
wl-bcc
初期設定は nil。 Non-nil なら、設定された値をドラフトの `Bcc:' として最初から挿入します。
wl-reply-subject-prefix
初期設定は `Re: '。 返信時のドラフトの `Subject:' で、元記事の `Subject:' の先頭に 付け加える文字列です。
wl-draft-reply-use-address-with-full-name
初期設定は t。 Non-nil なら返信アドレスの `To:', `Cc:' フィールドに相手のフル ネームを挿入します。nil ならアドレスだけを挿入します。
wl-draft-enable-queuing
初期設定は t。 オフライン送信するかどうかを示すフラグです。Non-nil ならオフライン送信します。
wl-draft-use-cache
初期設定は nil。送信するメッセージをキャッシュするかどうかを示すフ ラグです。Non-nil ならキャッシュします。ただし wl-insert-message-idが nil の場合はキャッシュされません。
wl-fcc-force-as-read
初期設定は nil。Non-nil なら `Fcc:' で保存したメッセージを 既読にします(保存先が IMAP folder の場合のみ)。
wl-auto-flush-queue
初期設定は t。 オンラインになったときに自動的にキューを送信するかどうかを示すフラグです。 Non-nil なら自動的に送信します (一応 y-or-n-p で確認します)。 手動でキューを送信するには、フォルダモードで F を押してください。
wl-ignored-forwarded-headers
初期設定は `\\(received\\|return-path\\|x-uidl\\)'。 転送時に削除するヘッダフィールド名を正規表現で指定します。
wl-ignored-resent-headers
初期設定は `\\(return-receipt\\|[bdf]cc\\)'。 再送時に削除するヘッダフィールド名を正規表現で指定します。
wl-draft-always-delete-myself
Non-nil なら、自分宛てのメールに返信する場合、常に `To:', `Cc:' から自分のメールアドレスを削除します。
wl-draft-delete-myself-from-bcc-fcc
Non-nil で、`To:', `Cc:' が 変数 wl-subscribed-mailing-list に 含まれている場合、`Bcc:' , `FCC:' をつけません.
wl-smtp-posting-server
初期設定は nil。 メール送信時の SMTP サーバ名です。
wl-smtp-posting-user
初期設定は nil。 SMTP AUTH による認証を行なうときのユーザ名です。 nil なら smtp-authenticate-user を使います。
wl-smtp-authenticate-type
初期設定は nil。 SMTP AUTH による認証を行なうときの認証方式です。 nil のままなら smtp-authenticate-typeを利用します。 smtp-authenticate-typenil なら認証を行いません。
wl-smtp-connection-type
初期設定は nil。 SMTP のコネクションをどのように張るかを指定します。 nil なら smtp-connection-type を利用します。 starttls なら STARTTLS (RFC2595)を利用してコネクションが張られます。
wl-nntp-posting-server
初期設定は nil。 ニュース投稿時の NNTP サーバ名です。 nil なら elmo-nntp-default-server を使います。
wl-nntp-posting-user
初期設定は nil。 ニュース投稿時に AUTHINFO による認証を行なうときのユーザ名です。 nil なら elmo-nntp-default-user を使います。 それでも nil なら AUTHINFO による認証を行ないません。
wl-nntp-posting-port
初期設定は nil。 ニュース投稿時の NNTP サーバのポート番号。 nil なら elmo-nntp-default-server を使います。
wl-nntp-posting-stream-type
初期設定は nilnil なら elmo-nntp-default-stream-type を評価します。 Non-nil ならニュース投稿時に SSL を利用します。 starttlsなら STARTTLS (RFC2595)を利用してコネクションが張られます。
wl-pop-before-smtp-user
初期設定は nil。 POP-before-SMTP で POP を行なうときのユーザ名です。 nil のままなら elmo-pop3-default-userを利用します。
wl-pop-before-smtp-server
初期設定は nil。 POP-before-SMTP で POP を行なうときのサーバ名です。 nil のままなら elmo-pop3-default-serverを利用します。
wl-pop-before-smtp-authenticate-type
初期設定は nil。 POP-before-SMTP で POP を行なうときの認証方式です。 nil のままなら elmo-pop3-default-authenticateを利用します。
wl-pop-before-smtp-port
初期設定は nil。 POP-before-SMTP で POP を行なうときのポート番号です。 nil のままなら elmo-pop3-default-portを利用します。
wl-pop-before-smtp-stream-type
初期設定は nil。 POP-before-SMTP で SSL を利用するかどうかを示すフラグです。nil の ままなら elmo-pop3-default-stream-typeを利用します。 starttlsなら STARTTLS (RFC2595)を利用してコネクションが張られます。
wl-draft-queue-save-variables
オフライン送信時にキューに格納されたメッセージについて保存しておく変数を リストで指定します。
wl-draft-sendlog
初期設定は tt なら `~/.elmo/sendlog' に送信ログを出力します。 ログを出力するタイミングは以下の通りです(失敗の場合も)。 ただし、`im-wl.el' による送信では、 `sendlog' には出力せずに @command{imput} のログ機能におまかせします。
wl-draft-sendlog-max-size
初期設定は 20000 (バイト)。 wl-draft-sendlogt の場合、保存したログの大きさが指定し た大きさ以上になれば、ログをローテーションします。
wl-use-ldap
初期設定は nil。 Non-nil なら LDAP を利用してアドレス補完します。
wl-ldap-server
初期設定は `localhost'。 アドレス補完に用いる LDAP サーバ名です。
wl-ldap-port
初期設定は nil. アドレス補完に用いる LDAP サーバのポート番号です。
wl-ldap-base
初期設定は `c=US'。 アドレス補完時の LDAP 検索の開始点(base)を指定します。
wl-draft-remove-group-list-contents
初期設定は t。 Non-nil ならメール送信の際に宛先から group-list の内容を削除します (group-list とは宛先に含まれる `Group: foo@gohome.org, bar@gohome.org;'のような記述を指します)。


Go to the first, previous, next, last section, table of contents.