|
アルビレオです。
>アカウントの設定で、「サーバから削除」をOFFにしている場合、
>メールを選択して、「サーバから削除」といった操作を実行したいです。
>もしくは、昔のNetscape Messengerのように、受信BOXから移動or削除
>したらサーバから削除という機能が欲しいです。
リモートメールから目的のメールを探し出して削除するのは大変ですからね。
あったら便利そうですが、似たような要望で「受信済みのメールは残したままで、
選択したメールをサーバから削除したい」というのが出てくることは間違いない
と思います。
その他にもいろいろと細かい要望が出てくることも考えられます。
そこでマクロで対処する方法はないか考えてみました。
簡単に説明すると、振り分け設定ファイルを自動生成して目的のメールと同じ物
がサーバにあればそれを削除するようにします。
ただし制限事項がいくつかあります。
・Message-Idがないメールには対応できない。
メールサーバ上から選択したメールと同一のものを探し出すために
Message-Idを利用します。実用上は問題が出ることはまずないでしょう。
・削除用のアカウントを用意する必要がある。
同じアカウント上で一時的に振り分け設定ファイルを置き換えるという方法
もありますが、何かの理由でマクロが中断されると振り分け設定ファイルを
元に戻すのが大変です。
安全のためにメールサーバやパスワードなどの設定がまったく同じアカウン
トを別に用意する形の方がいいでしょう。
先に使い方を書いておくと、
1.サーバから削除したいメールを「削除用アカウント」の「受信」フォルダへ
移動する。
(受信済みのメールを残しておきたいなら「移動」ではなく「コピー」)
2.削除用アカウントへ移動する。
3.マクロを実行。
という流れになります。
私もこういう機能が欲しくなったので自分で作ろうと思っているのですが、
ちょっと時間がかかりそうなのでアイディアだけを書いておきます。
手早く作れるマクロ職人の方がいれば、さっさと作っていただいて構いません。
1.「受信」フォルダへ移動
2.新規メールを開く
(テキストファイルとして扱うためにメールヘッダを非表示に)
3.「受信」フォルダのメールからMessage-Idを取得
4.[2]で開いた新規メールへ移動
5.取得したMessage-Idに対する振り分け設定(受信しない&サーバから削除)
を作成
6.全てのメールに対して[3]-[5]を繰り返す。
7.対象外のメールに対する振り分け設定(受信しない)を作成。
8.削除用アカウントのfilter.txtとして保存。
9.受信を実行(振り分け設定によってサーバ上の対象メールが削除される)
10.「受信」フォルダ内のメールを全て削除
上の方法で何か問題があったり、もっとうまいやり方があれば指摘をお願いしま
す。
|
|