GmailをGASで定期的に巡回し、特定のキーワードを検索・抽出

こんにちは、GASおじさんです!今日は中小企業の経営者さんやフリーランスの方々に、とっておきの節約術をお話ししようと思います。メール管理、皆さんどうしてますか?日々届く山のようなメールの中から、重要な情報を逃さずにキャッチするのって結構大変ですよね。
おじさんもかつては、Gmailを開いては目を皿のようにして探していたものです。でも、GAS(Google Apps Script)を使えば、そんな煩わしさもなく、しかも無料で必要な情報を効率的に集めることができちゃいます。今回はその方法を具体的なコードも交えてご紹介します。
Gmailを自動巡回するGASのメリット
GASを使えば、Gmailを定期的に巡回して特定のキーワードを含むメールを自動で見つけ出すことができます。例えば、「契約更新」や「重要なお知らせ」といったキーワードが含まれるメールをピックアップするのに最適です。
この方法、実際にはGmailのフィルタ機能と似ているのですが、GASを使えばより高度なアクションを自動化できます。例えば、キーワードを含むメールの内容をスプレッドシートに出力し、チームメンバーと共有したり、特定の処理を施すことができます。これで節約できる時間の価値は大きいです。時給5000円と仮定しても、月10時間節約できれば、驚きの年間60万円のコストカットにもなりますね。
実際のコード例
では、実際にGASを使ってどのようにこの処理を行うか、そのコードをお見せしましょう。以下がそのサンプルです。
function searchEmails() {
const threads = GmailApp.search('subject:契約更新', 0, 50);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
threads.forEach((thread, index) => {
const messages = thread.getMessages();
messages.forEach(message => {
const subject = message.getSubject();
const body = message.getPlainBody();
sheet.appendRow([subject, body]);
});
});
}
このコードでは、「契約更新」というキーワードが件名に含まれるメールを検索し、その本文をスプレッドシートに出力しています。GmailApp.searchメソッドでキーワード検索を行い、GmailApp.getMessagesでメールの詳細を取得、SpreadsheetApp.appendRowでスプレッドシートに書き込んでいます。至ってシンプルですが、実用的です。
定期実行の設定
さらに、このスクリプトをGASのトリガー機能を使って定期的に実行するように設定することで、メールの巡回を完全に自動化することができます。設定方法はとても簡単。GASエディタの上部メニューから「時計」アイコンを選び、実行する時間間隔を指定するだけです。時間単位、日単位、週単位、自由に設定できるので、業務スタイルに合わせて調整してみてください。
まとめ
Gmailの自動巡回システムをGASで作成することで、重要なメールを見逃すことなく、しかも無料で効率化を図ることができます。これにより、時間の無駄をなくして、本業に集中できるのです。節約できた時間とお金をもっとクリエイティブな活動に充てましょう。
それにしてもGASは便利ですねえ。シンプルなコードでここまでできるんですから。以上、GASおじさんからの贈るメール自動化の術、ぜひ試してみてくださいね。
最後にお知らせ。GASおじラボでは、500以上のツールが使い放題のメンバーシップを提供しています。興味のある方はぜひこちらから → GASおじラボで500ツール使い放題 →