本ブログの更新は停止しています。更新は新しいサイトの Travellers Tales で行なっています。

Mail.app で送信済みメールにルールを適用する


Mail.app のルールは、受信するメールにしか適用されません。しかし、送信メールにもルールを適用して、メールを整理したいことは多いと思います。

実は自動でなければ、送信済みメッセージにもルールを適用する方法はあります。Mail.app の「メッセージ」メニューに「ルールを適用」という項目があります。これを選ぶと、そのとき選択しているメッセージに対してルールを適用してくれます。

ということは、送信済みメールボックスの中のメッセージをすべて選択して、「ルールを適用」すればいいのですが、これを毎回やるのは面倒くさいので、とりあえず AppleScript を使って、一連の動作を1回でできるようにしたのが "ApplyRules.scpt" です。

GUI Scripting を使っていますので、「システム環境設定」の「ユニバーサルアクセス」において「補助装置にアクセスできるようにする」をオンにしておく必要があります。

また、標準のキーボードショートカットを前提にしているので、キーボードショートカットをカスタマイズしている場合は動きません。

やっていることは以下の一連の動作です。これに含まれるキーボードショートカットをカスタマイズしていなければ問題ありません。
  1. メールボックス > 移動 > 送信済み (command + 4)
  2. 編集 > すべてを選択 (command + A)
  3. メッセージ > ルールを適用 (command + L)

送信済みメッセージ用のルールの設定には、ちょっと注意が必要です。下手に設定すると、普通にメールを受信したときにも適用されてしまうからです。

以下の画像は、メーリングリスト (Yahoo! Groups) 宛に送ったメールをゴミ箱に移動するルールの設定例です。メーリングリスト宛に送ったメールは自分にも配信されてくるため、送信済みのメッセージは重複してしまい無駄です。



ここで、条件を
To yahoogroups.jp で終わる

だけにしてしまうと、受信するメッセージもゴミ箱に移動してしまいます。そこで、
Received from を含まない

という条件を追加しています。「以下のすべての条件に一致した場合」に変更しておくのを忘れないで下さい。

Received は標準ではルールの条件に含まれていないので「ヘッダリストを編集…」で、Received を追加する必要があります。送信済みメールボックスにあるメールには、この Received は付いていないので、それによって受信メールと送信メールを区別しています。Received を使わなくても他の指定のしかたも工夫次第でできます。

上の設定例では、実際にルールが適用されたメッセージを区別するために、ゴミ箱に移動するだけでなく、メッセージに色を付けるように設定しています。

なお、スクリプトを実行してもうまくルールが働かない場合は、お使いのマシンの実行速度のために、スクリプトの実行のタイミングが合っていない可能性があります。その場合は、スクリプトを開いて、冒頭に書いてある
property sec : 3

の 3 を少し増やしてみて下さい。単位は秒です。

ここで配布している "ApplyRules.scpt" はスクリプトメニューにインストールされるようになっていますが、いちいちスクリプトメニューから実行するのは面倒だという方もいるでしょう。

その場合は、Butler はものすごく便利!に書いたように、スクリプトにショートカットを割り当てるのも手です。

また、常に Mail.app を起動しているなら、1日1回とかの頻度でスクリプトを自動的に実行する方法もあります。"AppleRules.scpt" をアプリケーション形式で保存し直して、cron で実行させます。cron の設定ファイルを直接いじるのは未経験の人にはちょっと難しいかもしれませんから、CronniX のような cron 設定ユーティリティを使うとよいでしょう。

Posted: 木 - 2月 2, 2006 at 01:58 AM               Hatena Bookmark



©