Сгенерированный HTML код не отображается должным образом в теле письма (Google App Script) - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь отправить электронное письмо, используя шаблон html, созданный в редакторе сценариев. Это мой код:

var template = HtmlService.createTemplateFromFile('emailTemplate');

// get some data from a Spreadsheet and format them in a html table (function getTable below)
var idCodes = idSheet.getSheets()[0].getRange(1, 1, numOfStudents, 2).getValues();
var idCodesTable = getTable(idCodes);

// set the template var
template.teacherName = teacher;
template.formUrl = formPublicUrl;
template.idCodes = idCodesTable;

var emailSubject = 'Questionario di autovalutazione delle competenze digitali (classe ' + classroom + section + ')';
var emailBody = template.evaluate().getContent();

// Send the email  
  MailApp.sendEmail({
    to: teacherMail,
    subject: emailSubject,
    htmlBody: emailBody,
  });
}

function getTable(data) {
var result = [];
var ll = data[0].length;
var row = 0;
for(var i = 0, l = data.length; i < l; i++) {
    row = data[i];
    result.push("<tr>");
    for(var ii = 0; ii < ll; ii++){
        result.push('<td>' + row[ii] + '</td>');
    }
    result.push("</tr>");
}
return result.join('\n');

}

Пришло электронное письмо, html в шаблоне отображается правильно, но не таблица (тег html виден, как вы можете видеть на скриншоте).

Что я делаю не так?

Это файл, который я использую для создания шаблона:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h2>Il questionario per la tua classe è pronto!</h2>
    <p>Gentile <?= teacherName ?>,</p>
    <p>il questionario per i tuoi studenti è pronto e disponibile a questo indirizzo:</p>
    <p><?= formUrl ?></p>
    <p>Condividi con loro questo collegamento e assegna a ciascun studente uno dei seguenti codici identificativi:</p>
    <table><tr><th>N.</th><th>Codice</th></tr><?= idCodes ?></table>
    <p>Ricordati quali codici hai associato ai tuoi studenti (un buon metodo potrebbe essere assegnare i codici in base al numero dello studente in elenco di classe). Riceverai un report delle risposte dopo che <strong>tutti</strong> i tuoi studenti avranno risposto al questionario</p>
    <p>Per assistenza puoi scrivere all'indirizzo INSERISCI MAIL DI ASSISTENZA</p>
  </body>
</html>

Я попытался записать всю таблицу теги в функции getTable, но это ничего не меняет, все, что выходит из этой функции, не анализируется в электронном письме, даже если код html правильный. Спасибо за любую помощь, которую вы можете оказать.

Снимок экрана сгенерированного электронного письма

Все html табличный тег, сгенерированный функцией getTable (без заголовков)

1 Ответ

2 голосов
/ 02 марта 2020

Я нашел решение с использованием принудительной печати скриптов в документе html, например:

 <table><tr><th>N.</th><th>Codice</th></tr><**?!=** idCodes ?></table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...