code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「label:」、「in:」、「is:」などの条件やスター(「has:yellow-star」など)では受信メールとは一致しないのでご注意ください。

Gmailでフィルタ作成時に『「label:」、「in:」、「is:」などの条件やスター(「has:yellow-star」など)では受信メールとは一致しないのでご注意ください。』というメッセージが出る。

Googleにしては珍しくMicrosoft並に意味が分からなかった。

とりあえず英語版にして同じメッセージを出してみたところ、

Filter searches containing "label:", "in:", "is:", or stars criteria (i.e. "has:yellow-star") are not recommended as they will never match incoming mail.

と出た。英語にしてもよく分からない。フォーラムを検索すると、同様に困ってる人がいらっしゃる。

要約すると"label:"とかの条件をフィルタに加えると一見うまくいってるように見えるが、フィルタの順番が正しくないとフィルタに引っかからない可能性がある、といった内容。しかもフィルタの順番は現在入れ替えることができず、既存のフィルタを編集すると一番下に移動してしまうから推奨できないよ。ってことらしい。

たとえば、

  • とあるメールにAというラベルをつけるフィルタ
  • AというラベルのあるメールにBというラベルをつけるフィルタ

というフィルタがあった場合、この順番で処理されればBというラベルのついたメールができあがるが、逆の

  • AというラベルのあるメールにBというラベルをつけるフィルタ
  • とあるメールにAというラベルをつけるフィルタ

という順番だと上のフィルタの時点では着信したメールはAというラベルがまだついていないので、従ってBというラベルもつかない。となる。

先ほどの英語メッセージを無理矢理訳すと『「label:」、「in:」、「is:」やスター(「has:yellow-star」など)条件を含むフィルタの検索は着信中のメールには決して適用されることがないので推奨しないよっ』ってことなんだろうけど、やっぱりもう一言足りない、というか誤解を与えかねないメッセージだと思う。

演算式についてはGmailの詳細検索に詳しくあるが、in:は受信トレイやゴミ箱などのいわゆる『Gmail内で所属するフォルダ』を指定し、is:はスター付や未読、既読など『そのメールのGmail内での状態』を指す。そしてlabel:も同様に『メールについたGmail内でのタグ』である。つまりこれら列挙された演算子は全てメールデータ外にあるGmail特有の情報を検索する演算子だ。

当然これらメールデータ外にあるGmail特有の情報は、着信した時点ではまっさらで、その後フィルタ達によって付け加えられていく。つまり、これらの演算子を使うとフィルタの順番によってはまだそのGmail特有の情報がついていないかもしれないよ、ということだ。

"They will never match"じゃなくて"They may not match"くらいの表現でよいんじゃなかろうか。Googleってあいまいな表現しないんだっけか・・・?

『まだひとつもフィルタを通していない、どこのフォルダに着地するのか(受信トレイに格納されるメールなのか、受信トレイをスキップするメールなのか)が判明してない状態である可能性があるメール』というのを指してincoming mail(受信メール)と言ってるんでしょう。

関連記事
タグ:Google Gmail
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。