Google Apps Script でメールを生成して、それを指定日時に送信する
ネタ的には2つの処理の組み合わせで実現できます。
- 下書きフォルダ内のメールを指定日時以降にメール送信する。
- 送信したいメールを下書きフォルダに保存する。
まずは、指定日時にメール配送する処理から。これは以下の内容を参考にすれば実装できます。
Gmailで指定日時に送る ってのをGoogle Apps Scriptで書いた - きじとら
この方法では「送信したい日時を所定の書式で Subject に記載しておき、それを下書き保存しておく」という運用でメールの指定日時送信を実施します。
実際のメール送信処理は Google Apps Script で下書きフォルダを polling して実施します。
つぎに Google Apps Script で下書きフォルダにメール保存する方法。これはこちらの記事が参考になります。
Google apps script でGmailの下書き(draft)をつくるライブラリ - Qiita
この2つを組み合わせることで、Google Apps Script で生成したメールを指定日時以降に配信することが可能になるわけですね。
さて、これの利用例ですが、自分のところでは「オフィスの最終退出時の確認事項を Google Form で記録し、その内容を翌営業日の最初の出勤者に申し送りする」仕組みを作っているのですが、ここに対して「申し送りを翌営業日の出社時刻直前にメール通知する」ように実装してみようかと考えております。
現在の流れでは、こんな感じで実装しています。
- Google Form で退出時確認項目をチェックして送信
- 再編集用のURLを Google Apps Script で社内向けに即時メール送信
- 翌営業日の最初の出勤者が、再編集用のURLから内容を再確認して上書き送信。
これの問題点は、再編集用のURLの通知が退出時刻に行われるため、土日や長期休みを挟んだ場合に面倒くさいわけですね。
ならば翌営業日の朝に再編集用のURLを通知できないかと考えたわけです。