Thunderbirdでフィルターに正規表現が使えるプラグイン『FiltaQuilla』の自分用覚え書き(という名目の解説)

Thunderbirdでフィルターに正規表現が使えるプラグイン『FiltaQuilla』は
正規表現を使ってフィルターで複数条件にマッチする便利な記述が出来るのだけれど
[Subject Regex Match]の件名は直感的に使えるけれど、[Header Regex Match]のルールが不明という困ったちゃん。

まぁ調べれば件名や送信者とマッチさせかたぐらいは色んな人がブログなどに覚え書きしているので問題ない。
けれどそれ以外のものについては公式サイトにすら書かれていないようで…。

仕方がないので以下のワードを一つずつ総当たりで調べてリストアップしてみた。
Header Regex Matchで使えるのは以下のもの、ただしすべてが判明したわけではない。
“subject”, “sender”, “message-id”, “references”, “recipients”, “date”, “size”, “flags”, “priority”,
“label”, “statusOfset”, “ccList”, “bccList”,
“msgThreadId”, “threadFlags”, “threadId”, “threadSubject”, “msgCharSet”, “threadParent”,
“junkscore”, “junkpercent”, “junkscoreorigin”, “threadNewestMsgDate”,
“msgOffset”, “offlineMsgSize”
FiltaQuilla公式サイトより引用
http://quickfilters.mozdev.org/filtaquilla.html


オチを先に言っておくと『Header Regex Match』と書かれているけれど
参照しているのは各メールのヘッダーではなく、Thunderbirdのヘッダー情報などが納められている引数を調べている模様。

以下のサイトを見たらリストアップしてあった引数一覧が上のものと合致したのでほぼ間違いないと思われる。
Thunderbirdの要約ファイルやアドレス帳ファイルの内容を読む方法
https://www.clear-code.com/blog/2014/5/21.html


しかも一部を除いてぱっと見で分からない数値に置き換えて格納されているものもあるから…そりゃマッチしないわけだよ。
(´・ω・` )

以下がFiltaQuillaのHeader Regex Matchで使えるキーワード一覧と、その対応メールヘッダー
・subject
Subject
件名、Subject Regex Matchを使えば『subject:~~』と指定しなくて良いので楽。

・sender
From
送信者はSenderってヘッダーもあるけれどFromのみ参照

・message-id
Message-ID

・references
References
Message-IDをベースにした返信履歴(関連メール)の確定やスレッド表示使う

・recipients
To
いわゆる宛先

・date
Dateと思われるがマッチせず。
https://www.clear-code.com/blog/2014/5/21.html
上記サイトを見ると実際の格納値は"date": "53607898"なっており
ぱっと見でUnixtimeとも違うし…なんだこれ?
>2020/02/19 17:48:37
>Wed, 19 Feb 2020 08:48:37
故に上記のような一般的表記や、ヘッダーに記述されているような書式ではマッチしない。

・size
Content-Lengthだと思われるが未確定
Content-Dispositionのsize=ともマッチしない。
メール容量(ボディの実態サイズ)を示すらしいが一部のメールサーバー以外は付与しないらしい。
参考にしたサイトを見るに"size": "43c"とあるので、16進数で格納しているものと思われる。

・flags
不明
Content-Typeではない

・priority
X-Priority
送信優先度で3を通常として1(高)~5(低)で示す…のだが実際のヘッダーに記載されている数字と逆に
priority:6なら1が、5なら2が、4なら3が、3なら4が、2で5が、1でX-Priorityの項目のないメールがマッチする。
priority:[3-6]ならX-Priority:1~4までがマッチする…Thunderbirdはなんでこんな方法で格納しているんだ?
MS製品オリジナルのX-Msmail-Priorityは参照しなかった。

・label
不明
Thunderbird 1.5で廃止されている?

・statusOfset
不明
status Offsetなのか、status of setなのかアドオン作者も分からない様子、スペルミスではない模様。
参考サイトを見ても数値の意味は分からず。

・ccList
cc

・bccList
bcc
メール送信後にはBCCは消えるはずだが、ソフト側の仕様やバグでヘッダー内に情報が残る場合もある模様。
例としてはX-MS-Exchange-CrossPremises-BCCがあるがこちらは参照されず。

・msgThreadId
不明
Thread(スレッド)と書かれているヤツはおそらくメールをスレッド表示するために必要な
References関連の文字列を検索するためのものと思ったのだが、参考サイトでは352と短い数字だったから多分違う。

・threadFlags
不明

・threadId
不明

・threadSubject
不明

・msgCharSet
charset=
大小文字を区別する仕様なのでcharset=iso-2022-jpとcharset=ISO-2022-JPを同一視するなら
『/iso-2022-jp/i』と両端をスラッシュで囲ってiで大小文字を無視するよう正規表現で設定する。

・threadParent
不明

・junkscore
不明
0または100で評価するらしい。引数がなければ0なのかな?

・junkpercent
不明

・junkscoreorigin
不明

・threadNewestMsgDate
不明

・msgOffset
不明

・offlineMsgSize
不明
オフライン時(リモートコンテンツを含まない)メール本文容量と思われるが指定方法不明。
Content-Lengthともマッチせず。
参考にしたサイトを見るに"offlineMsgSize": "38d"とあるので、こちらも16進数で格納しているものと思われる。


・上のリストの使い方
例えばメールのFrom(送信者)ヘッダーにあるhogehoge123.comやhogehoge777.comなどの『hogehoge(任意の数字3桁).com』をHeader Regex Matchでマッチさせたいなら
上記の中のsenderを使って『sender:hogehoge¥d{3}¥.com.』というふうに指定する。
Header Regex Match.png


実際のヘッダーと格納数値がどう結びつくのかが非常に分かりづらく
今の知識量では対応表を作るのは難しそうなので、これで一旦終了とする。

マッチしない理由がはっきりしたので満足。
とりあえず迷惑メールや不要な広告メールを正規表現フィルターで振り分けできる程度に理解できたのでOKとする。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント