このドキュメントでは、Gmail API でフィルタを使用する方法について説明します。
settings.filters リソースを使用して、アカウントの高度なフィルタリング ルールを構成できます。フィルタを使用すると、受信メールの属性や内容に基づいて、ラベルを自動的に追加または削除したり、確認済みのエイリアスにメールを転送したりできます。
Gmail フィルタの作成、一覧表示、取得、削除の方法については、settings.filters リソースをご覧ください。
一致基準
送信者、件名、日付、サイズ、メッセージの内容などのプロパティでメッセージをフィルタします。フィルタは、メール スレッド全体ではなく、特定のメッセージにのみ適用されます。Gmail の高度な検索構文を使用するクエリは、フィルタでも使用できます。たとえば、一般的なフィルタ パターンには次のようなものがあります。
| フィルタ | 一致 |
|---|---|
criteria.from='sender@example.com' |
sender@example.com からのメール |
criteria.size=10485760criteria.sizeComparison='larger' |
サイズが 10 MB を超えるメール |
criteria.hasAttachment=true |
添付ファイル付きのメール |
criteria.subject='[People with Pets]' |
件名に [People with Pets] が含まれるメール |
criteria.query='"my important project"' |
my important project を含むメール |
criteria.negatedQuery='"secret knock"' |
secret knock を含まないメール |
フィルタに複数の条件がある場合、フィルタが適用されるには、メッセージがすべての条件を満たしている必要があります。
操作
フィルタ条件に一致するメッセージに Action を適用します。Action を使用すると、確認済みのメールアドレスにメッセージを転送したり、ラベルを追加または削除したりできます。
ラベルを追加または削除して、メールの処理を変更します。たとえば、一般的なアクションには次のようなものがあります。
| アクション | 効果 |
|---|---|
action.removeLabelIds=['INBOX'] |
メールをアーカイブする(受信トレイをスキップする) |
action.removeLabelIds=['UNREAD'] |
既読にする |
action.removeLabelIds=['SPAM'] |
スパムとしてマークしない |
action.removeLabelIds=['IMPORTANT'] |
重要マークを付けない |
action.addLabelIds=['IMPORTANT'] |
重要マークを付ける |
action.addLabelIds=['TRASH'] |
メールを削除する |
action.addLabelIds=['STARRED'] |
スター付きとしてマークする |
action.addLabelIds=['<user label id>'] |
ユーザー定義のラベルでメールにタグを付けます。フィルタごとに使用できるユーザー定義ラベルは 1 つのみです。 |
コードサンプル
次のコードサンプルは、メーリング リストのメッセージにラベルを付けてアーカイブする方法を示しています。