- エクスポートしたフィルタデータ(XML)を編集して、インポートする
- Gmail APIを利用してフィルタを管理する
- ツール側で管理したフィルタ設定を Gmailにインポート(追加)する
あたりが考えられます。
「1」の方法は、エクスポートした XMLファイルをテキストエディタなどで開いて、直接編集することもできます。構造さえ理解できれば、下手なツールをつかうより直接編集したほうが早いだろうと思います。
「2」の方法については、Managing Filters (Gmail API) にあるGoolge Developer ガイドを使って直接プログラミングをするか、何らかのツールをつかうことになると思います。そのツールは少し探した程度では見つけられませんでした。
「3」の方法については、 gmail-yaml-filters が便利かなと思います。
ということで管理といっても、「3」の部分的なものになりますが、その紹介をしてみたいと思います。なお gmail-yaml-filters は プログラミング言語 Python を使ったツールになります。そのため、そこも含めた紹介をします。
参考:GUI to manage Gmail filters? (Stackoverflow)
*環境:macOS 10.14.4
STEP 1. gmail-yaml-filters (GitHUB) を使えるようにする
1. Python3をインストールする
macOS 10.14 には、python 2.7 系が入っていますが、最近の主流は 3.x 系のため、そちらを使うことにします。
- https://www.python.org/downloads/ より macOS 用インストーラーをダウンロードしてインストール。
※ 2019年5月6日時点で、Python 3.7.3 が最新版です。 - ターミナルを起動して、
python3 -V
コマンドにて、3.7.3 と出てきたらインストール成功しています。
2. pip コマンドへのPATHを通す
pip は、 Python に付随(2.7.9以上、3.4以上)していますが、PATHが通っていません。
macOS であれば
/Library/Frameworks/Python.framework/Versions/3.7/bin
に対するPATHを設定する必要があります。
今回は pip コマンドしか使わないので、すでにPATHが通っているはずの /usr/local/bin へ pip のシンボリックリンクを置くことで代用します。
ターミナルより(以下、一行で書く)
- ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/pip /usr/local/bin/pip
とすると /usr/local/bin/php に本体「 /Library/Frameworks/Python.framework/Versions/3.7/bin/pip」のシンボリックリンクが作成されます。ので /usr/local/bin/ にPATHが通っていれば
- pip -V
pip 19.1 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)
のように pip コマンドが使えるはずです。
3. gmail-yaml-filters (GitHUB) をインストールする
ターミナルより
- pip install gmail-yaml-filters
STEP 2. gmail-yaml-filters 用の設定ファイルを作成する
gmail-yaml-filters の Sample Configuration を参考に作成してみてください。
ここでは my-filters.yaml ファイルに保存することにします。なおタブは使ったらエラーになるので注意。
例1)差出人が hogehoge@sample.com かつ 添付ファイルを含む場合、「Sample」ラベルを付与する
-
from: hogehoge@sample.com
match: "has:attachement"
label: Sample
label: Sample
-
from:
any: [-hogehogeA@sample.com,-hogehogeB@sample.com]
label: Sample2
例3)差出人が、hogehogeA@sample.com、 hogehogeB@sample.com以外の場合、「Sample3」ラベルを付与する。
-
from:
all: [-hogehogeA@sample.com,-hogehogeB@sample.com]
label: Sample3
*これについては次の書き方もできる
-
from:
any:
-hogehogeA@sample.com
-hogehogeB@sample.com
label: Sample3
あるいは
-
from: -hogehogeA@sample.com -hogehogeB@sample.com
label: Sample3
例1)2)3)をまとめると
my-filters.yaml の中身は次のようになります。
-
from: hogehoge@sample.com
match: "has:attachment"
label: Sample
-
from:
any: [-hogehogeA@sample.com,-hogehogeB@sample.com]
label: Sample2
-
from:
any:
-hogehogeA@sample.com
-hogehogeB@sample.com
label: Sample3
となります。
STEP 3. Gmailにインポートする
1. Gmailで利用可能な XMLファイルに変換します。
- gmail-yaml-filters my-filters.yaml > my-filters.xml
とします。これで
にあるようなXMLファイルがコマンドを実行した場所にできるはずです。
※今回の例の場合、/Users/ユーザー名/ 以下にあるはずです。つまりユーザーのホームディレクトリのところにあるはず。(Macintosh HD > ユーザー > ユーザー名)
2. 既存のフィルタをバックアップします。
念の為、かならずバックアップしておきましょう。
にあるように、Gmailのフィルタ設定で、フィルタをすべて選択して「エクスポート」ボタンを押します。
3. 変換した my-filters.xml をインポート(追加)
1. Gmailのフィルタ設定にある「フィルタをインポート」リンクをクリックします。
2. my-filters.xml を選択すると、下記のようにファイルが選択されます。「ファイルを開く」ボタンをクリックします。
3. すると my-filters.xml に設定したフィルタが出てきます。意図したフィルタになっていることを確認します。確認できたら「フィルタを作成」ボタンをクリックします。
4. 下記のようにフィルタが追加されていることを確認します。
すでにあるものは管理できませんが、このように比較的わかりやすい文法で新たに書き直すことで大量フィルタの管理しやすいかもしれませんね。
2019年5月6日 @kimipooh
0 件のコメント:
コメントを投稿