0

我正在尝试根据电子表格中的值构建一个 HTML 报告,如下所示:


Ereigniszeilen += EreignisVorlage 
          .replace("<ZeileNr>", BerichtZaehler)
          .replace("<KindName>", AlleEintraege[j][ColumnNameKind-1])
          .replace("<LeistungsArt>", LeistungsArt)
          .replace("<Datum>", DatumLeistung)
          .replace("<CheckIn>", CheckIn)
          .replace("<CheckOut>", CheckOut)
          .replace("<TotalStunden>", TotalStunden)
          .replace("<Bemerkung>", AlleEintraege[j][ColumnBemerkung-1]);


var AttachmentInhalt = AttachmentVorlage.replace("<EVENTS>", Ereigniszeilen);
var AttachmentInhalt = AttachmentVorlage
   .replace("<BerichtsDatum>", BerichtsDatumFormatiert)
   .replace("<EVENTS>", Ereigniszeilen); 

var Bericht = [{fileName:"Bericht-Rapport.html", content: AttachmentInhalt}]

然后通过电子邮件发送:


MailApp.sendEmail("heinz.ruffieux@tfv-lac.org", TitelMitKind, "", //Versand des Emails
          {htmlBody: "Guten Tag liebe Eltern,<br> Bonjour chers Parents, <br><br> \
          Beiliegend senden wir Ihnen den wöchentlichen Bericht für die Betreuungsleistungen für <b>" 
          +KindName +" von " +StartDatumFormatiert +" bis " +EndDatumFormatiert +"</b>.<br><br> \
          Nous vous envoyons ci-desous le rapport heptomadaire sur les services d'accueil du <b>" 
          +KindName + " du " +StartDatumFormatiert +" au " +EndDatumFormatiert +".</b><br><br>\
          Mit freundlichen Grüssen <br> \
          Meilleurs salutations <br><br> \
          Tagesfamilienverein des Seebezirks <br> \
          Association d'accueil familial de jour du district du Lac <br><br>" +ZusatztextDeutsch +"<br>" 
          +ZusatztextFranz, attachments: Bericht});

结果是一封带有一些文本的简单邮件和作为 HTML 附件的报告。此电子邮件仅发送给瑞士用户。

原则上,几个月以来一切都很好,但我确实在字符编码方面遇到了一些问题。电子表格(来源)包含无法正确显示的德语和法语特殊字符。尤其是在 iPhone 和一些 Windows IE9 系统上。在我自己的带有 Chrome 和 Firefox 的 Linux 系统上,一切看起来都很棒。

然而,到目前为止,上述电子邮件的 HTML 正文文本在每个系统上都能正确显示。

谁能帮助我如何在 Google Apps 脚本中应用正确的字符集?

非常感谢

亨氏

4

1 回答 1

0

我不是 HTML 专家,但我想你应该在你的 html 正文中建立一个标题来告诉浏览器(或电子邮件客户端应用程序)使用正确的字符集。您可以通过在 gmail 上手动向自己发送相同的消息(使用您最喜欢的邮件客户端应用程序)轻松地做到这一点,并分析消息的 html 内容以查看它是如何完成的?

只是一个建议;-)

编辑:(另一个建议;-)如果附件中出现问题,为什么不将其转换为 pdf 格式?DocsList 服务中有一个内置转换器。

   var docN = 'docname';
   var ID = 'ID you have get prior to this'
   var pdf = DocsList.getFileById(ID).getAs('application/pdf').getBytes();
   var attach = {fileName: docN+".pdf",content:pdf, mimeType:'application/pdf'};
   MailApp.sendEmail('email@xxx.com', 'Your document as PDF ('+docN+')', 'see attachment', {attachments:[attach]});
于 2012-06-23T12:53:58.603 回答