Kann ich Google Mail-Antworten für jede wiederkehrende Woche auf Abwesenheit einstellen?


10

Ich arbeite nur von Montag bis Mittwoch. Ich möchte es so einrichten, dass Kunden, die mir an diesen Tagen jede Woche eine E-Mail senden, eine freundliche Erinnerung erhalten. Wie kann ich das machen? Es sieht so aus, als müsste ich es jede Woche manuell machen, so wie es aussieht.


Die Frage zeigt keinen Forschungsaufwand. Bitte überprüfen Sie, wie man fragt .
Rubén

Antworten:


6

Ich habe meine Antwort auf eine ähnliche Frage an Ihre Situation angepasst . Dieses Apps-Skript antwortet, wenn der aktuelle Tag Donnerstag (4), Freitag (5), Samstag (6) oder Sonntag (0) ist. Die Anzahl der Tage kann wie unten angegeben angepasst werden.

function autoReply() {
  var interval = 5;          //  if the script runs every 5 minutes; change otherwise
  var daysOff = [4,5,6,0];   // 1=Mo, 2=Tu, 3=We, 4=Th, 5=Fr, 6=Sa, 0=Su
  var message = "This is my day off.";
  var date = new Date();
  var day = date.getDay();
  if (daysOff.indexOf(day) > -1) {
    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(message);
    }
  }
}

4

Ich denke du hast recht; Ich sehe nur eine Möglichkeit, ein Startdatum und ein optionales Enddatum hinzuzufügen. Sie können dies nicht allein mit Google Mail automatisieren. Sie benötigen ein externes Tool, vorausgesetzt, jemand hat so etwas erstellt. Jemand, der mit Google Apps Script vertraut ist, kann möglicherweise etwas erstellen.

In Outlook können Sie so etwas auch nicht tun.

Mit Google Mail können Sie bestenfalls den Urlaubs-Auto-Responder verwenden, um an jedem Tag eine Nachricht an jeden zu senden. Es ist ziemlich klug, dass die Nachricht nicht mehrmals gesendet wird, wenn Sie mehrere Nachrichten von einer Person erhalten.


1

Ich habe eine aktualisierte Version im Vergleich zu user79865 geschrieben. Fügen Sie ein Etikett für beantwortete E-Mails hinzu, anstatt Zeit zu verwenden. Dies wird genauer sein.

function autoReply() {
  var scheduled_date = [
    '2016-12-19', '2016-12-20',
  ];
  var auto_reply = "I am out of office. Your email will not seen until Monday morning.";

  var now = new Date();
  var today = now.toISOString().slice(0, 10); // today format: '2017-01-01'

  var label = GmailApp.getUserLabelByName('auto-replyed') || GmailApp.createLabel('auto-replyed');

  // today is the scheduled date
  if (scheduled_date.indexOf(today) >= 0) { 
    // get all email inbox, unread, without label auto-replyed
    var threads = GmailApp.search('is:unread is:inbox -{label:auto-replyed}');
    for (var i = 0; i < threads.length; i++) {
      var thread = threads[i]
      // reply the email and add auto-replyed label
      thread.reply(auto_reply);
      thread.addLabel(label);
    }
  }
}

0

Ich habe die beiden Skripte kombiniert, um eine Version mit den Beschriftungen von Linjunhalida zu erhalten, kann aber einen Tag auswählen, anstatt Daten einzugeben, wie im Skript von user79865:

function autoReply() {
  var scheduled_date = [
    '2019-09-20', '2019-09-27',
  ];
  var auto_reply = "I am out of office today. I'll get back to you as soon as possible next week.";

  var now = new Date();
  var today = now.toISOString().slice(0, 10); // today format: '2017-01-01'

  var label = GmailApp.getUserLabelByName('auto-replyed') || GmailApp.createLabel('auto-replyed');

  // today is the scheduled date
  if (scheduled_date.indexOf(today) >= 0) { 
    // get all email inbox, unread, without label auto-replyed
    var threads = GmailApp.search('is:unread is:inbox -{label:auto-replyed}');
    for (var i = 0; i < threads.length; i++) {
      var thread = threads[i]
      // reply the email and add auto-replyed label
      thread.reply(auto_reply);
      thread.addLabel(label);
    }
  }
}

0

Nachdem Sie dies eine Weile verwendet haben, gibt es noch einige andere Fallstricke und Verbesserungen, die Sie sich ansehen sollten:

function autoReply() {
  var interval = 5;        //  if the script runs every 5 minutes; change otherwise
  var daysOff = [1,5,6,0];   // 1=Mo, 2=Tu, 3=We, 4=Th, 5=Fr, 6=Sa, 0=Su
  var date = new Date();
  var day = date.getDay();
  var label = GmailApp.getUserLabelByName("autoresponded");
  if (daysOff.indexOf(day) > -1) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox !label:autoresponded after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      var message = threads[i].getMessages()[0];
      if (message.getFrom().indexOf("myemail@gmail.com") < 0 && message.getFrom().indexOf("no-repl") < 0 && message.getFrom().indexOf("bounce") < 0 && message.getFrom().indexOf("spam") < 0) {
        threads[i].reply("", {
          htmlBody: "<p>Thank you for your message. I am not in the office today. If you have urgent questions you can email office@example.com. If you have other urgent enquiries you can call the office on 1800 999 002.</p><p>Best regards,<br>Name</p>"
        });
        label.addToThread(threads[i]);
      }
    }
  }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.