отправлять почту с форматированными данными с помощью скрипта Google Apps - PullRequest
0 голосов
/ 20 мая 2019

Привет! Я использую пользовательскую форму, прикрепленную к скрипту приложений Google, для обработки формы

часть формы: part of the form

Таким образом, форма вызывает функцию 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: result of Logger.log in formatMailBody

результат отправки почты: result of mail send to somebody

Так что проблема здесь, которая находится в массиве почты тела, должна быть типом образца: тест, а не тип образца: t, какие-либо решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...