見出し画像

【Google Apps Script活用法】受信メールをNotionに自動転記する方法


はじめに


こちらの記事を読んでくださった方から、こんな質問が届きました。

受信メールを、notionにタスクとして自動転記したいけれど、できますか?

といった内容でした。
この記事では、それに対する解決策を提供しています。

私の以前こちらで書いたコードは1日に1回受信するメールマガジンをnoteに出力することを想定していたため、連続して受信するメールを漏れなく、かつ重複せずに管理するための機能は考慮していませんでした。
この問題に対処するため、以下のような改善を行いました。

改善点の概要

・10分ごとのチェックと出力:

10分ごとなど定期的にスクリプトを実行し、その間に受信した全てのメールをスプレッドシートに出力します。メールが1件も受信されなかった場合は、出力を行いません。

・重複の防止:

以前に出力したメールが再度出力されないように、処理済みメールの追跡機能を導入します。スプレッドシートに新しい列を追加し、各メールのメールIDを記録することでこれを実現します。

・ソート機能:

スプレッドシートにデータを追加する前に、受信日時でデータをソートする機能を組み込みました。

・Notionへの重複出力防止:

既にNotionに出力したデータを再度出力しないようにするため、スプレッドシートにNotionへ送信済みのデータをマークする列を追加しました。これにより、既に送信されたデータをスキップするようにできます。

出力される情報について

スプレッドシートへの出力情報


スプレッドシートに以下の情報を出力する機能を実装しました:
・メールタイトル
・本文
・受信日
・メールID(重複を避けるため)
・送信者メールアドレス
・送信先メールアドレス
・Notionに送信済み(送信済みかどうかの確認用)

Notionへの出力内容


Notionへの出力では、
プロパティとして、
・メールタイトル (プロパティの種類:タイトル)
・受信日 (プロパティの種類:日付)
・送信者メールアドレス(プロパティの種類:テキスト)
・送信先メールアドレス(プロパティの種類:テキスト)

そして、本文はプロパティではなく、ブロックに出力されます。
長い文章も読みやすく表示するためです。

取得したいメールの指定方法

検索の具体例


出力したいメールを指定する方法として、以下の例を挙げます:


・自分(sample@sample.com)が test@sample.com というアドレスに送ったメールを出力したければ、

   const query = "to:test@sample.com OR from:sample@sample.com";


・特定のアドレスから送信され、かつタイトルに特定の単語(例えば、「報告」)を含むメールを検索したければ、

const query = "from:example@example.com subject:報告";


・星付きのメールを出力したければ、

const query = "is:starred";

参考になるサイト


この検索の仕方に関する詳細は、以下のリンクなどが参考になるかと思います。: 【GAS】http://GmailApp.searchでメールを検索・取得する

たくさんの検索条件がある場合は、GASで指定してもいいけれど、ラベルをつけて、それを取得するほうが簡単かもしれないですね!

 const query = "label:ラベル名";

実行制限への対処

また、メールの処理量があまりにも多いと、Google Apps Scriptの実行制限に達してしまう可能性も考えられます。例えば1分間隔での処理では、使用可能な無料枠を簡単に超えてしまう可能性があります。 実行制限に達した場合の対処法については、以前にも詳しく記載したことがあります。

こちらを読んでいただき、どのように対応するかのイメージを掴んでいただければと思います。

全スクリプトの公開


この自動化技術を活用することで、日々のメール管理が大幅に楽になり、作業効率が向上します。Notionを使ったタスク管理をさらに発展させたい方や、受信メールの自動整理に関心がある方にとって、この記事が有益なリソースとなることを願っています。

ご質問やさらなる改良に関するお問い合わせは、いつでもお気軽にどうぞ。この記事を通じて提供した情報や技術に関して不明点がある場合、または特定のニーズに合わせたカスタマイズが必要な場合、可能な範囲でサポートいたします。新しいアイデアや提案も大歓迎ですので、より効率的なメール管理やタスク自動化の方法に関してご意見があれば、共有してください。共に、より便利で快適なワークフローを構築していきましょう!

それでは以下にすべてのスクリプトを公開いたします。

ここから先は

5,932字 / 3画像

¥ 300

この記事が気に入ったらサポートをしてみませんか?