Это довольно просто, все, что вам нужно сделать, это получить все идентификаторы сообщений в массиве, а затем использовать следующие две строки.
var request={"ids":messageIdArray};
Gmail.Users.Messages.batchDelete(request, "me");
Вам нужно будет включить Advanced Gmail API
batchDelete
Итак, если остальная часть вашего кода действительно работает, это должно сработать:
var GMAIL_LABEL = "mylabel";
var PURGE_AFTER = "21";
function purgeGmail() {
var age = new Date();
age.setDate(age.getDate() - PURGE_AFTER);
var purge = Utilities.formatDate(age, Session.getTimeZone(), "yyyy-MM-dd");
var search = "label:" + GMAIL_LABEL + " before:" + purge;
try {
var msgA=[];
for (var i=0; i<threads.length; i++) {
var messages = GmailApp.getMessagesForThread(threads[i]);
for (var j=0; j<messages.length; j++) {
var email = messages[j];
if (email.getDate() < age) {
msgA.push(email.getId());
}
}
}
} catch (e) {}
}