РЕДАКТИРОВАТЬ ОБНОВЛЕННЫЙ ОТВЕТ:
Я посмотрел на ваш сценарий более внимательно. Он использует другую функцию под названием createDraft()
. На самом деле это не отправка писем, а создание черновиков, которые вы можете отправить позже. Нет проблем. Вот документация для createDraft . createDraft также может использовать «htmlBody» в качестве параметра замены для тела сообщения. Вот что мы сделаем ...
В коде вашего скрипта измените это:
// Create the email draft
GmailApp.createDraft(
config[emailField], // Recipient
emailSubjectUpdated, // Subject
emailBody // Body
);
на следующее:
// Create the email draft
GmailApp.createDraft({
to: config[emailField], // Recipient
subject: emailSubjectUpdated, // Subject
htmlBody : emailBody // Body
});
Пока ваш "emailBody" "переменное содержимое находится в html, черновик вашей электронной почты должен быть сохранен как html инструмент.
Но есть минус. Преобразовать документ Google в чистый файл HTML нетривиально без дополнительных внешних библиотек. Одним из решений является просто для go Документа Google, и создать настоящий html файл внутри вашего скрипта, и использовать его в качестве переменной emailBody. ПРИМЕР ЗДЕСЬ реализация этого решения.
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Сценарий, на который вы ссылались, не включал функцию фактической отправки почты. Я написал сценарий go (для электронной таблицы), который автоматически создает электронную почту на основе строк электронной таблицы, и электронная почта состоит из "rich" html.
Вот отправка почты function:
function sendEmail(to,sub,mes) {
var t = "";
var s = "";
var m = "";
sub == null || sub == undefined || sub == "" ? s = "Subject Failed" : s = sub;
mes == null || mes == undefined || mes == "" ? m = "Message Failed!" : m = mes;
to == null || to == undefined || to == "" ? t = "defaultemail@gmail.com" : t = to;
MailApp.sendEmail({to: t, subject: s, htmlBody: m});
}
В этой функции я передаю несколько переменных (получатель "to", тема "sub" и тело сообщения "mes") и проверяю, что функция все еще работает даже если какая-либо из переменных по какой-то причине пуста. "Mes" - это мое тело сообщения, и это строка, написанная в html. Это все, как я пишу письмо. Вы можете значительно упростить это, если хотите (ниже я приведу упрощенную версию).
Важная часть - это последняя строка MailApp.sendEmail({to:t,subject:s,htmlBody: m});
ОПРЕДЕЛИТЬ ВНИМАНИЕ в часть " htmlBody ". Если функция sendEmail не имеет «htmlBody» в качестве имени свойства для вашего тела сообщения, она просто отправит его в виде простого текста. Скорее всего, вам просто нужно найти функцию, в которой есть функция «MailApp.sendEmail ()», и настроить ее так, чтобы она включала имя свойства «htmlBody» для вашего тела сообщения.
Вот эта упрощенная функция :
function sendEmail(recipient, sub, mes) {
MailApp.sendEmail({to: recipient, subject: sub, htmlBody: mes});
}
Чтобы прочитать обо всех параметрах отправки электронной почты с помощью скрипта Google Apps, прочитайте эту страницу .