www.aatomu.work
Jump to Discord Server Jump to Twitter Jump to Github

Google App ScriptでGmailを簡単に管理する方法

Written by @SIGES_SSSplide,From Notion

Gmailには、簡単で便利なラベル機能が備えられており、使い方次第ではメールの分類、または要らなくなったメールの削除などの自動化を図る事ができます。

ラベルとは?

Gmailのラベルは、メールをカテゴリ分類するためのタグのようなものです。 メールにラベルを付けることで、特定のトピックやテーマに関連するメールをグループ化し、効率的に整理することができます。

ラベルの作成方法 PC版Gmailのwebページを開いて左側のメニューにある「ラベル」をクリックして表示されるラベル一覧から作成することができます。 ![gmail setumei1.jpg](/image/2023041401/gmail_setumei1.jpg) > メールを開いた状態で右上の「ラベル」アイコンをクリックして、新しいラベルを作成することもできます。 > > > ![gmail setumei2.jpg](/image/2023041401/gmail_setumei2.jpg) >

ラベルの付け方

メールを選択し、上部のメニューにある「ラベル」アイコンをクリックして、既存のラベルを選択するか、新しいラベルを作成して付けることができます。また、メールを開いた状態で右上の「ラベル」アイコンをクリックして、新しいラベルを作成して付けることもできます。

Fromには直接指定したいメールアドレスを入れたい場合、含む、含まないにはメールの内容に含まれる特定の文字列を含むか含まないかで振り分けたい場合に入力します。

その他細かい設定は説明を割愛します

gmail setumei3.jpg


「フィルタを作成」を押すと、下のような画面がでてきて、フィルタリングされるメールに対してどうしたいかを細かく設定できます。

上の赤丸の部分にチェックを入れ、付けたいラベルを選択または新たに作成することで、自動でラベルを付与し、下の赤丸にチェックを入れれば、過去の一致するスレッドにも同じくラベルが付与できます。

gmail setumei4.jpg

上級者向けラベルの付け方 ラベルを付けたいメール等を選択、または開いて、メールを検索の下のツールバー右端のその他から「メールの自動振り分け設定」を選択、フィルターを作成する手順で、ラベルを付 与にチェックを入れることによって送られてくるメールに対して自動的にラベルを貼ってく れるようになります。

ラベルの管理 ラベルはドラッグ&ドロップによって順番を変更したり、削除することができます。また、ラベルをネスト(階層化)することもできます。ラベルの名前を変更するには、ラベル一覧にある変更したいラベルの右端の縦の三点リーダーをクリックすると出るサブメニューにある「編集」から行うことができます。 また、「編集」では親ラベルを設定し、サブラベル化も同時に行うことができます。
ラベルの利用方法 ラベルを使うことで、受信トレイを整理し、特定のトピックやプロジェクトのメールを一括して表示することができます。また、ラベルを使って自動的にメールを分類したり、フィルタを設定したりすることもできます。

👉🏼 Gmailのラベル機能は、効率的なメールの整理やカテゴリ分類をサポートしています。自分のメールの管理スタイルに合わせて、ラベルを活用して効率的にメールを整理できます

App Scriptを使った自動化

Google App Scriptとは?

Google Apps Script(以下、GAS)は、Googleの各種サービス(Gmail、 Google Sheets、 Google Drive、 Google Calendar など)を自動化するためのスクリプト言語および開発環境です。GASは、JavaScriptをベースにしたスクリプト言語であり、Google Workspace (旧 G Suite) の各種サービスに対する操作を簡単に自動化することができます。

App ScriptでGmailの自動削除スクリプトの作り方

✅  Googleアカウントを持っていない人は、まずはGoogleアカウントを作ってください。

Google Apps Scriptのページへ飛び、Start Scriptingをクリックします。 ログインを求められるので、今回はGmailの自動削除スクリプトを実行させたいアカウントでログインしてください。

「新しいプロジェクト」で新たに ’無題のプロジェクト’ を作成すると、以下のような画面が出てきます gmail setumei5.jpg

🔷ここに自動削除についてのスクリプトを書き込み、実行することで自動化が可能になります。

実際に作った時の見た目です

gmail setumei6.jpg

⚠️「実行」をクリックすると実行されますが、このままでは一度きりしか実行されないため、「トリガー」を設定します

gmail setumei7.jpg

トリガータブを開き、右下の「トリガーを追加」で新たにトリガーを設定できます

gmail setumei8.jpg

✅ おすすめのトリガー設定は、”時間主導型”, ”日付ベースのタイマー”, ”午前0時~1時”です。 毎日日付が変わるあたりのタイミングで実行されるため、不具合が起きたときに対処の目安が付きやすいです。

実際の例

受信トレイ内の7日より前のスレッドで、ラベル:sample-labelがついたものをゴミ箱に移動する(スター付きは除く)

function inboxTrash() {
  var threads = GmailApp.search('in:inbox older:7d -is:starred label:sample-label');

  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToTrash();
  }
}

📌GmailApp.searchの検索演算子について

function inboxTrash(){
  var threads = GmailApp.search('in:inbox older:7d is:read label:test');
}

上のカッコ内に含まれる’in’や’older’などは検索演算子と呼ばれており、文字通りどの対象にスクリプトを実行するかを決める条件を設定するものになります。 以下によく使うようないくつかの例を載せます

説明 検索演算子 実際の例
指定したラベルのメールを検索 label:
例: ('label:work')
2020/4/5以降から2020/5/5までの受信ボックス内の未読メールを検索
('in:inbox after:2020/4/5 before:2020/5/5 is:unread')
重要マークがついたメールを検索 is:important
label:important
例: ('is:important')
7日より前の既読メールで、スターが付いていないラベル:unimportantが付いた受信ボックス内のメールを検索
('in:inbox older:7d is:read -is:starred label:unimportant')
スター付き、スヌーズ中、未読、既読のメールを検索 is:starred
is:snoozed
is:unread
is:read
例: ('is:read is:starred')
送信者「ドメイン」で件名が「通知」、内容に「お知らせ」を含む受信ボックス内のメールを検索
('in:inbox from:ドメイン subject:通知 お知らせ')
指定した期間に送信されたメールを検索します after:
before:
older:
newer:
例: after:2004/04/16
after:04/16/2004
before:2004/04/18
before:04/18/2004
ゴミ箱に入ったラベル:importantsが付いたメールを検索
('in:trash label:importants')

その他の検索演算子について詳しくはこちらから(Google helpページへ飛びます)