Google Apps Scriptでメールの下書き作成を自動化してみた

はじめに

かなりニッチな事例ですが、Google Apps Script(GAS)でメールの下書き作成を自動化してみたのでご紹介したいと思います。

まず背景として、弊社では終業時にメールにて進捗報告を行うというルールがあります。

メールの体裁は概ね下記のような感じです。

  • 件名は「進捗報告(月/日)」。
  • 本文にその日の作業や進捗状況を記載する。

メールはGmailを使用しているので、GASで下記の作業を自動化したいと考えました。

  • 下書きを新規作成する作業
  • 件名(日付含む)を入力する作業
  • 本文の初期値として前回の内容を設定する作業
    筆者の場合、毎回記載するタスクがあり、前回の内容をベースに編集する方が都合がよいため。

毎朝下書きが自動作成されるようにしておき、終業時に当日分の内容を記載して送信するという運用を想定しています。

プロジェクト作成

まず、GASのページで新しいプロジェクトを作成します。

コード作成

コードエディタに下記のコードを貼り付けて保存します。
処理の内容はコード内のコメントを参照してください。
メールの宛先はご自身のケースに合わせて設定してください。

タイムゾーン設定

次に、タイムゾーンを設定します。
「appsscript.json」マニフェストファイルをエディタで表示するにチェックを入れます。

appsscript.jsonにて、タイムゾーンを「Asia/Tokyo」に設定して保存します。

動作確認

本スクリプトは前回のメールを複製する仕様のため、初回は手動でメールを作成する必要があります。
このとき、件名を「進捗報告」にし、宛先に自分のメールアドレスを設定し、本文に任意の内容を書いて送信しておきます。

初回のメールを送信したら、実行ボタンを押して下書きが作成されるか確認します。

初回実行時はGoogleアカウントへのアクセスを許可するか聞かれるので、権限を確認ボタンを押下します。

自分のアカウントを選択します。

許可を押下します。

実行ログが表示されます。

もしエラーメッセージが出た場合は内容を読んで解決してください。
エラーなく実行できれば下書きが作成されます。

作成された下書きの内容が下記の通りであることを確認します。

  • 件名に今日の日付が入っていること
  • 宛先が指定したものであること
  • 本文が前回のメールと同じであること

自動実行の設定

次に、スクリプトの自動実行の設定をします。
右端の時計アイコンをクリックし、トリガーを追加ボタンを押下します。

毎日午前7~8時に実行する設定を以下に示します。
ご自身の都合に合わせて設定してください。

あとは設定した時刻になると、下書きが作成されるはずです。
実行ログは左端の下記アイコンをクリックして確認してください。
(下記は実行時刻を午前6時~7時とした場合のログです)

おわりに

もともとちょっとした作業ではありますが、進捗報告を書く頃は一日の疲れが溜まっているので、下書きを準備する手間が減っただけでも自動化してよかったと感じています。

ご興味のある方は、ご自身のケースに合わせてカスタマイズして頂ければと思います。
なお、ご利用は自己責任にてお願い致します。