มีวิธีใดที่จะส่งการตอบกลับอัตโนมัติของ Gmail ในบางช่วงเวลาทุกสัปดาห์?


9

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

ฉันไม่คิดว่าสามารถทำสิ่งนี้ได้โดยตรงใน Gmail ในขณะนี้ (ตอบกลับวันหยุดจะต้องเปิดและปิดด้วยตนเองและตัวกรองสำหรับอีเมลกระป๋องไม่รวมตัวเลือกวันที่ / เวลา) ฉันสามารถตั้งค่าการตอบกลับ Gmail "ไม่อยู่ที่สำนักงาน" สำหรับทุกสัปดาห์ที่เกิดขึ้นได้หรือไม่? ยังชี้ให้เห็นว่านี่เป็นไปได้ใน Gmail อย่างน้อยก็ตอนที่คำถามนั้น

มีวิธีแก้ไขปัญหาหรือวิธีในการเขียนโค้ดเพื่อทำสิ่งนี้หรือไม่? ฉันมีพื้นฐานการพัฒนาซอฟต์แวร์ แต่ฉันไม่ทราบว่าจะมีตัวเลือก (ถ้ามี) ใดบ้างสำหรับบุคคลทั่วไปเพื่อขยาย Gmail



ดูบูมเมอแรง ใช้งานง่ายขึ้น
อเล็กซ์

โดยคำอธิบายมันดูเหมือนจะไม่ได้ทำสิ่งที่ฉันถามเกี่ยวกับ
PurpleVermont

คำตอบ:


8

นี่คือสคริปต์แอปที่ทำสิ่งนี้ คุณสามารถคลิกที่ลิงค์สคริปต์เริ่มต้นนี้เพื่อเปิดตัวแก้ไขสคริปต์ใน Google ไดรฟ์ แล้ว:

  1. แทนที่ตัวยึดตำแหน่งในตัวแก้ไขด้วยสคริปต์ที่ระบุด้านล่าง
  2. ไปที่ "ทรัพยากร> ทริกเกอร์ของโครงการนี้" และตั้งค่าทริกเกอร์ให้เรียกใช้การตอบกลับอัตโนมัติทุก 5 นาที

ตรรกะของสคริปต์อธิบายไว้ด้านล่าง

function autoReply() {
  var interval = 5;    //  if the script runs every 5 minutes; change otherwise
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && 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("I am out of office. Your email will not seen until Monday morning.");
    }
  }
}

สคริปต์จะทำอะไรบางอย่างถ้าวัน / เวลาท้องถิ่นปัจจุบันคือ

  • วันศุกร์, เสาร์, อาทิตย์ (วันที่ 5,6,0 ในส่วน[5,6,0].indexOf(day)) หรือ
  • วันจันทร์ก่อน 8:00 น. (วันที่ 1, ชั่วโมง <8)
  • วันพฤหัสบดีหลังเวลา 17.00 น. (วันที่ 4, ชั่วโมง> = 17)

สิ่งที่ทำคือตรวจสอบข้อความทั้งหมดที่ได้รับในช่วง 5 นาทีที่ผ่านมา ( interval ในสคริปต์) และตอบกลับด้วยข้อความแบบกระป๋อง

เป็นสิ่งสำคัญที่ช่วงเวลาสองช่วงตรงกัน: ช่วงเวลาที่มีการตั้งค่าทริกเกอร์และช่วงเวลาหนึ่งในสคริปต์ มิฉะนั้นสคริปต์จะไม่สามารถตอบกลับข้อความบางข้อความหรือตอบกลับหลายครั้ง

หมายเหตุ

คุณสามารถลองใช้งานนี้ทุกนาทีแทนที่จะเป็นทุก ๆ 5 นาที แต่ฉันไม่แน่ใจว่าจะเกินเวลาทำงานสูงสุดที่อนุญาตให้กับสคริปต์เป็นเวลาหนึ่งวัน (เวลาทำงานทั้งหมด 1 ชั่วโมง)

ผมถือว่ารูปแบบที่มีความซับซ้อนมากกว่านี้ด้วยการเพิ่มป้ายกำกับ "ตอบกลับอัตโนมัติ" หรือที่มีการจัดเก็บเวลาของการทำงานที่ผ่านมาในScriptProperties แต่ข้างต้นทำให้งานเสร็จและชนะด้วยความเรียบง่าย


ฉันจะแนะนำบางอย่างเช่น ifttt.com แต่วิธีนี้ดีกว่า!
barrycarter

ขอบคุณสำหรับคำตอบนี้ ฉันไม่ได้มีโอกาสเล่นมัน แต่สมมติว่ามันใช้งานได้เมื่อฉันลองฉันจะยอมรับคำตอบแล้ว
PurpleVermont

โปรดทราบว่ารายการเมนูทริกเกอร์ได้ย้ายไปที่เมนูแก้ไข
userSteve

4

สคริปต์ในคำตอบของ user79865 นั้นยอดเยี่ยมมาก! อย่างไรก็ตามฉันสังเกตเห็นว่าเมื่อฉันส่งข้อความทดสอบนอกเวลาทำงานของฉันฉันจะตอบตัวเองทุก ๆ 5 นาทีจนกระทั่งมันกลายเป็นชั่วโมงทำงานของฉันอีกครั้ง เพื่อหลีกเลี่ยงปัญหาที่ฉันแก้ไขสคริปต์เล็กน้อยให้เพิ่มคำสั่ง if ใน for for loop เพื่อส่งการตอบกลับ:

function autoReply() {
var interval = 5;    //  if the script runs every 5 minutes; change otherwise
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && 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++) {
      if (threads[i].isUnread()){
      threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
      threads[i].markRead();
      threads[i].markImportant();
      }
    }
  }
}

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

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