[Mew-dist 17309] Could config support a queuing switch?
Hiroyuki CHIBA
hiro at example.com
2001年 5月 9日 (水) 22:02:27 JST
千葉@日立といいます。
S/MIME等の mew1.95b* の新しい機能が使いたいと思っているのですが、ちょっ
と特殊な使い方をしているので、mew 1.94 を使いつづけているものです。
普段、モバイルPC(FreeBSD)に自分のメイルボックスを持ち歩いているので
すが、その時に接続しているネットワーク環境により、指定したSMTPサーバに
送信するか、ローカルにキューイングするかを自動的に切替えたいのです。
1.94 では、config 毎に queuing のon/offが指定できたので、ifconfig の結
果からconfig のラベルを返すperlスクリプトを作成し、
mew-draft-insert-config から呼び出すように書き換えて、config-new 変数
を再設定するようにしています。
# 具体的な変更内容は最後に示しますが、あんまりきれいなコードで無いので
# 突っ込まないでください。^^;
1.95b では、config で queuing を on/off するのではなく。C-cC-m により、
ユーザが明示的にキューイングを指定する様になっていると理解しています。
また、SMTPサーバに送信を試みて失敗した場合に、queue に落ちて、再編集が
可能になっているのだと思います。すなわち、
(1) 送信可能なSMTPサーバがあれば送ればよい。
(2) 別の理由でキューイングしたい場合には、ユーザが明示する。
(この理由は良くわからないですが、もしかして、キューを未送信のド
ラフトの管理場所として使うことが想定されていますか?)
が仮定されている様に思います。
これらに対して、私の事情は、以下の通りです。
(1) メールの配送経路を特定範囲にとどめたい場合がある。
すなわち、会社内でやりとりする社外秘扱いのメールは、社内ネットワー
クにあるMTAに直接届けたい。
(2) メール作成時(メール作成して、C-cC-cするまで)は、常に同じ操作で行
いたい。
うまく説明できないのですが、メール作成作業は基本的に発想する思考
活動なので、他のこと(今、どのネットワークにつながっているか)を忘
れて作業がしたいのです。
# ちなみに、私の職場では、他のメンバに割り込むときは、その人が何をして
# いるかを確認し、メールを作成している時はなるべく割り込まないように配
# 慮しています。割り込まれた後に元の作業に復帰するのに必要な時間が決定
# 的に変わります。:-)
# メールを読んでいる時やWebを見たりしている時は、割り込みチャンス。;-)
長くなりましたが、以下の点について、お聞きしたいと思います。
1. config で、送信時の queuing を指定する仕様の是非(実現可能性も)
2. draft 作成時に、config の値を設定する外部関数を登録できるhook
(既に現行の仕様でできるなら、私の理解不足です。ご指摘ください。)
よろしくお願いします。
#### 以下、参考まで ####
#### mew-draft-insert-config の変更部分 ####
--- mew-draft.el.orig.1.94.2 Mon Mar 13 09:51:25 2000
+++ mew-draft.el Mon Mar 13 10:00:02 2000
@@ -115,6 +115,9 @@
["FIB fill default" mew-fib-fill-default (not (mew-attach-p))]
["FIB delete frame" mew-fib-delete-frame (not (mew-attach-p))])))
+(defvar mew-guess-location-p nil
+ "Flag for guessing location when draft buffer is preserved.\n")
+
(if mew-draft-header-map
()
(setq mew-draft-header-map (make-sparse-keymap))
@@ -981,6 +984,10 @@
(config-new (if config-gus (mew-join "," config-gus))))
(if (and mew-ask-config (not (interactive-p)))
(setq config-new (mew-input-config config-new)))
+;
+ (if mew-guess-location-p
+ (setq config-new (mobile-get-location)))
+;
(if (and (interactive-p) (not config-new))
(setq config-new ""))
(if config-new
#### mew-draft-insert-config の変更部分 終り ####
#### ~/.emacs に記述している部分 ####
(setq mobile-get-command "~/bin/whereami")
(defun mobile-get-location ()
(save-excursion
(call-process (expand-file-name mobile-get-command)
()
(get-buffer-create "*Shell Command Output*"))
(set-buffer "*Shell Command Output*")
(end-of-buffer)
(previous-line 1)
(buffer-substring
(save-excursion (beginning-of-line) (point))
(save-excursion (end-of-line) (point))))
)
(setq mew-guess-location-p t)
#### ~/.emacs に記述している部分 終り####
----
千葉 寛之 : hiro at example.com clin at example.com
(株)日立製作所 ビジネスソリューション事業部
phone: 044-549-1713(Dial-in) fax: 044-549-1721
Mew-dist メーリングリストの案内