pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


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 で記録し、その内容を翌営業日の最初の出勤者に申し送りする」仕組みを作っているのですが、ここに対して「申し送りを翌営業日の出社時刻直前にメール通知する」ように実装してみようかと考えております。

現在の流れでは、こんな感じで実装しています。

  1. Google Form で退出時確認項目をチェックして送信
  2. 再編集用のURLを Google Apps Script で社内向けに即時メール送信
  3. 翌営業日の最初の出勤者が、再編集用のURLから内容を再確認して上書き送信。

これの問題点は、再編集用のURLの通知が退出時刻に行われるため、土日や長期休みを挟んだ場合に面倒くさいわけですね。

ならば翌営業日の朝に再編集用のURLを通知できないかと考えたわけです。