Привет! Я использую пользовательскую форму, прикрепленную к скрипту приложений Google, для обработки формы
часть формы:
Таким образом, форма вызывает функцию processForm, которая вызывает formatMailBody, которая строит строку, которая раньше была телом почты
function processForm(e) {
var lock = LockService.getPublicLock();
lock.waitLock(30000);
try {
var requestID = record_data(e); // this function doesn't matter here
var mailData = e;
MailApp.sendEmail({
to: TO_ADDRESS, //Recipients emails
subject: 'blabla'
htmlBody: formatMailBody(requestID, mailData) // THE PROBLEM lie in this function
})
// return json success results
return ContentService
.createTextOutput(JSON.stringify({'result':'success', 'sampleMaterialReference':e['sampleMaterialReference'] }))
.setMimeType(ContentService.MimeType.JSON);
} catch(error) { // if error return this
Logger.log(error);
return ContentService
.createTextOutput(JSON.stringify({'result':'error', 'error': e}))
.setMimeType(ContentService.MimeType.JSON);
} finally { //release lock
lock.releaseLock();
}
}
function formatMailBody(id, obj) {
var result = 'construct the body of the email'
result+='<td bgcolor=\''+rowColor+'\'>'+obj["sampleType"]+'</td>'
Logger.log(obj);
Logger.log('<td bgcolor=\''+rowColor+'\'>'+obj["sampleType"]+'</td>');
return result;
}
результат Logger.log в форматеMailBody:
результат отправки почты:
Так что проблема здесь, которая находится в массиве почты тела, должна быть типом образца: тест, а не тип образца: t, какие-либо решения?