[mew-dist 22921] Re: 取り込めないメール
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2003年 1月 20日 (月) 17:22:58 JST
From: Koga Youichirou <y-koga at example.com>
Subject: [mew-dist 22915] Re: 取り込めないメール
> 前に調べたときの情報が見つけられないでいるのですが、問題発生時には
> クライアント側から FIN を送って、その後 RST を送っていたと思います。
想像するに、
(1) クライアント側が close() か shutdown() するので、POP サーバへ FIN
が飛ぶ。
(2) その間に POP サーバが、メールの続きを送って来る。クライアント側は、
当然 RST を返す。
という状況ではないかと推測します。
それで、問題を起こすとしたら、process-send-string() しかないように思い
ます。
(a) POP サーバが送ってきたメールにより、Emacs の coding-system 周りが
狂う。
(b) (よくわからないけど) process-send-string() が呼ばれる。
(c) 下位関数の send_process は、(Emacs が狂っているので)文字列の計算に
失敗しており、いつまでたってもすべての文字を送れないと誤認する。そ
こで、send_process_end() が呼ばれて、コネクションが close() してし
まう。
かなぁ。
process-send-string() が問題で、process-send-region() がこの問題に強い
のであれば、
(defun mew-pop-process-send-string (pro &rest args)
(with-temp-buffer
;; (mew-set-buffer-multibyte nil)
(insert (apply 'format args))
(insert mew-cs-eol)
(process-send-region (point-min) (point-max))))
とすれば OK かもしれません。
(i) 問題が起ったら、上の関数を *scratch* バッファなどで評価し、メール
が取り込めるか試して下さい。
(ii) それでもダメなら、コメントを外して再度評価し、メールが取り込める
か試して下さい。
--かず
Mew-dist メーリングリストの案内