2016-05-10 2 views
0

У меня есть следующий HTML-файл:HTML сообщение электронной почты выходит как «HtmlOutput»

<html> 
    <head> 
    <script type="application/ld+json"> 
    { 
     "@context":  "http://schema.org", 
     "@type":   "EmailMessage", 
     "description": "Click to view request details", 
     "potentialAction": { 
     "@type": "ViewAction", 
     "target": "<?= detailsurl ?>", 
     "name": "View request details" 
     } 
    } 
    </script> 
    </head> 
    <body> 
    <p> 
     <?= emailbody ?> 
    </p> 
    </body> 
</html> 

и следующую функцию в моем сценарии:

function SendRichEmail(ToEmail,EmailSubject,detailsurl,emailbody) { 
    var templatefile = HtmlService.createTemplateFromFile('mail_template.html'); 
    Logger.log(templatefile); 
    templatefile.detailsurl = detailsurl; 
    templatefile.emailbody = emailbody; 
    Logger.log(templatefile); 
    htmlBody = templatefile.evaluate(); 
    Logger.log(htmlBody); 

    MailApp.sendEmail({ 
    to: ToEmail, 
    subject: EmailSubject, 
    htmlBody: htmlBody, 
    name: "Support", 
    noReply: true 
    }); 
} 

Но когда его вызвали, электронная почта я получаю это просто строка "HTMLOutput", и когда я проверить журнал я получаю это:

[16-05-10 11: 46: 02: 727 EAT] {}

[16-05-10 11: 46: 02: 728 EAT] {detailsurl = http://www.correcturl.com/, emailbody = йада болтовня

[16-05-10 11: 46: 02: 734 EAT] HtmlOutput

Я в тупике. Я предполагаю, что проблема заключается в чтении или оценке шаблона, но я не могу его точно определить. Цените помощь.

ответ

1

Как я и предполагал, это был глупый недосмотр. Я передавал объект вместо строки. Решаемые изменения следующей строки:

htmlBody = templatefile.evaluate(); 

к этому:

htmlBody = templatefile.evaluate().getContent(); 

Теперь он отлично работает.

Смежные вопросы