がらくたネット


moved:desknet

#pginfo(1 FnHjkeSbgbw admin 3 none none 3 all all 1 FnHjkeSbgbw admin 1 ) Desknet'sでのメール削除

まずは、Desknetが動作しているサーバにtelnetする。 そして、Desknetプログラムデータディレクトリまで移動する。 通常は、WebRoot/cgi-bin/dnet/data/userである

$ cd /usr/local/apache/cgi-bin/dnet/data/user

この配下にある数字だけのディレクトリが各登録ユーザデータディレクトリとなっている。 この中で自分のディレクトリを探して、そのディレクトリに入りmailディレクトリに入る。 数字ディレクトリ直下のinfo(拡張子なし)ファイルにそのディレクトリの 所有者となっているユーザ名が記述されている。

$ cat */info | more

object number Name=漢字名 UserID=ログインID

$ cd number/mail

これで、mailディレクトリに入れた。 このディレクトリ構造は次のようになっている。

index フォルダアイテムIDを記憶 setting メールオプションを記憶 count 不明 1 受信トレイ 2 送信トレイ 3 削除トレイ 4以降 自分で作成したフォルダ account アカウント情報を記憶 filter 振り分けルールを記憶 sign 署名を記憶

この中の削除したいフォルダに降りる このディレクトリ内のファイルがメールの本文である。

info ディレクトリの概要を示す index オブジェクトIDを指し示す UIDL.log メッセージファイルとその受信ステータスを記録 数字のディレクトリ 一つのメッセージのステータスを記録 数字のファイル メール本文 link メッセージ本文を指し示すファイルがある

まーこの辺は見ながらやったら何のファイルに どういうものが記述されていてどう使われているのか 分かるでしょう。

メールを全て削除するにはファイルに対する権限が必要ですが 通常はWebサーバを動かしているユーザの権限がついているから 無理ですね。rootを知らない限り…

で、削除。 数字のディレクトリと数字のファイルを消す! indexファイルの中の_item=を消す、そして_lastid=を0にする UIDL.logの中身を消す。 infoの中のcount=を0に、size=を0に、closemail=を0にする。 linkの中身を消す。

晴れて受信トレイからはメールが消えた!

なぜ消すかと言うと、溜まりに溜まった受信トレイを 開けるとすっごい遅い… 当たり前といやぁ〜それで終わり。