Tôi đã nghĩ ra một cách để không sử dụng phản hồi đóng hộp như vậy (bao gồm cả response
trích dẫn được thêm vào trong địa chỉ email), mà chỉ đơn giản là chuyển tiếp phản hồi đóng hộp đến các email được lọc (người nhận). Đây là cách nó trông như thế nào:
Mã
function doGet(e) {
// retrieve Id's from canned response
var drafts = GmailApp.getDraftMessages();
for(var i in drafts) {
Logger.log(drafts[i].getId() + " " + drafts[i].getSubject());
}
// set canned response mail
var canned = GmailApp.getMessageById('1410f11ab42ca12d');
// get all messages
var eMails = GmailApp.getMessagesForThreads(
GmailApp.search("label:cannedresponse label:unread"))
.reduce(function(a, b) {return a.concat(b);})
.map(function(eMails) {
return eMails.getFrom()
});
// sort and filter for unique entries
var aEmails = eMails.sort().filter(function(el,j,a)
{if(j==a.indexOf(el))return 1;return 0});
// forward canned response
for(var j in aEmails) {
canned.forward(aEmails[j]);
}
// mark all as read
var threads = GmailApp.search("label:cannedresponse label:unread");
GmailApp.markThreadsRead(threads);
}
Giải thích
Các dòng đầu tiên là để xác định Id của phản hồi đóng hộp mà bạn muốn gửi đi. Các Logger
chức năng sẽ giúp đỡ để ghi lại tất cả draf Id của. Thêm một Id cụ thể này vào getMessageById(Id)
. Ba đoạn tiếp theo sẽ nhận được tất cả các thư chưa đọc từ cannedResponse
nhãn và xóa các bản sao.
Dựa trên các email có mặt, các phản hồi đóng hộp được chuyển tiếp đến những người nhận khác nhau. Sau đó, tất cả các email chưa đọc trong nhãn đóng hộpResponse được đánh dấu là đã đọc.
Sử dụng
Thêm mã bằng cách lướt tới URL sau: https://script.google.com .
Đảm bảo nhấn nút "bug" để xác thực tập lệnh và cách sử dụng. Kịch bản có thể được kích hoạt theo khoảng thời gian. Đặt kích hoạt trong Resources
menu, theo cách bạn muốn.
Trong trường hợp này, có một số điều kiện tiên quyết. Bạn cần phải có một nhãn được gọi cannedResponse
và có phản hồi đóng hộp như dự thảo. Hơn nữa, một bộ lọc cần phải được đặt ra, để gửi phản hồi đóng hộp.
Ảnh chụp màn hình