Dapatkah saya mengatur balasan "di luar kantor" Gmail untuk setiap minggu berulang?

10

Saya hanya bekerja Senin hingga Rabu. Saya ingin mengaturnya sehingga ketika klien mengirim email kepada saya pada hari-hari ini setiap minggu, mereka mendapatkan pengingat yang ramah. Bagaimana saya bisa melakukan ini? Sepertinya saya harus melakukannya secara manual setiap minggu dari kelihatannya.

Kyla Donkersgoed
sumber
Pertanyaannya tidak menunjukkan upaya penelitian apa pun. Silakan checkout Cara Meminta .
Rubén

Jawaban:

6

Saya menyesuaikan jawaban saya dengan pertanyaan serupa dengan situasi Anda. Script Aplikasi ini akan menjawab jika hari ini adalah Kamis (4), Jumat (5), Sabtu (6), atau Minggu (0). Set hari dapat disesuaikan seperti yang ditunjukkan di bawah ini.

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);
    }
  }
}
user79865
sumber
4

Saya pikir Anda benar; Saya hanya melihat cara untuk menambahkan tanggal mulai dan tanggal akhir opsional. Anda tidak akan dapat mengotomatisasi ini hanya dengan Gmail. Anda memerlukan beberapa alat eksternal, dengan asumsi seseorang telah menciptakan hal semacam itu. Seseorang dengan keahlian dengan Google Apps Script mungkin dapat membuat sesuatu.

Untuk apa nilainya, Outlook tidak membiarkan Anda melakukan hal semacam ini juga.

Paling-paling, dengan Gmail, Anda dapat menggunakan penjawab otomatis liburan untuk mengirim pesan kepada siapa pun pada hari apa pun. Cukup cerdas karena tidak akan mengirim pesan beberapa kali jika Anda menerima beberapa pesan dari satu orang.

bir
sumber
1

Saya sudah menulis versi yang diperbarui dibandingkan dengan user79865, tambahkan label untuk email balasan daripada menggunakan waktu, akan lebih akurat.

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);
    }
  }
}
linjunhalida
sumber
0

Saya telah menggabungkan 2 skrip untuk mendapatkan versi dengan label linjunhalida, tetapi dapat memilih hari daripada memasukkan tanggal, seperti dalam skrip 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);
    }
  }
}
Soraya
sumber
0

Setelah menggunakan ini sebentar, ada beberapa gotcha lainnya dan peningkatan yang mungkin ingin Anda lihat:

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("[email protected]") < 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 [email protected]. 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]);
      }
    }
  }
}
Yakub
sumber