GmailDraft.update
заменяет все текущее содержимое черновика , как указано в официальной документации . Вы должны установить все заново (тема, содержание, получатель, cc, b cc и т. Д. 1024 *.).
Так что, если вы просто хотите добавить к содержанию сообщение «Это сообщение было проверено» и хотите сохранить все остальное как есть, вы должны сначала получить данные о текущем черновике, а затем добавить все вы хотите эти данные, и, наконец, обновить черновик с добавленными данными.
Вы можете сделать что-нибудь по следующим направлениям:
function dlpValidate(e) {
var toEmails = e.draftMetadata.toRecipients,
ccEmails = e.draftMetadata.ccRecipients,
bccEmails = e.draftMetadata.bccRecipients,
domains = [],
uniqueDomains = [];
var allEmails = toEmails.concat(ccEmails, bccEmails);
for (var i = 0; i < allEmails.length; i++) {
domains[i] = allEmails[i].split("@").pop().split(".")[0];
}
uniqueDomains = domains.filter(listUnique);
if(uniqueDomains.length == 1 || (uniqueDomains.length <= 2 && uniqueDomains.indexOf("verasafe") != -1)) {
var draft = GmailApp.getDrafts()[0];
var message = draft.getMessage();
var subject = message.getSubject();
var content = message.getBody();
// Append "This Message has been verified" to the current draft body
content = content.concat("<div>This Message has been verified</div>");
var options = { // Set cc, bcc and body for the updated draft
bcc: bccEmails.join(","),
cc: ccEmails.join(","),
htmlBody: content
}
draft.update(toEmails, subject, content, options); // Update draft
return [notifyYes(uniqueDomains)];
}
}
Ссылка
Надеюсь, это поможет.