Gmail のフィルタをXMLで管理する

はじめに

長いので 蛇足 を参照

XML で簡単にインポート/エクスポートできるらしいのでやってみた

XML

Gmail からエクスポートするといろいろ付加されてしまうが、 実際のところこんなもんでもちゃんと読み込んでくれる

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <entry>
        <category term='filter'></category>
        <apps:property name='from' value='cardnews@mail.rakuten-card.co.jp'/>
        <apps:property name='label' value='楽天カードニュース'/>
    </entry>
</feed>

プロパティ

お好みの設定をしてください

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <title>Mail Filters</title>
    <updated>2016-01-22T06:29:34Z</updated>
    <entry>
        <category term='filter'></category>
        <title>Mail Filter</title>
        <updated>2016-01-22T06:29:34Z</updated>
        <content></content>
        <apps:property name='from' value='hoge@example.com'/>
        <apps:property name='to' value='fuga@example.com'/>
        <apps:property name='subject' value='にゃ'/>
        <apps:property name='hasTheWord' value='ん'/>
        <apps:property name='doesNotHaveTheWord' value='の'/>
        <apps:property name='hasAttachment' value='true'/>
        <apps:property name='excludeChats' value='true'/>
        <apps:property name='label' value='ラベル'/>
        <apps:property name='shouldMarkAsRead' value='true'/>
        <apps:property name='shouldStar' value='true'/>
        <apps:property name='shouldTrash' value='true'/>
        <apps:property name='shouldNeverSpam' value='true'/>
        <apps:property name='shouldNeverMarkAsImportant' value='true'/>
        <apps:property name='smartLabelToApply' value='^smartlabel_social'/>
        <apps:property name='size' value='10'/>
        <apps:property name='sizeOperator' value='s_sl'/>
        <apps:property name='sizeUnit' value='s_smb'/>
    </entry>
</feed>

検索条件

name value
from 送信メールアドレス
to 受信メールアドレス
subject タイトル
hasTheWord 含む
doesNotHaveTheWord 含まれない
hasAttachment 添付ファイルあり
excludeChats チャットは除外する
size サイズ(数字)
sizeOperator 次の値より大きい (s_sl) or 次の値より小さい (s_ss)
sizeUnit サイズの単位 B(s_sb), kB(s_skb), MB(s_smb)

フィルタリング条件

name value
label ラベルを付ける
shouldArchive 受信トレイをスキップ(アーカイブする)
shouldMarkAsRead 既読にする
forwardTo 転送する
shouldStar スターを付ける
shouldTrash 削除する
shouldNeverSpam 迷惑メールにしない
shouldAlwaysMarkAsImportant 常に重要マークを付ける
shouldNeverMarkAsImportant 重要マークを付けない
smartLabelToApply 適用するカテゴリ

適用するカテゴリ

カテゴリ value
個人 ^smartlabel_personal
ソーシャル ^smartlabel_social
プロモーション ^smartlabel_promo
フォーラム ^smartlabel_group
新着 ^smartlabel_notification

これはググってきたのでちゃんと確かめてません失敬

インポート

  • 設定 から フィルタとブロック中のアドレス を選択し、下部にある フィルタをインポート をクリック
  • 作成した XML を選択 ファイルを開く をクリック
  • 後は必要なフィルタを選択して フィルタを作成 をクリック

f:id:tanjoin:20160126200220p:plain

さいごに

いろんなサイトのいろんなメールアドレスにラベル付けして もっと管理のし易いようにしたいなぁと思う

自分の環境でできた楽天だけの分は こちら もっと他にもたくさんあるだろうし、いろいろやりたい所存である

蛇足

※注意:以下、楽天の悪口を言うつもりはありません。ただメールが多くて管理が大変ということの代表的例として紹介させていただきます。

Rポイントができた頃に「やった!期間限定ポイントがサークルKで使えるぞ!楽天やるやんけ!」 という安易な理由で作成した楽天アカウント いろいろポイントを貰っていたのだが、徐々に楽天のメールを毒牙にかかっていることに気付いたのは最近のことだ

コレを見て欲しい

f:id:tanjoin:20160126200212p:plain

「な、なんじゃこりゃーー!!」

ただの素人でもこう叫んでしまうだろう ああ、叫んだのだ

ちなみにこの中には、HTCのデバイスを利用すると最初の 2 GB に加えて 23 GB の無料容量を 2 年間ご利用いただけるキャンペーン の期限が切れる内容の Dropbox のメールがあるのだ

当時、8.3GB くらい利用していたので重要な内容だった 危険察知能力がなければ死んでいた

で、まぁ停止するのもめんどくさいのでフィルタをかけて一括削除するとかもアリかなと思ったが、楽天 Edy の受け取り通知やクリックで1円分の楽天 Edy が貰えるメール、楽天銀行楽天カード等の金融系のメール等々、あまり削除しないほうがいいようなメールも少なからずある

そこで、Gmail のフィルターを利用しているものといらないものとを仕分けた コレが結構時間がかかる

で、見つけたのが Gmail のフィルターのインポート/エクスポート

(記事の先頭へ続く)

Qiita に書いた記事