Thunderbirdで自動既読にする技

仕事をしていると「まったく必要ないんだけれど色々なシガラミで受信しなければならないメール」というものがたまにあります。

そういう邪魔なメールを Thunderbird-17.0.6 のメッセージフィルタで上手いこと自動で既読にする方法です。

はじめに

自動既読する条件は次のどちらかです。

  • 特定のメーリングリスト宛て(仮に list@example.jp とします)
  • 特定の件名で始まる(仮に【テスト】とします)

この条件に当てはまるメールは自動で既読にするとともに所定のフォルダに移動します(仮に ほげフォルダ とします)。 ただし、下記のいずれかに当てはまるなら既読にはしません、自分宛てだからです。

  • To や Cc に自分のメールアドレスが含まれている(仮に hoge@example.jp とします)
  • 本文に自分の名前が含まれている(仮に「太郎」とします)、ただし、差出人が自分のメールは除く

整理すると次のような感じです。

if (To や Cc に "list@example.jp" を含む) or (件名が "【テスト】" で始まる)
{
  if !( (To や Cc に "hoge@example.jp" を含む) or ( (本文に "太郎" を含む) and (From が "hoge@example.jp" と異なる) ) )
  {
    メールを既読にする
  }
  
  メールを ほげフォルダ に移動する
}

メッセージフィルタの設定

次のように設定します。

フィルタ名: To:自分
  タイミング
    メールチェック時
  条件
    すべての条件に一致
      宛先または Cc に次を含む「`hoge@example.jp`」
  動作
    メッセージにタグを付ける「To自分」

フィルタ名: Body:自分
  タイミング
    メールチェック時
  条件
    すべての条件に一致
      差出人 が次と異なる「`hoge@example.jp`」
      本文 に次を含む「太郎」
  動作
    メッセージにタグを付ける「To自分」

フィルタ名: To:list@example.jp
  タイミング
    メールチェック時
  条件
    すべての条件に一致
      宛先または Cc に次を含む「`list@example.jp`」
  動作
    メッセージにタグを付ける「自動既読」
    メッセージを移動する「ほげフォルダ」

フィルタ名: Subject:【テスト】
  タイミング
    メールチェック時
  条件
    すべての条件に一致
      件名 に次を含む「【テスト】」
  動作
    メッセージにタグを付ける「自動既読」
    メッセージを移動する「ほげフォルダ」

フィルタ名: 自動既読
  タイミング
    メールチェック時(迷惑メール分類後)
  条件
    すべての条件に一致
      タグ に次を含む「自動既読」
      タグ に次を含まない「To自分」
  動作
    メッセージを既読にする

ざっくり解説すると・・・

  • 自分宛てのメールには「To自分」タグを付ける
  • 自動既読させたいリストや件名のメールには「自動既読」タグを付けて所定のフォルダに移動する
  • 最後に、「自動既読」が付いていて「To自分」が付いていないメールを既読にする

ポイントは「自動既読」フィルタのタイミングを「メールチェック時(迷惑メール分類後)」にすることです。

フィルタの動作で「メッセージを移動する」をするとそこでフィルタが止まるようで、その後のタグを条件にしたフィルタ「自動既読」にマッチしなくなります。

が、タイミングを「メールチェック時(迷惑メール分類後)」にしておくと、メッセージの移動後でも条件にマッチさせられます。

さいごに

Thunderbird のメッセージフィルタがカオスってきたのでどうにかしたい。