ฉันสามารถตั้งค่าการตอบกลับ Gmail“ ไม่อยู่ที่ทำงาน” สำหรับการเกิดขึ้นทุกสัปดาห์ได้หรือไม่?


11

ฉันทำงานเฉพาะวันจันทร์ถึงวันพุธ ฉันต้องการตั้งค่าดังนั้นเมื่อลูกค้าส่งอีเมลฉันในวันนี้ทุกสัปดาห์พวกเขาจะได้รับการแจ้งเตือนที่เป็นมิตร ฉันจะทำสิ่งนี้ได้อย่างไร ดูเหมือนว่าฉันจะต้องทำด้วยตนเองทุกสัปดาห์จากรูปลักษณ์ของมัน


คำถามไม่ได้แสดงความพยายามในการวิจัยใด ๆ กรุณาชำระเงินวิธีการขอ
Rubén

คำตอบ:


6

ฉันปรับคำตอบของฉันเป็นคำถามที่คล้ายกับสถานการณ์ของคุณ นี้สคริปต์ปพลิเคชันจะตอบถ้าวันที่ปัจจุบันเป็นหนึ่งในวันพฤหัสบดี (4) วันศุกร์ (5) วันเสาร์ (6) หรือวันอาทิตย์ (0) ชุดของวันสามารถปรับได้ตามที่ระบุไว้ด้านล่าง

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);
    }
  }
}

5

ฉันคิดว่าคุณถูกต้อง ฉันเห็นวิธีเพิ่มวันที่เริ่มต้นและวันที่สิ้นสุดเท่านั้น คุณจะไม่สามารถทำสิ่งนี้กับ Gmail เพียงอย่างเดียวโดยอัตโนมัติ คุณต้องการเครื่องมือภายนอกโดยสมมติว่ามีคนสร้างสิ่งนี้ขึ้นมา แต่บางคนที่มีทักษะด้วย Google Apps Script อาจสามารถสร้างบางสิ่งได้

สำหรับสิ่งที่มีค่า Outlook ไม่ยอมให้คุณทำสิ่งนี้

ที่ดีที่สุดกับ Gmail คุณสามารถใช้การตอบกลับอัตโนมัติในช่วงวันหยุดเพื่อส่งข้อความถึงใครก็ได้ทุกวัน มันค่อนข้างฉลาดที่จะไม่ส่งข้อความหลายครั้งหากคุณได้รับหลายข้อความจากบุคคลเดียว


1

ฉันเขียนเวอร์ชันที่อัปเดตแล้วเปรียบเทียบกับของผู้ใช้ 79865 เพิ่มป้ายกำกับสำหรับอีเมลที่ตอบกลับแทนที่จะใช้เวลาจะมีความแม่นยำมากขึ้น

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

ฉันได้รวม 2 สคริปต์เพื่อรับเวอร์ชันกับป้ายกำกับของ linjunhalida แต่สามารถเลือกวันแทนที่จะใส่วันที่เช่นในสคริปต์ของ 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

หลังจากใช้ไปสักพักก็มี gotchas และการปรับปรุงอื่น ๆ อีกสองสามอย่างที่คุณอาจต้องการดู:

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]);
      }
    }
  }
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.