Có cách nào để gửi phản hồi tự động Gmail vào những thời điểm nhất định mỗi tuần không?


9

Tôi có một tài khoản Gmail mà nó chỉ được theo dõi từ thứ Hai đến thứ Năm. Tôi muốn thiết lập một cái gì đó để tự động gửi trả lời đóng hộp cho các email nhận được từ chiều thứ năm đến sáng thứ hai thông báo cho người gửi rằng email sẽ không được nhìn thấy cho đến sáng thứ hai và cung cấp thông tin liên hệ khẩn cấp.

Tôi không nghĩ rằng điều này có thể được thực hiện trực tiếp trong Gmail ngay bây giờ. (Trả lời kỳ nghỉ cần được bật và tắt thủ công và các bộ lọc cho email đóng hộp không bao gồm bất kỳ tùy chọn ngày / giờ nào.) Tôi có thể đặt trả lời "ngoài văn phòng" cho Gmail mỗi tuần không? cũng gợi ý rằng điều này là có thể trong Gmail, ít nhất là tại thời điểm của câu hỏi đó.

Có bất kỳ công việc xung quanh hoặc cách để thực hiện một số mã hóa đơn giản để thực hiện điều này? Tôi có nền tảng phát triển phần mềm, nhưng tôi không biết những tùy chọn nào (nếu có) có sẵn cho công chúng để mở rộng Gmail.



Hãy nhìn vào Boomerang. Dễ sử dụng hơn.
Alex

Theo mô tả của nó, nó dường như không thực sự làm những gì tôi đã hỏi về
PurpleVermont 23/2/2016

Câu trả lời:


8

Đây là một Script ứng dụng thực hiện điều này. Bạn có thể nhấp vào liên kết bắt đầu tập lệnh này để mở trình chỉnh sửa tập lệnh trong Google Drive. Sau đó:

  1. Thay thế trình giữ chỗ trong trình chỉnh sửa bằng tập lệnh được đưa ra dưới đây.
  2. Chuyển đến "Tài nguyên> Trình kích hoạt của dự án này" và đặt trình kích hoạt để chạy tự động sau mỗi 5 phút.

Logic của kịch bản được giải thích dưới đây.

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

Kịch bản chỉ làm một cái gì đó nếu ngày / giờ địa phương hiện tại là

  • Thứ Sáu, Thứ Bảy, Chủ Nhật (ngày 5,6,0 trong phần [5,6,0].indexOf(day)), hoặc
  • Thứ Hai trước 8 giờ sáng (ngày 1, giờ <8)
  • Thứ năm sau 5 giờ chiều (ngày 4, giờ> = 17)

Những gì nó làm là kiểm tra tất cả các tin nhắn nhận được trong 5 phút cuối ( interval trong kịch bản) và trả lời từng tin nhắn với một văn bản đóng hộp.

Điều quan trọng là hai khoảng thời gian khớp nhau: khoảng thời gian kích hoạt được đặt và một khoảng thời gian được đặt trong tập lệnh. Nếu không, tập lệnh sẽ không trả lời một số tin nhắn hoặc sẽ trả lời nhiều lần.

Nhận xét

Bạn có thể cố gắng chạy này mỗi phút thay vì cứ sau 5 phút; nhưng tôi không chắc liệu điều này có vượt quá thời gian chạy tối đa được phép cho các tập lệnh trong một ngày không (tổng thời gian chạy 1 giờ).

Tôi đã xem xét các hình thức tinh vi hơn về điều này: với việc thêm nhãn "tự động trả lời" hoặc lưu trữ thời gian chạy lần cuối trong ScriptProperives . Nhưng ở trên có được công việc được thực hiện, và chiến thắng trong sự đơn giản.


Tôi sẽ đề xuất một cái gì đó như ifttt.com nhưng cách này tốt hơn!
barrycarter

Cảm ơn câu trả lời này. Tôi chưa có cơ hội chơi với nó, nhưng giả sử nó hoạt động khi tôi thử nó, tôi sẽ chấp nhận câu trả lời.
PurpleVermont

lưu ý rằng mục menu Triggers đã được chuyển sang menu Chỉnh sửa
userSteve 27/07/18

4

Kịch bản trong câu trả lời của user79865 thực sự tuyệt vời! Tuy nhiên, tôi đã thông báo rằng khi tôi gửi một tin nhắn kiểm tra ngoài giờ hành chính, tôi cứ trả lời bản thân cứ sau 5 phút cho đến khi nó trở thành giờ làm việc của tôi một lần nữa. Để khắc phục sự cố mà tôi đã chỉnh sửa tập lệnh một chút, thêm một câu lệnh if vào vòng lặp for gửi phản hồi:

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

Phản hồi bây giờ sẽ đánh dấu một chủ đề là đã đọc sau khi nó gửi trả lời và sẽ bỏ qua tất cả các chủ đề chưa đọc. Để theo dõi email nào được gửi trong khi tôi ra khỏi văn phòng, người trả lời cũng đánh dấu chủ đề là quan trọng, vì vậy tôi vẫn biết gửi thư trả lời thực sự!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.