web-dev-qa-db-ja.com

毎週同じ時間にGmailを不在通知/自動返信する方法はありますか?

クライアントが時間外に私を煩わせるので、毎日手動で設定することなく、時間外に応答するようにしたいのです。

さらに問題を複雑にするために、金曜日の午後5時から月曜日の午前9時までに1つのメッセージを送信し、他のすべての平日は時間外に別のメッセージを送信します。

それ、どうやったら出来るの?

私はコーダーではないので、IFステートメントを複製して調整し(これが間違った用語であれば謝罪します)、それに合わせて調整しますか?

また、これはプレーンテキストの応答を送信すると考えるのは正しいでしょうか?標準のメール返信のように企業ロゴなどを表示するように、HTML応答を送信したいと思います。

2
CraigC

私自身の質問に対する私の答えは次のとおりです。

function autoReply() {
  var interval = 5;          //  if the script runs every 5 minutes; change otherwise
  var wkend = [6,0];   // 1=Mo, 2=Tu, 3=We, 4=Th, 5=Fr, 6=Sa, 0=Su
  var wkendMessage = "Hi, Thank you for contacting us. The office is now closed. All emails will be attended to when the office re-opens at 9:00am on Monday morning.";
  var wkdayMessage = "Hi, Thank you for contacting us. The office is now closed. All emails will be attended to when the office re-opens in the morning.";
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if (wkend.indexOf(day) > -1 || (day == 5 && hour >= 17)) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      threads[i].reply(wkendMessage);
    }
  }
  else if (hour < 9 || hour >= 17) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      threads[i].reply(wkdayMessage);
    }
  }
}

フッターに画像があるように出力をフォーマットするにはまだ助けが必要です:)

2
CraigC