[mew-dist 21188] question about smtp/pop and auto hangup at dialup connection

Toshio Hirai thirai at example.com
2002年 7月 15日 (月) 15:58:09 JST


平井と申します.初めて質問します.稚拙な内容であればご容赦下さい.

windows 上でダイアルアップを使ってメイルを mew+RasCon+DialKeeper でや
りとりしています.mew のデフォルトの送受信順序 (受→送) を逆 (送→受) 
にし,送受信終了後,自動切断したいので,hook を使ってややこしいことを
しています:

;
; Toshio Hirai (c)
;
(defun send-and-receive-mail ()
  (interactive)
  ; 'i': 受信 (+送信 mew-auto-flush-queue==t)
  ;     mew-summary-retrieve
  ; 'C-cC-c': 送信
  ;     mew-summary-send-message
  (let ()
    (mew)
    (rascon-get-entry)
    (rascon-dialup) ; ダイアルアップ
    (setq temp-hook-smtp mew-smtp-flush-hook) ; 設定の一時保存
    (setq mew-smtp-flush-hook ; smtp 終了時用 hook
	  (function
           (lambda ()
             (message "... mails are sent.")
             (setq temp-auto-flush mew-auto-flush-queue) ; 設定の一時保存
             (setq mew-auto-flush-queue nil)
             (setq temp-hook-pop mew-pop-sentinel-hook) ; 設定の一時保存
             (setq mew-pop-sentinel-hook ; pop 終了時用 hook
                   (function
                    (lambda ()
                      (message "... mails are received.")
                      (rascon-hangup) ; 通信切断
                      ; 設定を元に戻す
                      (setq mew-pop-sentinel-hook
                            temp-hook-pop)
                      (setq mew-smtp-flush-hook
                            temp-hook-smtp)
                      (setq mew-auto-flush-queue
                            temp-auto-flush)
                      )))
             ; サーバによる送信メイルの処理時間のためのタイムラグ 5 秒
             ; (マジックナンバー)
             (sleep-for 5)
             ; 受信のみ (送信もやると,また smtp 終了時の hook が評価
             ; されてしまう (?))
             (mew-summary-retrieve)
             ; 受信後 mew-pop-sentinel-hook が実行される
             )))
    ; 送信
    (mew-summary-send-message)
    ; 送信後 mew-smtp-flush-hook が実行される
))

もっと美しく,送受信の逆順,自動切断を実現できないでしょうか? (同期タ
イプの送受信個々の処理ができれば良いのですが,あいにく見つけることが出
来ませんでした.)

Toshio



Mew-dist メーリングリストの案内