Google Apps Scriptで簡単!メールを自動振り分けする方法
メールが毎日たくさん来て整理するのが大変…。GASで自動で振り分けられたらいいのになあ…。

猫男

catman
よし、catmanが「GASでメールを自動振り分けする方法」を教えてやろう!
GASでメールを自動振り分けする方法
GAS(Google Apps Script)を使えば、簡単にメールを特定の条件で自動振り分けできるようになる。まずは基本を押さえよう。
GmailAppを使ってメールを操作
GASでは、GmailAppクラスを使ってGmailを操作できる。メールを取得したり、ラベルを追加したりすることが可能だ。
function getEmails() {
var threads = GmailApp.search('label:unread');
Logger.log(threads.length + " unread emails found.");
}
GmailApp.search()を使用して、未読メールを取得するサンプルだ。
ラベルを追加してメールを整理
ラベルを使ってメールを分けることができる。以下のサンプルでGASを応用してラベルの追加が実現できる。
function labelEmails() {
var threads = GmailApp.search('label:unread');
var label = GmailApp.createLabel('Unseen Emails');
for (var i = 0; i < threads.length; i++) {
threads[i].addLabel(label);
}
}
このスクリプトは未読メールすべてに ‘Unseen Emails’ というラベルを追加する。
GmailApp.search(‘label:unread’) で Gmail上のすべての未読メールを対象として検索し、GmailApp.createLabel(‘Unseen Emails’)でラベル付けしているな。
これなら、メールがきたらすぐにラベルでまとめられて便利だね!

猫男
GASでメール自動振り分け練習問題
以下の条件でメールを自動振り分けするGASを考えてみよう。
【問題】送信者が ‘team@example.com’ であるメールに ‘Team Emails’ というラベルを追加するスクリプトを書いてみよう。
練習問題の解答・解説
function categorizeTeamEmails() {
var threads = GmailApp.search('from:team@example.com');
var label = GmailApp.createLabel('Team Emails');
for (var i = 0; i < threads.length; i++) {
threads[i].addLabel(label);
}
}
GmailApp.search(‘from:team@example.com’)で特定の送信者からのメールスレッドを取得する。
GmailApp.createLabel(‘Team Emails’)で新しいラベルを作成して追加する。
for文で取得したメールスレッドに対して順次ラベルを付けていく。
これで僕のメールもバッチリ整理できそう!ありがとう、catman!

猫男

catman
頑張れよ。GASで利用可能なメソッドと一緒に、メールの処理スキルもどんどん広げていこう!