POP3 + UIDL
Katsumi Yamaoka <[email protected]> Wed, 03 Oct 2012 18:51:39 +0900
| Newsgroups | gmane.emacs.gnus.semi.japanese |
|---|---|
| Organization | Emacsen advocacy group |
| Message-ID | <[email protected]> |
こんにちは山岡です。
必要に迫られて pop3.el に UIDL を使って POP サーバーに残すメール
を管理する機能を追加してみました。いろんなメーラーまたはいろんな
場所から同じサーバーをアクセスするのが主な目的です。
(当然ながらそんな目的には IMAP を使えって言われそうですが、仕事
場のサーバーはサポートしていないし、自分でサーバーを立ち上げる
気力も無いのです。メーラーを変えるたびに同じメールを何度も見る
不便は承知の上です。)
で、作ったのは以下のようなものなのですが、それはちょっと困るとか、
こうする方がいいんじゃないか、などのご意見をいただけますか?
・サーバーにメールを永久に残すか、または残す日数を指定できる。
→ 残す日数の管理はどれか一つのメーラーがやればいいし、それぞ
れが勝手な日数で消すようにしても問題は起きない。
→ 日数のカウントは最初に新着メールとしてチェックした時が基点。
・残す日数は mail-sources の :leave キーワードで指定。
→ 例: (pop :server "my.pop.server" :user "user-name" :leave 7)
・複数のサーバーの UIDL を単一のローカルファイルで一元管理。
→ デフォルトは ~/.pop3-uidl というファイル。
→ その中身は
(("Server1"
"UIDL1" (Time Stamp)
"UIDL2" (Time Stamp)
...)
("Server2"
"UIDL1" (Time Stamp)
"UIDL2" (Time Stamp)
...))
ここで (Time Stamp) は (current-time) の戻り値の上位 2桁。
実際のコードは現在ここ↓に置いてあります。
ftp://ftp.jpl.org/pub/tmp/pop3+uidl/
(または http://www.jpl.org/ftp/pub/tmp/pop3+uidl/)
なお T-gnus の pop3.el では「サーバーにメールを永久に残す」こと
だけサポートしていました。現在の Gnus の pop3.el にもそれはある
のですが、サーバーに残っているメールを何度でも取り込んでしまうの
で、まったく使いものになりません。T-gnus の pop3.el は XEmacs が
出処なのですが、UIDL まわりのコードを書いた人が不明なため著作権
にうるさい Emacs に取り込むことが今までできず、ようやく重い腰を
上げた次第です。
(ding にも簡単な紹介を書いたのですが、現在なぜか配送が止まってい
るようです。)