[Mew-dist 410] Re: switch From: from To:
樋口雅文 [Masafumi Higuchi]
higuchi at example.com
1997年 1月 14日 (火) 10:40:34 JST
樋口@NTT ソフト研です。
>>>>> "yoshi" == (yoshi at example.com (Y.Yoshinaga)) さん曰く:
yoshi> 便乗になりますが、僕もFromを使いわけたいと思っています。
yoshi> メールを書くときにToによってFromを自動的に付けかえるようにするに
yoshi> はどうしたらいいんでしょうか?
私はこんなの書いて使ってます。私もlispに詳しいわけじゃないので、きれい
なコードではないかもしれませんが...
(defun mew-select-from ()
(catch 'tag
(let ((r mew-from-variation-alist) cell b f)
(while r
(setq cell (car r))
(setq b (car cell))
(if (setq f (rfc822/get-field-body (car b)))
(cond ((listp (cdr b))
(let ((r (cdr b)))
(while r
(if (string-match (car r) f)
(throw 'tag (cdr cell))
)
(setq r (cdr r))
))
)
((stringp (cdr b))
(if (string-match (cdr b) f)
(throw 'tag (cdr cell))
))
))
(setq r (cdr r))
))
mew-from))
(setq mew-from-variation-alist
'(
(("To" . ("\\.com" "\\.net")) . "Masafumi Higuchi <higuchi>")
(("To" . ("\\.jp")) . "樋口 雅文[Masafumi Higuchi] <higuchi at example.com>")
(("To" . (".")) . "Masafumi Higuchi <higuchi at example.com>")
))
そのうえで、mew-make-mimeを以下のように書き換えるとToによってFromを使
い分けられます。
(defun mew-draft-make-mime ()
(interactive)
(if (mew-header-get-value mew-ct:)
(progn
(ding)
(message "%s already exists!" mew-ct:)
)
(if (mew-attach-p)
(mew-draft-make-multi)
(mew-draft-make-single))
(goto-char (point-min))
(sit-for 0)
(re-search-forward "^-*$")
(beginning-of-line)
(setq mew-draft-buffer-header (point-marker)) ;; just in case
;; by M. Higuchi
(if (null (mew-header-get-value "From:"))
(and mew-from-variation-alist (mew-header-insert-here "From:" (mew-select-from)))
(ding)
(message "From: already exists!")
)
))
%%%% 樋口 雅文 E-mail: higuchi at example.com %%%%
%%%% NTT Software Laboratories %%%%
%%%% Phone:+81-422-59-2908 FAX:+81-422-59-2699 %%%%
Mew-dist メーリングリストの案内